| /******************************************************************************* |
| * Copyright (c) 2000, 2004 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 |
| *******************************************************************************/ |
| |
| package org.eclipse.jst.ws.internal.consumption.ui.widgets.test; |
| |
| import java.util.List; |
| import java.util.Vector; |
| |
| import org.eclipse.jst.ws.internal.context.ScenarioContext; |
| import org.eclipse.jst.ws.internal.data.TypeRuntimeServer; |
| import org.eclipse.jst.ws.internal.ext.WebServiceExecutable; |
| import org.eclipse.jst.ws.internal.ext.test.JavaProxyTestCommand; |
| import org.eclipse.jst.ws.internal.ext.test.WSDLTestFinishCommand; |
| import org.eclipse.jst.ws.internal.ext.test.WebServiceTestExtension; |
| import org.eclipse.jst.ws.internal.ext.test.WebServiceTestFinishCommand; |
| import org.eclipse.jst.ws.internal.ext.test.WebServiceTestRegistry; |
| import org.eclipse.jst.ws.internal.plugin.WebServicePlugin; |
| import org.eclipse.wst.command.env.core.SimpleCommand; |
| import org.eclipse.wst.command.env.core.common.Environment; |
| import org.eclipse.wst.command.env.core.common.SimpleStatus; |
| import org.eclipse.wst.command.env.core.common.Status; |
| import org.eclipse.wst.command.env.core.common.StatusHandler; |
| import org.eclipse.wst.command.env.core.selection.BooleanSelection; |
| import org.eclipse.wst.command.env.core.selection.SelectionList; |
| import org.eclipse.wst.server.core.IServer; |
| import org.eclipse.wst.server.core.ServerCore; |
| |
| |
| /* |
| * The JSPGeneration task runs the jsp generation engine found in the |
| * JBWizard Plugin |
| * |
| * |
| */ |
| public class ClientTestDelegateCommand extends SimpleCommand |
| { |
| private String LABEL = "JSPGenerationTask"; |
| private String DESCRIPTION = "Run the JSP Generation"; |
| |
| private ScenarioContext scenarioContext; |
| private WebServiceTestRegistry testRegistry; |
| private SelectionList testFacilities; |
| private String folder; |
| private String jspFolder; |
| private BooleanSelection[] methods; |
| private boolean runClientTest=true; |
| private String sampleServerTypeID; |
| private IServer sampleExistingServer; |
| private String proxyBean; |
| private String sampleProject; |
| private String clientProject; |
| private String clientServer; |
| private TypeRuntimeServer clientIds; |
| private TypeRuntimeServer serverIds; |
| private String serviceProject; |
| private String wsdlServiceURL; |
| private boolean generateProxy; |
| private boolean isTestWidget = false; |
| private String setEndpointMethod; |
| private List endpoints; |
| |
| public ClientTestDelegateCommand () |
| { |
| setDescription(DESCRIPTION); |
| setName(LABEL); |
| scenarioContext = WebServicePlugin.getInstance().getScenarioContext().copy(); |
| testRegistry = WebServiceTestRegistry.getInstance(); |
| } |
| |
| public Status execute(Environment env) |
| { |
| Status status = new SimpleStatus( "" ); |
| String clientTestID = testFacilities.getSelection(); |
| WebServiceTestFinishCommandFactory wtfcf = new WebServiceTestFinishCommandFactory(); |
| WebServiceTestFinishCommand command = wtfcf.getWebServiceTestFinishCommand(clientTestID,env); |
| |
| command.setExistingServer(sampleExistingServer); |
| command.setServerTypeID(sampleServerTypeID); |
| status = command.execute(env); |
| if(status.getSeverity() == Status.ERROR){ |
| StatusHandler sHandler = env.getStatusHandler(); |
| sHandler.reportError(status); |
| return status; |
| } |
| return status; |
| } |
| |
| private class WebServiceTestFinishCommandFactory |
| { |
| |
| private WebServiceTestFinishCommand getWebServiceTestFinishCommand(String clientTestID,Environment env) |
| { |
| WebServiceTestExtension wscte = (WebServiceTestExtension)testRegistry.getWebServiceExtensionsByName(clientTestID); |
| boolean isJava = true; |
| if(wscte.isJava() && !generateProxy){ |
| isJava = false; |
| wscte = (WebServiceTestExtension)testRegistry.getWebServiceExtensionsByName(scenarioContext.getNonJavaTestService()); |
| } |
| if(!wscte.isJava()) |
| isJava = false; |
| WebServiceExecutable wse = wscte.getWebServiceExecutableExtension(); |
| |
| if(isJava){ |
| JavaProxyTestCommand command = (JavaProxyTestCommand)wse.getFinishCommand(); |
| command.setProxyBean(proxyBean); |
| command.setSampleProject(sampleProject); |
| command.setClientProject(clientProject); |
| command.setRunClientTest(runClientTest); |
| command.setJspFolder(jspFolder); |
| command.setSetEndpointMethod(setEndpointMethod); |
| command.setMethods(methods); |
| command.setEndpoint(endpoints); |
| if (clientIds.getServerInstanceId() != null) |
| sampleExistingServer = ServerCore.findServer(clientIds.getServerInstanceId()); |
| if (sampleExistingServer != null) |
| sampleServerTypeID = sampleExistingServer.getServerType().getId(); |
| else |
| sampleServerTypeID = clientIds.getServerId(); |
| // server will be created in ServerDeployableConfigurationCommand |
| |
| return command; |
| } |
| else{ |
| WSDLTestFinishCommand wtfc = (WSDLTestFinishCommand)wse.getFinishCommand(); |
| wtfc.setServiceProject(getWSDLProject()); |
| wtfc.setWsdlServiceURL(wsdlServiceURL); |
| wtfc.setExternalBrowser(false); |
| wtfc.setEndpoint(endpoints); |
| if(serverIds != null){ |
| if (serverIds.getServerInstanceId() != null) |
| sampleExistingServer = ServerCore.findServer(serverIds.getServerInstanceId()); |
| if (sampleExistingServer != null) |
| sampleServerTypeID = sampleExistingServer.getServerType().getId(); |
| else |
| sampleServerTypeID = serverIds.getServerId(); |
| // server will be created in ServerDeployableConfigurationCommand |
| } |
| else if(clientIds != null) |
| { |
| if (clientIds.getServerInstanceId() != null) |
| sampleExistingServer = ServerCore.findServer(clientIds.getServerInstanceId()); |
| if (sampleExistingServer != null) |
| sampleServerTypeID = sampleExistingServer.getServerType().getId(); |
| else |
| sampleServerTypeID = clientIds.getServerId(); |
| // server will be created in ServerDeployableConfigurationCommand |
| |
| } |
| return wtfc; |
| } |
| } |
| |
| public Status getStatus() |
| { |
| return new SimpleStatus(""); |
| } |
| |
| } |
| |
| //The test facilities retrieved from the extension |
| //plus the default |
| public void setTestFacility(SelectionList selection) |
| { |
| testFacilities = selection; |
| } |
| |
| public void setFolder(String folder) |
| { |
| this.folder = folder; |
| } |
| |
| public void setJspFolder(String jspFolder) |
| { |
| this.jspFolder = jspFolder; |
| } |
| |
| public void setMethods(BooleanSelection[] methods) |
| { |
| this.methods = methods; |
| } |
| |
| public void setRunClientTest(boolean runClientTest) |
| { |
| this.runClientTest = runClientTest; |
| } |
| |
| public void setProxyBean(String proxyBean) |
| { |
| this.proxyBean = proxyBean; |
| } |
| |
| public void setSampleProject(String sampleProject) |
| { |
| this.sampleProject = sampleProject; |
| } |
| |
| public void setClientProject(String clientProject) |
| { |
| this.clientProject = clientProject; |
| } |
| |
| public void setScenarioContext(ScenarioContext scenarioContext) |
| { |
| this.scenarioContext = scenarioContext; |
| } |
| |
| public void setClientTestRegistry(WebServiceTestRegistry testRegistry) |
| { |
| this.testRegistry = testRegistry; |
| } |
| |
| public void setSampleServerTypeID(String sampleServerTypeID) |
| { |
| this.sampleServerTypeID = sampleServerTypeID; |
| } |
| |
| public void setSampleExistingServer(IServer sampleExistingServer) |
| { |
| this.sampleExistingServer = sampleExistingServer; |
| } |
| |
| public void setClientTypeRuntimeServer(TypeRuntimeServer ids) |
| { |
| clientIds = ids; |
| } |
| |
| public void setServiceTypeRuntimeServer(TypeRuntimeServer ids) |
| { |
| serverIds = ids; |
| } |
| |
| public String getSampleServerTypeID() |
| { |
| return sampleServerTypeID; |
| } |
| |
| public IServer getSampleExistingServer() |
| { |
| return sampleExistingServer; |
| } |
| |
| public void setClientServer(String clientServer) |
| { |
| this.clientServer = clientServer; |
| } |
| |
| public void setServerProject(String serviceProject) |
| { |
| this.serviceProject = serviceProject; |
| } |
| |
| public String getWSDLProject() |
| { |
| if(serviceProject != null) |
| return serviceProject; |
| |
| return clientProject; |
| } |
| |
| public void setWsdlURI(String wsdlServiceURL) |
| { |
| this.wsdlServiceURL = wsdlServiceURL; |
| } |
| |
| public void setGenerateProxy(boolean generateProxy) |
| { |
| this.generateProxy = generateProxy; |
| } |
| |
| public boolean getIsTestWidget() |
| { |
| return isTestWidget; |
| } |
| |
| /** |
| * @param setEndpointMethod The setEndpointMethod to set. |
| */ |
| public void setSetEndpointMethod(String setEndpointMethod) |
| { |
| this.setEndpointMethod = setEndpointMethod; |
| } |
| /** |
| * @param endpoint The endpoint to set. |
| */ |
| public void setEndpoint(String endpoint) |
| { |
| if (endpoint != null && endpoint.length() > 0) |
| { |
| Vector v = new Vector(); |
| v.add(endpoint); |
| setEndpoints(v); |
| } |
| } |
| |
| public void setEndpoints(List endpoints) |
| { |
| this.endpoints = endpoints; |
| } |
| } |