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