001: package com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.diagram.providers;
002:
003: import java.util.ArrayList;
004: import java.util.List;
005:
006: import org.eclipse.core.runtime.Assert;
007: import org.eclipse.emf.common.notify.AdapterFactory;
008: import org.eclipse.emf.edit.provider.IItemPropertySource;
009: import org.eclipse.ui.views.properties.PropertyDescriptor;
010:
011: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.ConsumerCCSL;
012: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.Upoc;
013: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.UpocPostaccept;
014: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.UpocPostsend;
015: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.UpocPresend;
016:
017: public class UpocProviderUsePropertySource extends
018: ComponentFlowEditorBasicCompoundPropertySource {
019:
020: public static final String C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepresend = "c.ccsl.provider.upoc.usepresend";
021: public static final String C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostsend = "c.ccsl.provider.upoc.usepostsend";
022: public static final String C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostaccept = "c.ccsl.provider.upoc.usepostaccept";
023: //Category display keys
024: public static final String C_DISPLAY_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepresend = "Presend";
025: public static final String C_DISPLAY_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostsend = "Postsend";
026: public static final String C_DISPLAY_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostaccept = "Postaccept";
027:
028: UpocPresend upocPresend;
029: UpocPostsend upocPostsend;
030: UpocPostaccept upocPostaccept;
031:
032: IItemPropertySource UpocPresendItemProvider;
033: IItemPropertySource UpocPostsendItemProvider;
034: IItemPropertySource UpocPostacceptItemProvider;
035:
036: public UpocProviderUsePropertySource(Upoc object,
037: AdapterFactory adapterFactory) {
038: super (object, adapterFactory);
039: //Assert.isTrue(object instanceof CCSL);
040:
041: this .upocPresend = object.getPresend();
042: this .upocPostsend = object.getPostsend();
043: this .upocPostaccept = object.getPostaccept();
044:
045: this .UpocPresendItemProvider = getIItemPropertySourceAdapter(upocPresend);
046: this .UpocPostsendItemProvider = getIItemPropertySourceAdapter(upocPostsend);
047: this .UpocPostacceptItemProvider = getIItemPropertySourceAdapter(upocPostaccept);
048:
049: //add them and children
050: add(getIItemPropertySourceAdapter(object), object);
051: }
052:
053: protected List getSubLevelPropertyDescriptorList() {
054: List result = new ArrayList();
055: updateSubSourcesMap();
056: result.add(new PropertyDescriptor(
057: C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepresend,
058: C_DISPLAY_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepresend));
059: result
060: .add(new PropertyDescriptor(
061: C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostsend,
062: C_DISPLAY_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostsend));
063: result
064: .add(new PropertyDescriptor(
065: C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostaccept,
066: C_DISPLAY_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostaccept));
067:
068: return result;
069: }
070:
071: protected void updateSubSourcesMap() {
072: subSourcesMap.put(
073: C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepresend,
074: new ComponentFlowEditorBasicPropertySource(upocPresend,
075: UpocPresendItemProvider));
076: subSourcesMap.put(
077: C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostsend,
078: new ComponentFlowEditorBasicPropertySource(
079: upocPostsend, UpocPostsendItemProvider));
080: subSourcesMap.put(
081: C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostaccept,
082: new ComponentFlowEditorBasicPropertySource(
083: upocPostaccept, UpocPostacceptItemProvider));
084:
085: }
086:
087: /* (non-Javadoc)
088: * @see com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.diagram.providers.ComponentFlowEditorBasicCompoundPropertySource#getPropertyValue(java.lang.Object)
089: */
090: public Object getPropertyValue(Object id) {
091: if (id.equals(C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepresend)) {
092: Object obj = subSourcesMap
093: .get(C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepresend);
094: Assert
095: .isTrue(obj instanceof ComponentFlowEditorBasicPropertySource);
096: return obj;
097: } else if (id
098: .equals(C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostsend)) {
099: Object obj = subSourcesMap
100: .get(C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostsend);
101: Assert
102: .isTrue(obj instanceof ComponentFlowEditorBasicPropertySource);
103: return obj;
104: } else if (id
105: .equals(C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostaccept)) {
106: Object obj = subSourcesMap
107: .get(C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostaccept);
108: Assert
109: .isTrue(obj instanceof ComponentFlowEditorBasicPropertySource);
110: return obj;
111: }
112:
113: return super .getPropertyValue(id);
114: }
115:
116: /* (non-Javadoc)
117: * @see com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.diagram.providers.ComponentFlowEditorBasicCompoundPropertySource#isPropertySet(java.lang.Object)
118: */
119: public boolean isPropertySet(Object id) {
120: if (id.equals(C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepresend))
121: return true;
122: else if (id
123: .equals(C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostsend))
124: return true;
125: else if (id
126: .equals(C_WSDL_DOCUMENT_PROVIDER_CCSL_UPOC_usepostaccept))
127: return true;
128:
129: return super .isPropertySet(id);
130: }
131:
132: /* (non-Javadoc)
133: * @see java.lang.Object#toString()
134: */
135: public String toString() {
136: return "";
137: }
138: }
|