1 19 20 package org.netbeans.modules.xml.wsdl.ui.wizard; 21 22 import java.util.HashSet ; 23 import java.util.Iterator ; 24 import java.util.Set ; 25 26 import javax.swing.event.ChangeEvent ; 27 import javax.swing.event.ChangeListener ; 28 29 import org.netbeans.modules.xml.wsdl.model.PortType; 30 import org.netbeans.modules.xml.wsdl.ui.actions.NameGenerator; 31 import org.netbeans.modules.xml.wsdl.ui.extensibility.model.WSDLExtensibilityElements; 32 import org.openide.WizardDescriptor; 33 import org.openide.WizardValidationException; 34 import org.openide.util.HelpCtx; 35 import org.openide.util.NbBundle; 36 37 38 public class CreateBindingFromPortTypeWizardPanel1 implements WizardDescriptor.ValidatingPanel, ChangeListener { 39 40 44 private CreateBindingFromPortTypeVisualPanel1 component; 45 46 47 48 private WizardDescriptor wiz = null; 49 50 private PortType mPortType = null; 51 52 private WSDLExtensibilityElements mElements; 53 54 public CreateBindingFromPortTypeWizardPanel1(PortType portType, WSDLExtensibilityElements elements) { 55 mPortType = portType; 56 mElements = elements; 57 } 58 59 public CreateBindingFromPortTypeVisualPanel1 getComponent() { 64 if (component == null) { 65 component = new CreateBindingFromPortTypeVisualPanel1(mPortType, mElements); 66 } 67 component.addChangeListener(this); 68 return component; 69 } 70 71 public HelpCtx getHelp() { 72 return HelpCtx.DEFAULT_HELP; 74 } 77 78 public boolean isValid() { 79 81 String errorMessage = getAnyErrors(); 82 wiz.putProperty ("WizardPanel_errorMessage", errorMessage); return errorMessage == null; 84 } 90 91 private String getAnyErrors() { 92 String errorMessage = null; 93 errorMessage = validateOperations(); 94 errorMessage = validateBindingName(); 95 return errorMessage; 96 } 97 98 private String validateBindingName() { 99 String bindingName = component.getBindingName(); 100 101 if (NameGenerator.getInstance().isBindingExists(bindingName, mPortType.getModel())) { 102 return NbBundle.getMessage(CreateBindingFromPortTypeWizardPanel1.class, "CreateBindingFromPortTypeWizardPanel1_BINDING_NAME_EXISTS", new Object [] {bindingName}); 103 } 104 return null; 105 106 } 107 108 private String validateOperations() { 109 110 Object [] operations = component.getSelectedOperations(); 111 if (operations == null || operations.length == 0) { 112 return NbBundle.getMessage(CreateBindingFromPortTypeWizardPanel1.class, "CreateBindingFromPortTypeWizardPanel1_SELECT_OPERATIONS"); 113 } 114 return null; 115 } 116 117 private final Set <ChangeListener > listeners = new HashSet <ChangeListener >(1); 118 public final void addChangeListener(ChangeListener l) { 119 synchronized (listeners) { 120 listeners.add(l); 121 } 122 } 123 public final void removeChangeListener(ChangeListener l) { 124 synchronized (listeners) { 125 listeners.remove(l); 126 } 127 } 128 protected final void fireChangeEvent() { 129 Iterator <ChangeListener > it; 130 synchronized (listeners) { 131 it = new HashSet <ChangeListener >(listeners).iterator(); 132 } 133 ChangeEvent ev = new ChangeEvent (this); 134 while (it.hasNext()) { 135 it.next().stateChanged(ev); 136 } 137 } 138 139 140 public void readSettings(Object settings) { 145 wiz = (WizardDescriptor) settings; 146 } 147 public void storeSettings(Object settings) { 148 if ( WizardDescriptor.PREVIOUS_OPTION.equals( ((WizardDescriptor)settings).getValue() ) ) { 149 return; 150 } 151 if (isValid()) { 152 ; 153 } 154 component.storeValues((WizardDescriptor) settings); 155 } 156 157 158 159 public void stateChanged(ChangeEvent e) { 160 isValid(); 161 162 } 163 164 public void validate() throws WizardValidationException { 165 String errorMessage = validateBindingName(); 166 if (errorMessage != null) { 167 throw new WizardValidationException(component.getBindingNameComponent(), errorMessage, errorMessage); 168 } 169 170 errorMessage = validateOperations(); 171 if (errorMessage != null) { 172 throw new WizardValidationException(component.getOperationsComponent(), errorMessage, errorMessage); 173 } 174 175 } 176 177 } 178 179 | Popular Tags |