diff options
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.java | 403 |
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); + } +} |