[119296] Web service wizard hangs when WSDL not available. Using wsdlTimeout preference.
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/TimedWSDLSelectionConditionCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/TimedWSDLSelectionConditionCommand.java index df2b7ca..f56b6e0 100644 --- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/TimedWSDLSelectionConditionCommand.java +++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/TimedWSDLSelectionConditionCommand.java
@@ -16,7 +16,9 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; +import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages; +import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin; import org.eclipse.wst.command.internal.env.core.common.Condition; import org.eclipse.wst.command.internal.env.ui.common.TimedOperation; import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation; @@ -25,11 +27,17 @@ public class TimedWSDLSelectionConditionCommand extends AbstractDataModelOperation implements Condition { - WSDLSelectionConditionCommand selectionCommand; + private final String TIMEOUT_PREFERENCE = "wsdlTimeOut"; + private WSDLSelectionConditionCommand selectionCommand; + private int timeOutValue; public TimedWSDLSelectionConditionCommand() { selectionCommand = new WSDLSelectionConditionCommand(); + + IPreferenceStore prefStore = WebServiceConsumptionUIPlugin.getInstance().getPreferenceStore(); + + timeOutValue = prefStore.getDefaultString(TIMEOUT_PREFERENCE).equals("") ? 10000 : prefStore.getInt( TIMEOUT_PREFERENCE ); } public void setWebServicesParser(WebServicesParser webServicesParser) @@ -46,7 +54,7 @@ { String timeOutMessage = ConsumptionUIMessages.bind( ConsumptionUIMessages.MSG_INFO_WSDL_OPERATION_TIMED_OUT, getWebServiceURI() ); - TimedOperation timedOperation = new TimedOperation( selectionCommand, 10000, timeOutMessage ); + TimedOperation timedOperation = new TimedOperation( selectionCommand, timeOutValue, timeOutMessage ); return timedOperation.execute(monitor, adaptable); }