diff options
2 files changed, 56 insertions, 31 deletions
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidget.java index 2173fe19e..e042aa599 100644 --- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidget.java +++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidget.java @@ -19,6 +19,7 @@ * 20060529 141422 kathy@ca.ibm.com - Kathy Chan * 20060612 145081 pmoogk@ca.ibm.com - Peter Moogk * 20060725 149351 makandre@ca.ibm.com - Andrew Mak, Deleted service definition keeps reappearing + * 20060803 152486 makandre@ca.ibm.com - Andrew Mak, Typing WSDL in Service definition field is very slow *******************************************************************************/ package org.eclipse.jst.ws.internal.consumption.ui.widgets; @@ -30,6 +31,7 @@ import org.eclipse.jst.ws.internal.consumption.common.WSDLParserFactory; import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages; import org.eclipse.jst.ws.internal.consumption.ui.command.data.EclipseIPath2URLStringTransformer; import org.eclipse.jst.ws.internal.consumption.ui.common.ValidationUtils; +import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.Timer; import org.eclipse.jst.ws.internal.consumption.ui.widgets.runtime.ClientRuntimeSelectionWidgetDefaultingCommand; import org.eclipse.jst.ws.internal.data.TypeRuntimeServer; import org.eclipse.jst.ws.internal.plugin.WebServicePlugin; @@ -42,6 +44,7 @@ import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Text; @@ -56,7 +59,7 @@ import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents; import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser; -public class ClientWizardWidget extends SimpleWidgetDataContributor +public class ClientWizardWidget extends SimpleWidgetDataContributor implements Runnable { private WebServiceClientTypeWidget clientWidget_; private Button overwriteButton_; @@ -88,6 +91,18 @@ public class ClientWizardWidget extends SimpleWidgetDataContributor /* CONTEXT_ID WSWSCEN0001 for the Scenario Page */ private String INFOPOP_WSWSCEN_PAGE = "WSWSCEN0001"; + /** + * Run this ClientWizardWidget, which validates the entry field values. + */ + public void run() { + validationState_ = ValidationUtils.VALIDATE_ALL; + statusListener_.handleEvent(null); + if (validObjectSelection_) + callObjectTransformation(wsdlValidatorWidget_.getProject(), + wsdlValidatorWidget_.getComponentName(), + wsdlValidatorWidget_.getWsdlURI()); + } + public WidgetDataEvents addControls( Composite parent, Listener statusListener) { String pluginId = "org.eclipse.jst.ws.consumption.ui"; @@ -104,12 +119,10 @@ public class ClientWizardWidget extends SimpleWidgetDataContributor objectModifyListener_ = new ModifyListener(){ public void modifyText(ModifyEvent e) { - validationState_ = ValidationUtils.VALIDATE_ALL; - statusListener_.handleEvent(null); - if (validObjectSelection_) - callObjectTransformation(wsdlValidatorWidget_.getProject(), - wsdlValidatorWidget_.getComponentName(), - wsdlValidatorWidget_.getWsdlURI()); + if (serviceImpl_.getText().indexOf(':') > 0) + Timer.newInstance(Display.getCurrent(), ClientWizardWidget.this).startTimer(); + else + run(); } }; diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidget.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidget.java index e4ee8d197..83c6a43d9 100644 --- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidget.java +++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidget.java @@ -37,6 +37,7 @@ * 20060616 147317 joan@ca.ibm.com - Joan Haggarty * 20060717 150577 makandre@ca.ibm.com - Andrew Mak * 20060726 150865 sengpl@ca.ibm.com - Seng Phung-Lu + * 20060803 152486 makandre@ca.ibm.com - Andrew Mak, Typing WSDL in Service definition field is very slow *******************************************************************************/ package org.eclipse.jst.ws.internal.creation.ui.widgets; @@ -60,6 +61,7 @@ import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.IObjectSelectio import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionOutputCommand; import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionRegistry; import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionWidget; +import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.Timer; import org.eclipse.jst.ws.internal.consumption.ui.widgets.runtime.ProjectSelectionWidget; import org.eclipse.jst.ws.internal.consumption.ui.wizard.RuntimeServerSelectionDialog; import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceImpl; @@ -111,7 +113,7 @@ import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents; import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser; import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario; -public class ServerWizardWidget extends SimpleWidgetDataContributor { +public class ServerWizardWidget extends SimpleWidgetDataContributor implements Runnable { //INFOPOPS /* CONTEXT_ID WSWSCEN0001 for the Scenario Page */ @@ -220,6 +222,35 @@ public class ServerWizardWidget extends SimpleWidgetDataContributor { private Composite serviceComposite_; + /** + * Run this ServerWizardWidget, which validates the entry field values. + */ + public void run() { + typedText_ = true; + + validationState_ = ValidationUtils.VALIDATE_ALL; + statusListener_.handleEvent(null); + + if (serviceImpl_.getText().trim().equals("")) + validObjectSelection_ = false; + + if (validObjectSelection_) + { + if (objectSelectionWidget_ instanceof IObjectSelectionLaunchable) + { + IObjectSelectionLaunchable launchable = (IObjectSelectionLaunchable)objectSelectionWidget_; + callObjectTransformation(launchable.getObjectSelection(), launchable.getProject(), launchable.getComponentName()); + } + else + { + IObjectSelectionWidget widget = (IObjectSelectionWidget)objectSelectionWidget_; + callObjectTransformation(widget.getObjectSelection(), widget.getProject(), widget.getComponentName()); + } + } + else + setObjectSelection(null); + } + public WidgetDataEvents addControls(Composite parent, Listener statusListener) { @@ -300,29 +331,10 @@ public class ServerWizardWidget extends SimpleWidgetDataContributor { objectModifyListener_ = new ModifyListener(){ public void modifyText(ModifyEvent e) { - typedText_ = true; - - validationState_ = ValidationUtils.VALIDATE_ALL; - statusListener_.handleEvent(null); - - if (serviceImpl_.getText().trim().equals("")) - validObjectSelection_ = false; - - if (validObjectSelection_) - { - if (objectSelectionWidget_ instanceof IObjectSelectionLaunchable) - { - IObjectSelectionLaunchable launchable = (IObjectSelectionLaunchable)objectSelectionWidget_; - callObjectTransformation(launchable.getObjectSelection(), launchable.getProject(), launchable.getComponentName()); - } - else - { - IObjectSelectionWidget widget = (IObjectSelectionWidget)objectSelectionWidget_; - callObjectTransformation(widget.getObjectSelection(), widget.getProject(), widget.getComponentName()); - } - } - else - setObjectSelection(null); + if (serviceImpl_.getText().indexOf(':') > 0) + Timer.newInstance(Display.getCurrent(), ServerWizardWidget.this).startTimer(); + else + run(); } }; |