| /******************************************************************************* |
| * Copyright (c) 2004, 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 |
| * -------- -------- ----------------------------------------------------------- |
| * 20060221 119111 rsinha@ca.ibm.com - Rupam Kuehner |
| * 20060524 142635 gilberta@ca.ibm.com - Gilbert Andrews |
| * 20060529 141422 kathy@ca.ibm.com - Kathy Chan |
| * 20060728 150560 kathy@ca.ibm.com - Kathy Chan |
| * 20060728 151078 kathy@ca.ibm.com - Kathy Chan |
| * 20080402 225378 makandre@ca.ibm.com - Andrew Mak, Client wizard runtime/server defaulting is not respecting the preference |
| * 20080528 234487 makandre@ca.ibm.com - Andrew Mak, Performance degradation in Web service client gen |
| * 20080613 236523 makandre@ca.ibm.com - Andrew Mak, Overwrite setting on Web service wizard is coupled with preference |
| *******************************************************************************/ |
| package org.eclipse.jst.ws.internal.consumption.ui.widgets; |
| |
| import org.eclipse.core.commands.ExecutionException; |
| import org.eclipse.core.runtime.IAdaptable; |
| import org.eclipse.core.runtime.IProgressMonitor; |
| import org.eclipse.core.runtime.IStatus; |
| import org.eclipse.core.runtime.Status; |
| import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2; |
| import org.eclipse.jst.ws.internal.context.ScenarioContext; |
| import org.eclipse.jst.ws.internal.data.TypeRuntimeServer; |
| import org.eclipse.jst.ws.internal.plugin.WebServicePlugin; |
| import org.eclipse.wst.command.internal.env.core.context.ResourceContext; |
| import org.eclipse.wst.command.internal.env.eclipse.BaseEclipseEnvironment; |
| import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation; |
| |
| |
| public class ClientWizardWidgetDefaultingCommand extends AbstractDataModelOperation |
| { |
| private int clientGeneration_; |
| private boolean developClient_; |
| private boolean assembleClient_; |
| private boolean deployClient_; |
| private boolean installClient_; |
| private boolean startClient_; |
| private boolean testClient_; |
| private boolean clientOnly_ = false; |
| private TypeRuntimeServer clientTypeRuntimeServer_; |
| |
| public ClientWizardWidgetDefaultingCommand() { |
| } |
| |
| |
| /** |
| * @param clientOnly Set to true for if called from ClientWidgetWizard |
| */ |
| public ClientWizardWidgetDefaultingCommand(boolean clientOnly) { |
| clientOnly_ = clientOnly; |
| } |
| |
| public Boolean getTestService() |
| { |
| return new Boolean( getScenarioContext().getTestWebService() ); |
| } |
| |
| public Boolean getMonitorService() |
| { |
| return new Boolean( getScenarioContext().getMonitorWebService()); |
| } |
| |
| public boolean getInstallClient() |
| { |
| return installClient_; |
| } |
| |
| public boolean getRunTestClient() |
| { |
| return getScenarioContext().isLaunchSampleEnabled() ; |
| } |
| |
| public int getClientGeneration() |
| { |
| return clientGeneration_; |
| } |
| |
| public ResourceContext getResourceContext() |
| { |
| return ((BaseEclipseEnvironment) getEnvironment()).getResourceContext(); |
| } |
| |
| // Current ScenarioContext is used to default the first page of the wizard. The |
| // properties in ScenarioContext are mapped individual. Therefore, ScenarioContext |
| // should not also be mapped. |
| protected ScenarioContext getScenarioContext() |
| { |
| return WebServicePlugin.getInstance().getScenarioContext(); |
| } |
| |
| // TODO Set client name defaults here. |
| public TypeRuntimeServer getClientTypeRuntimeServer() |
| { |
| if (clientTypeRuntimeServer_ == null) { |
| String type = getScenarioContext().getClientWebServiceType(); |
| String runtime = WebServiceRuntimeExtensionUtils2.getDefaultClientRuntimeValueFor(type); |
| String factoryID = WebServiceRuntimeExtensionUtils2.getDefaultClientServerValueFor(type); |
| clientTypeRuntimeServer_ = new TypeRuntimeServer(); |
| |
| clientTypeRuntimeServer_.setTypeId( type ); |
| clientTypeRuntimeServer_.setRuntimeId( runtime ); |
| clientTypeRuntimeServer_.setServerId( factoryID ); |
| } |
| |
| return clientTypeRuntimeServer_; |
| } |
| |
| public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException |
| { |
| defaultClientScale(); |
| return Status.OK_STATUS; |
| } |
| |
| protected void defaultClientScale() { |
| clientGeneration_ = getScenarioContext().getGenerateClient(); |
| |
| if (clientOnly_ && clientGeneration_ == ScenarioContext.WS_NONE) { |
| developClient_ = true; |
| assembleClient_ = true; |
| deployClient_ = true; |
| clientGeneration_ = ScenarioContext.WS_DEPLOY; |
| } else { |
| developClient_ = clientGeneration_ <= ScenarioContext.WS_DEVELOP; |
| assembleClient_ = clientGeneration_ <= ScenarioContext.WS_ASSEMBLE; |
| deployClient_ = clientGeneration_ <= ScenarioContext.WS_DEPLOY; |
| } |
| installClient_ = clientGeneration_ <= ScenarioContext.WS_INSTALL; |
| startClient_ = clientGeneration_ <= ScenarioContext.WS_START; |
| testClient_ = clientGeneration_ <= ScenarioContext.WS_TEST; |
| } |
| |
| public boolean getDevelopClient() { |
| return developClient_; |
| } |
| |
| public boolean getAssembleClient() { |
| return assembleClient_; |
| } |
| |
| public boolean getDeployClient() { |
| return deployClient_; |
| } |
| |
| public boolean getStartClient() { |
| return startClient_; |
| } |
| |
| public boolean getTestClient() { |
| return testClient_; |
| } |
| |
| } |