Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/PersistentScenarioContext.java')
-rw-r--r--core/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/PersistentScenarioContext.java403
1 files changed, 403 insertions, 0 deletions
diff --git a/core/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/PersistentScenarioContext.java b/core/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/PersistentScenarioContext.java
new file mode 100644
index 000000000..412c05375
--- /dev/null
+++ b/core/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/PersistentScenarioContext.java
@@ -0,0 +1,403 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ * yyyymmdd bug Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20060216 127138 pmoogk@ca.ibm.com - Peter Moogk
+ * 20070314 154543 makandre@ca.ibm.com - Andrew Mak, WebServiceTestRegistry is tracking extensions using label attribute instead of ID
+ * 20080416 227359 makandre@ca.ibm.com - Andrew Mak, Test facilities do not respect default order in plugin customization
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.context;
+
+import java.util.Enumeration;
+import java.util.Vector;
+
+import org.eclipse.jst.ws.internal.ext.test.WebServiceTestExtension;
+import org.eclipse.jst.ws.internal.ext.test.WebServiceTestRegistry;
+import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
+import org.eclipse.wst.command.internal.env.context.PersistentContext;
+import com.ibm.icu.util.StringTokenizer;
+
+
+public class PersistentScenarioContext extends PersistentContext implements ScenarioContext
+{
+ public PersistentScenarioContext()
+ {
+ super(WebServicePlugin.getInstance());
+ }
+
+ public void load()
+ {
+ ScenarioDefaults defaults = new ScenarioDefaults();
+ String[] ids = defaults.getWebServiceTestIds();
+ StringBuffer sb = new StringBuffer();
+ for (int i = 0; i < ids.length; i++)
+ {
+ if (i != 0) sb.append(",");
+ sb.append(ids[i]);
+ }
+ String nonJavaTestService = defaults.getNonJavaTestServiceDefault();
+ setDefaultStringIfNoDefault(PREFERENCE_WEBSERVICE_TEST_TYPES, sb.toString());
+ setDefaultStringIfNoDefault(PREFERENCE_NON_JAVA_TEST_SERVICE, nonJavaTestService);
+
+ setDefaultStringIfNoDefault(PREFERENCE_CLIENT_WEBSERVICE_TYPE, defaults.webserviceClientTypeDefault() );
+ setDefaultStringIfNoDefault(PREFERENCE_WEBSERVICE_TYPE, defaults.webserviceTypeIdDefault() );
+ setDefaultBooleanIfNoDefault(PREFERENCE_GENERATE_PROXY, defaults.generateProxyDefault() );
+ setDefaultBooleanIfNoDefault(PREFERENCE_LAUNCH_WEBSERVICE_EXPLORER, defaults.launchWebserviceExplorerDefault() );
+ setDefaultBooleanIfNoDefault(PREFERENCE_INSTALL_WEBSERVICE, defaults.installWebserviceDefault() );
+ setDefaultBooleanIfNoDefault(PREFERENCE_INSTALL_CLIENT, defaults.installClientDefault() );
+ setDefaultBooleanIfNoDefault(PREFERENCE_START_WEBSERVICE, defaults.startWebserviceDefault() );
+ setDefaultBooleanIfNoDefault(PREFERENCE_TEST_WEBSERVICE, defaults.testWebserviceDefault() );
+ setDefaultBooleanIfNoDefault(PREFERENCE_MONITOR_WEBSERVICE, defaults.getMonitorWebServiceDefault());
+ setDefaultBooleanIfNoDefault(PREFERENCE_LAUNCH_SAMPLE, defaults.launchSample() );
+
+ setDefaultIntIfNoDefault(PREFERENCE_GENERATE_WEBSERVICE, defaults.serviceGenerationDefault()); //jvh
+ setDefaultIntIfNoDefault(PREFERENCE_GENERATE_CLIENT, defaults.clientGenerationDefault());
+ }
+
+ public String[] getNonJavaTestService()
+ {
+ WebServiceTestRegistry registry = WebServiceTestRegistry.getInstance();
+ String[] ids = getWebServiceTestIds();
+ Vector newTestCases = new Vector();
+ for (int i = 0; i < ids.length; i++)
+ {
+ WebServiceTestExtension wse = (WebServiceTestExtension) registry
+ .getWebServiceExtensionsById(ids[i]);
+ if (wse != null && wse.testWSDL())
+ newTestCases.addElement(wse.getLabel());
+ }
+ String[] wsdlTestArray = new String[newTestCases.size()];
+ Enumeration e = newTestCases.elements();
+ int i = 0;
+ while(e.hasMoreElements()){
+ wsdlTestArray[i] = (String)e.nextElement();
+ i++;
+ }
+
+ return wsdlTestArray;
+ }
+
+ public void setWebServiceTestIds(String[] ids)
+ {
+ StringBuffer sb = new StringBuffer();
+ for (int i = 0; i < ids.length; i++)
+ {
+ if (i != 0) sb.append(",");
+ sb.append(ids[i]);
+ }
+ setValue(PREFERENCE_WEBSERVICE_TEST_TYPES, sb.toString());
+ }
+
+ private String[] getWebServiceTestIds(String value)
+ {
+ StringTokenizer st = new StringTokenizer(value, ",");
+ String[] s = new String[st.countTokens()];
+ for (int i = 0; i < s.length; i++) {
+ // 154543: we have to continue to interpret the old label style preferences
+ s[i] = WebServiceTestRegistry.getInstance().labelToId(st.nextToken());
+ }
+ return s;
+ }
+
+ public String[] getWebServiceTestIds()
+ {
+ return getWebServiceTestIds(getValueAsString(PREFERENCE_WEBSERVICE_TEST_TYPES));
+ }
+
+ public String[] getDefaultWebServiceTestIds()
+ {
+ return getWebServiceTestIds(getDefaultString(PREFERENCE_WEBSERVICE_TEST_TYPES));
+ }
+
+ public void setWebServiceTestTypes(String[] ids)
+ {
+ // 154543: deprecated, noop
+ }
+
+ public String[] getWebServiceTestTypes()
+ {
+ WebServiceTestRegistry registry = WebServiceTestRegistry.getInstance();
+ String[] ids = getWebServiceTestIds();
+ Vector labels = new Vector();
+ for (int i = 0; i < ids.length; i++)
+ {
+ WebServiceTestExtension wse = (WebServiceTestExtension) registry
+ .getWebServiceExtensionsById(ids[i]);
+ if (wse != null)
+ labels.addElement(wse.getLabel());
+ }
+ String[] s = new String[labels.size()];
+ labels.copyInto(s);
+ return s;
+ }
+
+ public ScenarioContext copy()
+ {
+ TransientScenarioContext context = new TransientScenarioContext();
+ context.setWebServiceTestIds(getWebServiceTestIds());
+ context.setWebServiceTestTypes(getWebServiceTestTypes());
+ context.setNonJavaTestService(getNonJavaTestService());
+
+ context.setClientWebServiceType( getClientWebServiceType() );
+ context.setWebServiceType( getWebServiceType() );
+ context.setLaunchWebServiceExplorer( getLaunchWebServiceExplorer() );
+ context.setStartWebService( getStartWebService() );
+ context.setGenerateProxy( getGenerateProxy() );
+ context.setTestWebService( getTestWebService() );
+ context.setMonitorWebService(getMonitorWebService());
+ context.setLaunchSampleEnabled( isLaunchSampleEnabled() );
+
+ return context;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getClientWebServiceType()
+ */
+ public String getClientWebServiceType()
+ {
+ return getValueAsString(PREFERENCE_CLIENT_WEBSERVICE_TYPE);
+ }
+
+ public String getClientWebServiceTypeDefault()
+ {
+ return getDefaultString(PREFERENCE_CLIENT_WEBSERVICE_TYPE);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getGenerateProxy()
+ */
+ public boolean getGenerateProxy()
+ {
+ return getValueAsBoolean(PREFERENCE_GENERATE_PROXY);
+ }
+
+ public boolean getGenerateProxyDefault()
+ {
+ return getDefaultBoolean(PREFERENCE_GENERATE_PROXY);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getLaunchWebServiceExplorer()
+ */
+ public boolean getLaunchWebServiceExplorer()
+ {
+ return getValueAsBoolean(PREFERENCE_LAUNCH_WEBSERVICE_EXPLORER);
+ }
+
+ public boolean getLaunchWebServiceExplorerDefault()
+ {
+ return getDefaultBoolean(PREFERENCE_LAUNCH_WEBSERVICE_EXPLORER);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getStartWebService()
+ */
+ public boolean getStartWebService()
+ {
+ return getValueAsBoolean(PREFERENCE_START_WEBSERVICE);
+ }
+
+ public boolean getStartWebServiceDefault()
+ {
+ return getDefaultBoolean(PREFERENCE_START_WEBSERVICE);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getInstallWebService()
+ */
+ public boolean getInstallWebService()
+ {
+ return getValueAsBoolean(PREFERENCE_INSTALL_WEBSERVICE);
+ }
+
+ public boolean getInstallWebServiceDefault()
+ {
+ return getDefaultBoolean(PREFERENCE_INSTALL_WEBSERVICE);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getInstallWebService()
+ */
+ public boolean getInstallClient()
+ {
+ return getValueAsBoolean(PREFERENCE_INSTALL_CLIENT);
+ }
+
+ public boolean getInstallClientDefault()
+ {
+ return getDefaultBoolean(PREFERENCE_INSTALL_CLIENT);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getTestWebService()
+ */
+ public boolean getTestWebService()
+ {
+ return getValueAsBoolean(PREFERENCE_TEST_WEBSERVICE);
+ }
+
+ public boolean getTestWebServiceDefault()
+ {
+ return getDefaultBoolean(PREFERENCE_TEST_WEBSERVICE);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getWebServiceType()
+ */
+ public String getWebServiceType()
+ {
+ return getValueAsString(PREFERENCE_WEBSERVICE_TYPE);
+ }
+
+ public String getWebServiceTypeDefault()
+ {
+ return getDefaultString(PREFERENCE_WEBSERVICE_TYPE);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setClientWebServiceType(java.lang.String)
+ */
+ public void setClientWebServiceType(String value)
+ {
+ setValue( PREFERENCE_CLIENT_WEBSERVICE_TYPE, value);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setGenerateProxy(boolean)
+ */
+ public void setGenerateProxy(boolean value)
+ {
+ setValue( PREFERENCE_GENERATE_PROXY, value);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setLaunchWebServiceExplorer(boolean)
+ */
+ public void setLaunchWebServiceExplorer(boolean value)
+ {
+ setValue( PREFERENCE_LAUNCH_WEBSERVICE_EXPLORER, value);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setInstallWebService(boolean)
+ */
+ public void setInstallWebService(boolean value)
+ {
+ setValue( PREFERENCE_INSTALL_WEBSERVICE, value);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setInstallWebService(boolean)
+ */
+ public void setInstallClient(boolean value)
+ {
+ setValue( PREFERENCE_INSTALL_CLIENT, value);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setStartWebService(boolean)
+ */
+ public void setStartWebService(boolean value)
+ {
+ setValue( PREFERENCE_START_WEBSERVICE, value);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setTestWebService(boolean)
+ */
+ public void setTestWebService(boolean value)
+ {
+ setValue( PREFERENCE_TEST_WEBSERVICE, value);
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setWebServiceType(java.lang.String)
+ */
+ public void setWebServiceType(String value)
+ {
+ setValue( PREFERENCE_WEBSERVICE_TYPE, value);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getMonitorWebService()
+ */
+ public boolean getMonitorWebService()
+ {
+ return getValueAsBoolean(PREFERENCE_MONITOR_WEBSERVICE);
+ }
+
+ public boolean getMonitorWebServiceDefault()
+ {
+ return getDefaultBoolean(PREFERENCE_MONITOR_WEBSERVICE);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setMonitorWebService(boolean)
+ */
+ public void setMonitorWebService(boolean value)
+ {
+ setValue(PREFERENCE_MONITOR_WEBSERVICE, value);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getLaunchSampleEnabledDefault()
+ */
+ public boolean getLaunchSampleEnabledDefault()
+ {
+ return getDefaultBoolean(PREFERENCE_LAUNCH_SAMPLE);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#isLaunchSampleEnabled()
+ */
+ public boolean isLaunchSampleEnabled()
+ {
+ return getValueAsBoolean(PREFERENCE_LAUNCH_SAMPLE);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setLaunchSampleEnabled(boolean)
+ */
+ public void setLaunchSampleEnabled(boolean value)
+ {
+ setValue( PREFERENCE_LAUNCH_SAMPLE, value);
+ }
+
+ //jvh
+ public int getGenerateWebService()
+ {
+ return getValueAsInt(PREFERENCE_GENERATE_WEBSERVICE);
+ }
+
+ public int getGenerateWebServiceDefault()
+ {
+ return getDefaultInt(PREFERENCE_GENERATE_WEBSERVICE);
+ }
+
+ public void setGenerateWebService(int value)
+ {
+ setValue(PREFERENCE_GENERATE_WEBSERVICE, value);
+ }
+
+ public int getGenerateClientDefault()
+ {
+ return getDefaultInt(PREFERENCE_GENERATE_CLIENT);
+ }
+
+ public int getGenerateClient()
+ {
+ return getValueAsInt(PREFERENCE_GENERATE_CLIENT);
+ }
+
+ public void setGenerateClient(int value)
+ {
+ setValue(PREFERENCE_GENERATE_CLIENT, value);
+ }
+}

Back to the top