001: package com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.diagram.wizards;
002:
003: import org.eclipse.jface.wizard.IWizardPage;
004: import org.eclipse.swt.events.SelectionAdapter;
005: import org.eclipse.swt.events.SelectionEvent;
006: import org.eclipse.swt.widgets.Button;
007: import org.eclipse.swt.widgets.Composite;
008:
009: import com.bostechcorp.cbesb.common.i18n.I18N;
010: import com.bostechcorp.cbesb.common.i18n.Messages;
011: import com.bostechcorp.cbesb.common.util.custcomponent.ICustComponent;
012: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.Custom;
013: import com.bostechcorp.cbesb.ui.componentflow.componentFlowEditor.RoleType;
014:
015: public class CustomPropertyPageMain extends
016: BindingComponentWizardPageMain {
017:
018: private Custom custom;
019:
020: private ICustComponent curr;
021:
022: //public Label defaultmepLabel;
023:
024: //public Combo comboDefaultMep;
025:
026: protected CustomDynaPage[] dynaPages;
027:
028: protected IWizardPage nextPage;
029:
030: protected CustomDynaPage LdynaPages = null;
031:
032: protected CustomDynaPage lastConDynaPages = null;
033:
034: protected CustomDynaPage lastProDynaPages = null;
035:
036: protected CustomDynaPage firstConDynaPages = null;
037:
038: protected CustomDynaPage firstProDynaPages = null;
039:
040: protected String name_text = "Custom";
041:
042: protected CustomPropertyPageMain(String pageName, Custom custom) {
043: super (pageName);
044:
045: this .custom = custom;
046: setTitle(I18N.getString(Messages.CUSTOM_COM_WIZ));
047: setDescription(I18N.getString(Messages.WIZARD_ENTER_TIP));
048: this .name_text = "Custom";
049:
050: setNextPage(null);
051: }
052:
053: public Custom getCustom() {
054: return custom;
055: }
056:
057: public void setCustom(Custom custom) {
058: this .custom = custom;
059: }
060:
061: public void inforPass() {
062: if (custom.getName() != null) {
063: textName.setText(custom.getName());
064: } else {
065: textName.setText(custom.getType());
066: if (!this .getWizard().isUpdateOperation()) {
067: int num = WizardUtil.modelExistNum(this .getWizard()
068: .getModels());
069: if (num == 0) {
070: } else {
071: textName.setText(custom.getType() + "_" + num);
072: }
073: }
074: }
075:
076: if (custom.getDescription() != null)
077: textDescription.setText(custom.getDescription());
078: if (custom.getUseCCSL())
079: comboCCSL.setText("true");
080: else
081: comboCCSL.setText("false");
082:
083: if (custom.getRole().equals(RoleType.get(RoleType.CONSUMER))) {
084: buttonConsumer.setSelection(true);
085: buttonProvider.setSelection(false);
086: ButtonConsumerAndProvider.setSelection(false);
087: } else if (custom.getRole().equals(
088: RoleType.get(RoleType.PROVIDER))) {
089: buttonConsumer.setSelection(false);
090: buttonProvider.setSelection(true);
091: ButtonConsumerAndProvider.setSelection(false);
092: }
093:
094: else {
095: buttonConsumer.setSelection(false);
096: buttonProvider.setSelection(false);
097: ButtonConsumerAndProvider.setSelection(true);
098: }
099:
100: }
101:
102: public void addDynPages() {
103:
104: curr = custom.getCustomComponent();
105: if (curr == null) {
106: curr = ((CustomPropertyWizard) getWizard())
107: .getClassLoader().getComponentInstance(
108: custom.getType());
109:
110: custom.setCustomComponent(curr);
111: }
112: com.bostechcorp.cbesb.common.util.custcomponent.IWizardPage[] consumerWizardPages = null;
113: com.bostechcorp.cbesb.common.util.custcomponent.IWizardPage[] providerWizardPages = null;
114:
115: consumerWizardPages = curr
116: .getWizardPages(ICustComponent.Role.CONSUMER);
117: createProperties(consumerWizardPages, RoleType
118: .get(RoleType.CONSUMER));
119: providerWizardPages = curr
120: .getWizardPages(ICustComponent.Role.PROVIDER);
121: createProperties(providerWizardPages, RoleType
122: .get(RoleType.PROVIDER));
123:
124: if (custom.getRole().equals(RoleType.get(RoleType.CONSUMER))) {
125: if (this .getFirstConDynaPages() == null) {
126: this .setNextPage(getWizard().getCcslConsumerPage());
127: } else {
128: this .setNextPage(this .getFirstConDynaPages());
129: this .getLastConDynaPages().setNextPage(
130: getWizard().getCcslConsumerPage());
131: }
132: } else if (custom.getRole().equals(
133: RoleType.get(RoleType.PROVIDER))) {
134: if (this .getFirstProDynaPages() == null) {
135: this .setNextPage(getWizard().getCcslProviderPage());
136: } else {
137: this .setNextPage(this .getFirstProDynaPages());
138: this .getLastProDynaPages().setNextPage(
139: getWizard().getCcslProviderPage());
140: }
141: } else {
142: if (this .getFirstConDynaPages() == null) {
143: if (this .getFirstProDynaPages() == null) {
144: this .setNextPage(getWizard().getCcslConsumerPage());
145: } else {
146: this .setNextPage(this .getFirstProDynaPages());
147: this .getLastProDynaPages().setNextPage(
148: getWizard().getCcslConsumerPage());
149: }
150: } else {
151: this .setNextPage(this .getFirstConDynaPages());
152: if (this .getFirstProDynaPages() != null) {
153: this .getLastConDynaPages().setNextPage(
154: this .getFirstProDynaPages());
155: } else {
156: this .getLastConDynaPages().setNextPage(
157: getWizard().getCcslConsumerPage());
158: }
159:
160: if (this .getLastProDynaPages() != null) {
161: this .getLastProDynaPages().setNextPage(
162: getWizard().getCcslConsumerPage());
163: }
164: }
165: }
166:
167: }
168:
169: public void createProperties(
170: com.bostechcorp.cbesb.common.util.custcomponent.IWizardPage[] wizardPages,
171: RoleType type) {
172: dynaPages = null;
173: int length = wizardPages.length;
174: if ((curr.getWizardPages(curr.getRole()) == null)
175: || (length < 1)) {
176: if (((CustomPropertyWizard) this .getWizard())
177: .isPureProvider())
178: setNextPage(getWizard().getCcslProviderPage());
179: else
180: setNextPage(getWizard().getCcslConsumerPage());
181: return;
182: }
183:
184: dynaPages = new CustomDynaPage[length];
185: for (int i = 0; i < length; i++) {
186:
187: if (i != 0) {
188: dynaPages[i] = new CustomDynaPage(custom, curr,
189: wizardPages[i], type, false);
190: dynaPages[i - 1].setNextPage(dynaPages[i]);
191: } else {
192:
193: if (type.equals(RoleType.get(RoleType.CONSUMER))) {
194: dynaPages[i] = new CustomDynaPage(custom, curr,
195: wizardPages[i], type, true);
196: this .setNextPage(dynaPages[i]);
197: setFirstConDynaPages(dynaPages[i]);
198: } else {
199: dynaPages[i] = new CustomDynaPage(custom, curr,
200: wizardPages[i], type, false);
201: if (getLastConDynaPages() == null)
202: this .setNextPage(dynaPages[i]);
203: else
204: getLastConDynaPages().setNextPage(dynaPages[i]);
205: setFirstProDynaPages(dynaPages[i]);
206: }
207: }
208:
209: if (i == length - 1) {
210: if (type.equals(RoleType.get(RoleType.CONSUMER)))
211: setLastConDynaPages(dynaPages[i]);
212: else
213: setLastProDynaPages(dynaPages[i]);
214: if (buttonProvider.getSelection())
215: dynaPages[i].setNextPage(getWizard()
216: .getCcslProviderPage());
217: else
218: dynaPages[i].setNextPage(getWizard()
219: .getCcslConsumerPage());
220: setLastDynaPages(dynaPages[i]);
221: }
222: getWizard().addPage(dynaPages[i]);
223: }
224:
225: }
226:
227: public void createControl(Composite parent) {
228:
229: super .createSubControl(parent, 2);
230:
231: comboCCSL.addSelectionListener(new SelectionAdapter() {
232: public void widgetSelected(SelectionEvent e) {
233: if (comboCCSL.getText().equalsIgnoreCase("false")) {
234: if (getLastDynaPages() == null) {
235: setNextPage(null);
236: setPageComplete(true);
237: } else
238: getLastDynaPages().setNextPage(null);
239: } else {
240: if (buttonProvider.getSelection()) {
241: if (getLastDynaPages() == null) {
242: setNextPage(getWizard()
243: .getCcslProviderPage());
244: setPageComplete(true);
245: } else
246: getLastDynaPages().setNextPage(
247: getWizard().getCcslProviderPage());
248: }
249:
250: else {
251: if (getLastDynaPages() == null) {
252: setNextPage(getWizard()
253: .getCcslConsumerPage());
254: setPageComplete(true);
255: } else
256: getLastDynaPages().setNextPage(
257: getWizard().getCcslConsumerPage());
258: }
259: }
260:
261: }
262: });
263:
264: buttonConsumer.addSelectionListener(new SelectionAdapter() {
265: public void widgetSelected(final SelectionEvent e) {
266:
267: if (getFirstConDynaPages() == null) {
268: if (comboCCSL.getText().equalsIgnoreCase("false"))
269: setNextPage(null);
270: else
271: setNextPage(getWizard().getCcslConsumerPage());
272: } else {
273: setLastDynaPages(getLastConDynaPages());
274: setNextPage(getFirstConDynaPages());
275: if (comboCCSL.getText().equalsIgnoreCase("false"))
276: getLastConDynaPages().setNextPage(null);
277: else
278: getLastConDynaPages().setNextPage(
279: getWizard().getCcslConsumerPage());
280: }
281:
282: }
283: });
284: buttonProvider.addSelectionListener(new SelectionAdapter() {
285: public void widgetSelected(final SelectionEvent e) {
286: if (getFirstProDynaPages() == null) {
287: if (comboCCSL.getText().equalsIgnoreCase("false"))
288: setNextPage(null);
289: else
290: setNextPage(getWizard().getCcslProviderPage());
291: } else {
292: setNextPage(getFirstProDynaPages());
293: setLastDynaPages(getLastProDynaPages());
294: if (comboCCSL.getText().equalsIgnoreCase("false"))
295: getLastProDynaPages().setNextPage(null);
296: else
297: getLastProDynaPages().setNextPage(
298: getWizard().getCcslProviderPage());
299: }
300:
301: }
302: });
303: ButtonConsumerAndProvider
304: .addSelectionListener(new SelectionAdapter() {
305: public void widgetSelected(final SelectionEvent e) {
306: if (getFirstConDynaPages() == null) {
307: if (getFirstProDynaPages() == null) {
308: if (comboCCSL.getText()
309: .equalsIgnoreCase("false"))
310: setNextPage(null);
311: else
312: setNextPage(getWizard()
313: .getCcslConsumerPage());
314: } else {
315:
316: if (comboCCSL.getText()
317: .equalsIgnoreCase("false"))
318: setNextPage(null);
319: else {
320: setNextPage(getFirstProDynaPages());
321: getLastProDynaPages()
322: .setNextPage(
323: getWizard()
324: .getCcslConsumerPage());
325: }
326: }
327:
328: } else {
329: setNextPage(getFirstConDynaPages());
330: setLastDynaPages(getLastProDynaPages());
331: getLastConDynaPages().setNextPage(
332: getFirstProDynaPages());
333: if (comboCCSL.getText().equalsIgnoreCase(
334: "false"))
335: getLastProDynaPages().setNextPage(null);
336: else
337: getLastProDynaPages().setNextPage(
338: getWizard()
339: .getCcslConsumerPage());
340: }
341:
342: }
343: });
344:
345: if ((this .getWizard().isUpdateOperation())
346: && (((CustomPropertyWizard) this .getWizard())
347: .hasComponentModel())) {
348: inforPass();
349: addDynPages();
350: }
351:
352: }
353:
354: public IWizardPage getNextPage() {
355:
356: return nextPage;
357: }
358:
359: public void setNextPage(IWizardPage nextPage) {
360: this .nextPage = nextPage;
361: }
362:
363: @Override
364: public void modelsToControl() {
365:
366: }
367:
368: public Button getButtonConsumerAndProvider() {
369: return ButtonConsumerAndProvider;
370: }
371:
372: @Override
373: boolean isConsumer() {
374: return buttonConsumer.getSelection()
375: || ButtonConsumerAndProvider.getSelection();
376: }
377:
378: @Override
379: boolean isProvider() {
380:
381: return buttonProvider.getSelection()
382: || ButtonConsumerAndProvider.getSelection();
383: }
384:
385: public CustomDynaPage getLastDynaPages() {
386: return LdynaPages;
387: }
388:
389: public void setLastDynaPages(CustomDynaPage dynaPages) {
390: this .LdynaPages = dynaPages;
391: }
392:
393: public CustomDynaPage getFirstConDynaPages() {
394: return firstConDynaPages;
395: }
396:
397: public void setFirstConDynaPages(CustomDynaPage firstConDynaPages) {
398: this .firstConDynaPages = firstConDynaPages;
399: }
400:
401: public CustomDynaPage getFirstProDynaPages() {
402: return firstProDynaPages;
403: }
404:
405: public void setFirstProDynaPages(CustomDynaPage firstProDynaPages) {
406: this .firstProDynaPages = firstProDynaPages;
407: }
408:
409: public CustomDynaPage getLastConDynaPages() {
410: return lastConDynaPages;
411: }
412:
413: public void setLastConDynaPages(CustomDynaPage lastConDynaPages) {
414: this .lastConDynaPages = lastConDynaPages;
415: }
416:
417: public CustomDynaPage getLastProDynaPages() {
418: return lastProDynaPages;
419: }
420:
421: public void setLastProDynaPages(CustomDynaPage lastProDynaPages) {
422: this .lastProDynaPages = lastProDynaPages;
423: }
424:
425: @Override
426: public String getComponentName() {
427: return "Custom";
428: }
429:
430: @Override
431: public String getConsumerEndpointName() {
432: return textName.getText() + "_Consumer";
433: }
434:
435: @Override
436: public String getProviderEndpointName() {
437: return textName.getText() + "_Provider";
438: }
439: }
|