diff options
author | pmoogk | 2006-08-09 14:54:43 +0000 |
---|---|---|
committer | pmoogk | 2006-08-09 14:54:43 +0000 |
commit | 9b15c27c2d7a97e14f9e9b5fb98d6381e2343d47 (patch) | |
tree | a70bd4c9c01d940baa45d688810be71588017f39 /bundles | |
parent | e36d129a8b206e06048ac256872115bf6d13d50a (diff) | |
download | webtools.webservices-9b15c27c2d7a97e14f9e9b5fb98d6381e2343d47.tar.gz webtools.webservices-9b15c27c2d7a97e14f9e9b5fb98d6381e2343d47.tar.xz webtools.webservices-9b15c27c2d7a97e14f9e9b5fb98d6381e2343d47.zip |
[152486] Typing WSDL in Service definition field is very slow
Diffstat (limited to 'bundles')
4 files changed, 29 insertions, 16 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 e042aa599..e45f44817 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 @@ -80,6 +80,8 @@ public class ClientWizardWidget extends SimpleWidgetDataContributor implements R private boolean validObjectSelection_ = true; private WSDLSelectionWidgetWrapper wsdlValidatorWidget_; + private Timer timer_ = null; + /* CONTEXT_ID WSWSCEN0020 for the Service Implemenation text field of the Scenario Page */ private String INFOPOP_WSWSCEN_TEXT_SERVICE_IMPL = "WSWSCEN0020"; @@ -119,8 +121,10 @@ public class ClientWizardWidget extends SimpleWidgetDataContributor implements R objectModifyListener_ = new ModifyListener(){ public void modifyText(ModifyEvent e) { - if (serviceImpl_.getText().indexOf(':') > 0) - Timer.newInstance(Display.getCurrent(), ClientWizardWidget.this).startTimer(); + if (serviceImpl_.getText().indexOf(':') > 0) { + timer_ = Timer.newInstance(timer_, Display.getCurrent(), ClientWizardWidget.this); + timer_.startTimer(); + } else run(); } diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/Timer.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/Timer.java index 4db0a341c..325f088e9 100644 --- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/Timer.java +++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/Timer.java @@ -15,9 +15,9 @@ import org.eclipse.swt.widgets.Display; public class Timer extends Thread { - private static Timer instance = null; private final long ONE_SECOND = 1000; private long refreshTime; + private boolean isRunning = true; private Display display; private Runnable runnable; @@ -27,16 +27,17 @@ public class Timer extends Thread this.runnable = runnable; } - public synchronized static Timer newInstance(Display display, Runnable runnable) + public synchronized static Timer newInstance(Timer timer, Display display, Runnable runnable) { - if (instance == null) - instance = new Timer(display, runnable); - return instance; + if (!Timer.isRunning(timer)) + return new Timer(display, runnable); + + return timer; } - public synchronized static boolean isRunning() + public synchronized static boolean isRunning(Timer timer) { - return instance != null; + return timer != null && timer.isRunning; } public synchronized void startTimer() @@ -65,7 +66,7 @@ public class Timer extends Thread } currTime = getCurrentTime(); } - instance = null; + isRunning = false; display.syncExec(runnable); } }
\ No newline at end of file diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWidget.java index cea8ff0f8..2513a1cb6 100644 --- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWidget.java +++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWidget.java @@ -85,6 +85,8 @@ public class WSDLSelectionWidget extends AbstractObjectSelectionWidget implement private Listener statusListener_; private WSDLSelectionTreeWidget tree; + private Timer timer_ = null; + /*CONTEXT_ID PCON0001 for the WSDL Selection Page*/ private final String INFOPOP_PCON_PAGE = "PCON0001"; @@ -240,8 +242,10 @@ public class WSDLSelectionWidget extends AbstractObjectSelectionWidget implement private void handleWebServiceURIModifyEvent() { - if (webServiceURI.getText().indexOf(':') > 0) - Timer.newInstance(Display.getCurrent(), this).startTimer(); + if (webServiceURI.getText().indexOf(':') > 0) { + timer_ = Timer.newInstance(timer_, Display.getCurrent(), this); + timer_.startTimer(); + } else handleWebServiceURI(); statusListener_.handleEvent(null); @@ -356,7 +360,7 @@ public class WSDLSelectionWidget extends AbstractObjectSelectionWidget implement // Validate the content of the Web service URI // For example, is selection a WSDL URI? - if (!Timer.isRunning() && tree.isEnabled()) + if (!Timer.isRunning(timer_) && tree.isEnabled()) { IStatus status = tree.getStatus(); if (status != null) @@ -381,7 +385,7 @@ public class WSDLSelectionWidget extends AbstractObjectSelectionWidget implement } - if (!Timer.isRunning()) { + if (!Timer.isRunning(timer_)) { String wsdlURI1 = wsPath; boolean isRemote = true; if (tree.isEnabled()) { // is wsil 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 83c6a43d9..5cde57115 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 @@ -189,6 +189,8 @@ public class ServerWizardWidget extends SimpleWidgetDataContributor implements R private ResourceContext resourceContext_; + private Timer timer_ = null; + private String GRAPHIC_SERVICE_0="icons/service_test.jpg"; //$NON-NLS-N$ private String GRAPHIC_SERVICE_1="icons/service_run.jpg"; //$NON-NLS-N$ private String GRAPHIC_SERVICE_2="icons/service_install.jpg"; //$NON-NLS-N$ @@ -331,8 +333,10 @@ public class ServerWizardWidget extends SimpleWidgetDataContributor implements R objectModifyListener_ = new ModifyListener(){ public void modifyText(ModifyEvent e) { - if (serviceImpl_.getText().indexOf(':') > 0) - Timer.newInstance(Display.getCurrent(), ServerWizardWidget.this).startTimer(); + if (serviceImpl_.getText().indexOf(':') > 0) { + timer_ = Timer.newInstance(timer_, Display.getCurrent(), ServerWizardWidget.this); + timer_.startTimer(); + } else run(); } |