Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidget.java')
-rw-r--r--bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidget.java1701
1 files changed, 0 insertions, 1701 deletions
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidget.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidget.java
deleted file mode 100644
index 852a8dea3..000000000
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidget.java
+++ /dev/null
@@ -1,1701 +0,0 @@
-/*******************************************************************************
- * 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
- * -------- -------- -----------------------------------------------------------
- * 20060407 135415 rsinha@ca.ibm.com - Rupam Kuehner
- * 20060407 135443 joan@ca.ibm.com - Joan Haggarty
- * 20060410 135442 kathy@ca.ibm.com - Kathy Chan
- * 20060410 135441 joan@ca.ibm.com - Joan Haggarty
- * 20060410 135562 joan@ca.ibm.com - Joan Haggarty
- * 20060411 136167 kathy@ca.ibm.com - Kathy Chan
- * 20060417 136390/136391/136159 joan@ca.ibm.com - Joan Haggarty
- * 20060413 135581 rsinha@ca.ibm.com - Rupam Kuehner
- * 20060420 136158 rsinha@ca.ibm.com - Rupam Kuehner
- * 20060420 136705 rsinha@ca.ibm.com - Rupam Kuehner
- * 20060420 136182 kathy@ca.ibm.com - Kathy Chan
- * 20060420 137820 rsinha@ca.ibm.com - Rupam Kuehner
- * 20060420 135912 joan@ca.ibm.com - Joan Haggarty
- * 20060421 136761 rsinha@ca.ibm.com - Rupam Kuehner
- * 20060424 138052 kathy@ca.ibm.com - Kathy Chan
- * 20060425 137831 rsinha@ca.ibm.com - Rupam Kuehner
- * 20060426 138519 joan@ca.ibm.com - Joan Haggarty
- * 20060427 138058 joan@ca.ibm.com - Joan Haggarty
- * 20060504 138035 joan@ca.ibm.com - Joan Haggarty
- * 20060524 142276 joan@ca.ibm.com - Joan Haggarty
- * 20060529 141422 kathy@ca.ibm.com - Kathy Chan
- * 20060605 145081 joan@ca.ibm.com - Joan Haggarty
- * 20060607 144826 joan@ca.ibm.com - Joan Haggarty
- * 20060607 144049 joan@ca.ibm.com - Joan Haggarty
- * 20060614 146270 joan@ca.ibm.com - Joan Haggarty
- * 20060616 147317 joan@ca.ibm.com - Joan Haggarty
- * 20060717 150577 makandre@ca.ibm.com - Andrew Mak
- * 20060726 150865 sengpl@ca.ibm.com - Seng Phung-Lu
- * 20060803 152486 makandre@ca.ibm.com - Andrew Mak, Typing WSDL in Service definition field is very slow
- * 20060817 140017 makandre@ca.ibm.com - Andrew Mak, longer project or server/runtime strings do not resize wizard
- * 20060825 135570 makandre@ca.ibm.com - Andrew Mak, Service implementation URL not displayed properly on first page
- * 20060829 155441 makandre@ca.ibm.com - Andrew Mak, web service wizard hangs during resize
- * 20060830 155114 pmoogk@ca.ibm.com - Peter Moogk, Updated patch for this defect.
- * 20060831 155441 makandre@ca.ibm.com - Andrew Mak, Small tweak for this bug
- * 20061003 159142 kathy@ca.ibm.com - Kathy Chan
- * 20061212 164177 makandre@ca.ibm.com - Andrew Mak, Incorrect validation error complaining about runtime not supporting a project type
- * 20061212 159911 makandre@ca.ibm.com - Andrew Mak, changing service definition resets some configuration fields
- * 20070205 172687 makandre@ca.ibm.com - Andrew Mak, NPE in Scencario Defaults preferences page
- * 20071130 203826 kathy@ca.ibm.com - Kathy Chan
- * 20080205 170141 kathy@ca.ibm.com - Kathy Chan
- * 20080215 216337 pmoogk@ca.ibm.com - Peter Moogk
- * 20080301 221034 kathy@ca.ibm.com - Kathy Chan
- * 20080312 147442 trungha@ca.ibm.com - Trung Ha
- * 20080318 213330 trungha@ca.ibm.com - Trung, Non-conventional Java naming prevents creating Web Services (client)
- * 20080326 198439 kathy@ca.ibm.com - Kathy Chan
- * 20080402 198439 kathy@ca.ibm.com - Kathy Chan
- * 20080416 215084 gilberta@ca.ibm.com - Gilbert Andrews
- * 20080417 227599 kathy@ca.ibm.com - Kathy Chan
- * 20080613 236523 makandre@ca.ibm.com - Andrew Mak, Overwrite setting on Web service wizard is coupled with preference
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.creation.ui.widgets;
-
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
-import org.eclipse.jst.ws.internal.consumption.ui.common.DefaultingUtils;
-import org.eclipse.jst.ws.internal.consumption.ui.common.ValidationUtils;
-import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.IObjectSelectionLaunchable;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.IPackable;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.ProjectSelectionDialog;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.WebServiceClientTypeWidget;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.IObjectSelectionWidget;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionOutputCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionRegistry;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionWidget;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.Timer;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.runtime.ProjectSelectionWidget;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.RuntimeServerSelectionDialog;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceImpl;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
-import org.eclipse.jst.ws.internal.context.ScenarioContext;
-import org.eclipse.jst.ws.internal.creation.ui.plugin.WebServiceCreationUIPlugin;
-import org.eclipse.jst.ws.internal.creation.ui.widgets.runtime.ServerRuntimeSelectionWidgetDefaultingCommand;
-import org.eclipse.jst.ws.internal.data.LabelsAndIds;
-import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
-import org.eclipse.jst.ws.internal.ui.common.UIUtils;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.Accessible;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Scale;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.HyperlinkGroup;
-import org.eclipse.ui.forms.HyperlinkSettings;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
-import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
-import org.eclipse.wst.command.internal.env.ui.widgets.PageInfo;
-import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
-import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
-import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
-import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
-import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntimeChecker;
-import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
-
-public class ServerWizardWidget extends SimpleWidgetDataContributor implements Runnable, IPackable {
-
- //INFOPOPS
- /* CONTEXT_ID WSWSCEN0001 for the Scenario Page */
- private String INFOPOP_WSWSCEN_PAGE = "WSWSCEN0001";
- /* CONTEXT_ID WSWSCEN0010 for the Web Service Type combo box of the Scenario Page */
- private String INFOPOP_WSWSCEN_COMBO_SERVICETYPE = "WSWSCEN0010";
- /* CONTEXT_ID WSWSCEN0014 for the monitor service checkbox of the Scenario page */
- private String INFOPOP_WSWSCEN_CHECKBOX_MONITOR_SERVICE = "WSWSCEN0014";
- /* CONTEXT_ID WSWSCEN0012 for the Launch UDDI check box of the Scenario Page */
- private String INFOPOP_WSWSCEN_CHECKBOX_LAUNCH_WS = "WSWSCEN0012";
- /* CONTEXT_ID WSWSCEN0020 for the Service Implemenation text field of the Scenario Page */
- private String INFOPOP_WSWSCEN_TEXT_SERVICE_IMPL = "WSWSCEN0020";
- /* CONTEXT_ID WSWSCEN0021 for theService Slider of the Scenario Page */
- private String INFOPOP_WSWSCEN_SCALE_SERVICE = "WSWSCEN0021";
- /* CONTEXT_ID WSWSCEN0022 for the Server hyperlink of the Scenario Page */
- private String INFOPOP_WSWSCEN_HYPERLINK_SERVER = "WSWSCEN0022";
- /* CONTEXT_ID WSWSCEN0023 for the Runtime hyperlink of the Scenario Page */
- private String INFOPOP_WSWSCEN_HYPERLINK_RUNTIME = "WSWSCEN0023";
- /* CONTEXT_ID WSWSCEN0024 for theProjects hyperlink of the Scenario Page */
- private String INFOPOP_WSWSCEN_HYPERLINK_PROJECTS = "WSWSCEN0024";
- /* CONTEXT_ID WSWSCEN0030 for the Overwrite Files checkbox of the Scenario Page */
- private String INFOPOP_WSWSCEN_CHECKBOX_OVERWRITE = "WSWSCEN0030";
-
- private ScaleSelectionListener scaleSelectionListener = new ScaleSelectionListener();
- private Listener statusListener_;
- private ModifyListener objectModifyListener_ ;
- private int validationState_;
- boolean validObjectSelection_ = true;
-
- private ImageRegistry imageReg_;
-
- private TypeRuntimeServer ids_;
- private LabelsAndIds labelIds_;
- private String serviceProjectName_;
- private IProject initialProject_;
- private String serviceEarProjectName_;
- private String serviceComponentType_;
- private WebServicesParser parser_;
- private boolean needEar_;
-
- private boolean developService_;
- private boolean assembleService_;
- private boolean deployService_;
-
- private IStructuredSelection objectSelection_;
- private Boolean testService_;
- private Boolean startService_;
- private Boolean installService_;
-
- private boolean displayPreferences_;
- private boolean preferencesPage_;
-
- private Composite groupComposite_;
- private Composite hCompService_;
- private WebServiceClientTypeWidget clientWidget_;
- private Label serviceLabel_;
- private Combo webserviceType_;
- private Text serviceImpl_;
- private Scale serviceScale_;
- private Label topologySpot_;
- private Button browseButton_;
- private Button publishButton_;
- private Button monitorButton_;
- private Button overwriteButton_;
- private ServiceImplSelectionDialog browseDialog_;
- private ProjectSelectionDialog projectDialog_;
- private Hyperlink hLinkServiceRuntime_;
- private Hyperlink hLinkServiceServer_;
- private Hyperlink hLinkServiceProject_;
- private Hyperlink hLinkServiceEAR_;
-
- private Object objectSelectionWidget_; //may be IObjectSelectionLaunchable or IObjectSelectionWidget
-
- private ResourceContext resourceContext_;
-
- private Timer timer_ = null;
-
- private UIUtils utils_ = new UIUtils("org.eclipse.jst.ws.creation.ui");
-
- private boolean forceRefreshRuntime = false;
-
- private String GRAPHIC_SERVICE_0="icons/service_test.jpg"; //$NON-NLS-N$
- private String GRAPHIC_SERVICE_1="icons/service_run.jpg"; //$NON-NLS-N$
- private String GRAPHIC_SERVICE_2="icons/service_install.jpg"; //$NON-NLS-N$
- private String GRAPHIC_SERVICE_3="icons/service_deploy.jpg"; //$NON-NLS-N$
- private String GRAPHIC_SERVICE_4="icons/service_assemble.jpg"; //$NON-NLS-N$
- private String GRAPHIC_SERVICE_5="icons/service_develop.jpg"; //$NON-NLS-N$
-
- private String ICON_SCALE_BG_0="icons/scale0_bground.jpg"; //$NON-NLS-N$
- private String ICON_SCALE_BG_1="icons/scale1_bground.jpg"; //$NON-NLS-N$
- private String ICON_SCALE_BG_2="icons/scale2_bground.jpg"; //$NON-NLS-N$
- private String ICON_SCALE_BG_3="icons/scale3_bground.jpg"; //$NON-NLS-N$
- private String ICON_SCALE_BG_4="icons/scale4_bground.jpg"; //$NON-NLS-N$
- private String ICON_SCALE_BG_5="icons/scale5_bground.jpg"; //$NON-NLS-N$
- private String ICON_SCALE_BG_6="icons/scale6_bground.jpg"; //$NON-NLS-N$
-
- private String SERVICE_RUNTIME_PREFIX = ConsumptionUIMessages.LABEL_RUNTIMES_LIST ;
- private String SERVICE_SERVER_PREFIX = ConsumptionUIMessages.LABEL_SERVERS_LIST;
- private String SERVICE_PROJECT_PREFIX = ConsumptionUIMessages.LABEL_SERVICE_PROJECT;
- private String SERVICE_EAR_PREFIX = ConsumptionUIMessages.LABEL_SERVICE_EAR_PROJECT;
-
- /**
- * @param displayPreferences Set to true if preferences such as overwrite should be displayed on the wizard page
- * @param prefPage Set to true if the widget is being used on the preferences page. Alters widget layout.
- */
- public ServerWizardWidget(boolean displayPreferences, boolean prefPage) {
- displayPreferences_ = displayPreferences;
- preferencesPage_ = prefPage;
- initImageRegistry();
- validationState_ = ValidationUtils.VALIDATE_ALL;
- }
-
- private Composite serviceComposite_;
-
- /**
- * Run this ServerWizardWidget, which validates the entry field values.
- */
- public void run() {
-
- // do minimal check here, this call will determine if we at least
- // have a "validObjectSelection_"
- checkServiceImplTextStatus();
-
- if (validObjectSelection_)
- {
- boolean refreshRuntime = (getWebServiceScenario() != WebServiceScenario.TOPDOWN);
-
- if (objectSelectionWidget_ instanceof IObjectSelectionLaunchable)
- {
- IObjectSelectionLaunchable launchable = (IObjectSelectionLaunchable)objectSelectionWidget_;
- callObjectTransformation(launchable.getObjectSelection(), launchable.getProject(), launchable.getComponentName(), refreshRuntime);
- }
- else
- {
- IObjectSelectionWidget widget = (IObjectSelectionWidget)objectSelectionWidget_;
- callObjectTransformation(widget.getObjectSelection(), widget.getProject(), widget.getComponentName(), refreshRuntime);
- }
- }
- else
- setObjectSelection(null);
-
- // do full validation after all transformations and calculations have occurred
- validationState_ = ValidationUtils.VALIDATE_ALL;
- statusListener_.handleEvent(null);
- }
-
- /**
- * Pack this widget and the client-side widget as well.
- */
- private void packSelf() {
- // don't need to call packIt(), since clientWidget_ has a callback to packIt() already.
- clientWidget_.packIt();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.ws.internal.consumption.ui.widgets.IPackable#packIt()
- */
- public void packIt() {
- groupComposite_.pack(true);
- utils_.horizontalResize(groupComposite_.getShell(), groupComposite_, UIUtils.DEFAULT_PADDING);
- }
-
- public WidgetDataEvents addControls(Composite parent,
- Listener statusListener) {
-
- statusListener_ = statusListener;
- utils_.createInfoPop(parent, INFOPOP_WSWSCEN_PAGE);
-
- Composite typeComposite = utils_.createComposite(parent, 3);
-
- webserviceType_ = utils_.createCombo(typeComposite,
- ConsumptionUIMessages.LABEL_WEBSERVICETYPE,
- ConsumptionUIMessages.TOOLTIP_PWPR_COMBO_TYPE,
- INFOPOP_WSWSCEN_COMBO_SERVICETYPE, SWT.SINGLE | SWT.BORDER
- | SWT.READ_ONLY);
- GridData gdata1 = (GridData) webserviceType_.getLayoutData();
- gdata1.horizontalSpan = 2;
- webserviceType_.setLayoutData(gdata1);
-
- webserviceType_.addSelectionListener(new SelectionListener(){
- public void widgetDefaultSelected(SelectionEvent e) {}
-
- public void widgetSelected(SelectionEvent e) {
- String oldTypeId = ids_.getTypeId();
- int currentSelectionIdx = webserviceType_.getSelectionIndex();
- String currentTypeId = labelIds_.getIds_()[currentSelectionIdx];
- if (!oldTypeId.equals(currentTypeId)) {
- ids_.setTypeId(currentTypeId);
-
- // don't need to refresh runtime or validate fields if we are on the preference page, just return
- if (preferencesPage_)
- return;
-
- int oldScenario = WebServiceRuntimeExtensionUtils2.getScenarioFromTypeId(oldTypeId);
- int currentScenario = WebServiceRuntimeExtensionUtils2.getScenarioFromTypeId(currentTypeId);
-
- objectSelectionWidget_ = getSelectionWidget();
- // change the label for the service
- // implementation/definition based on the web service type
- handleTypeChange();
-
- // After bug 159911, we will not refresh the runtime in TOPDOWN scenario unless we absolutely
- // have to. Therefore, if we are switching from another scenario type, we should check if the
- // current selections are valid for this TOPDOWN scenario, if not, try to pick a more suitable
- // runtime.
- if (currentScenario == WebServiceScenario.TOPDOWN) {
- validationState_ = ValidationUtils.VALIDATE_SERVER_RUNTIME_CHANGES;
-
- // this will force a refresh the next time the wsdl is changed
- forceRefreshRuntime = !checkErrorStatus().isOK();
- }
-
- //if the web service type change is from one top-down type to another
- //top-down type leave the object selection field in tact and refresh
- //the server/runtime project defaulting.
- //Otherwise clear the object selection field since it's value is not valid anymore
- if (oldScenario==WebServiceScenario.TOPDOWN && currentScenario==WebServiceScenario.TOPDOWN)
- {
- // if switching from one TOPDOWN scenario to another TOPDOWN scenario and
- // we've determined that the current runtime selection is not suitable, we
- // can refresh the runtime now (don't need to wait for the next time the
- // wsdl is changed).
- if (forceRefreshRuntime) {
- refreshServerRuntimeSelection();
- forceRefreshRuntime = false;
- }
- }
- else
- {
- //clear the object selection field
- // serviceImpl may be null if on the preferences page
- if (serviceImpl_ != null)
- {
- serviceImpl_.removeModifyListener(objectModifyListener_);
- serviceImpl_.setText("");
- setObjectSelection(null);
- serviceImpl_.addModifyListener(objectModifyListener_);
- }
- }
- validationState_ = ValidationUtils.VALIDATE_ALL;
- statusListener_.handleEvent(null);
-
- }
- }
-
- });
-
- // Create text field and browse for object selection if not on preferences page
- if (!preferencesPage_)
- {
- //text of this label is based on the web service type selected in webserviceType_ combo
- serviceLabel_ = new Label( typeComposite, SWT.WRAP);
- serviceLabel_.setText(ConsumptionUIMessages.LABEL_WEBSERVICEIMPL);
- serviceLabel_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSWSCEN_TEXT_IMPL);
-
- serviceImpl_ = new Text(typeComposite, SWT.LEFT | SWT.BORDER );
- GridData griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
- serviceImpl_.setLayoutData( griddata );
- serviceImpl_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSWSCEN_TEXT_IMPL);
- utils_.createInfoPop(serviceImpl_, INFOPOP_WSWSCEN_TEXT_SERVICE_IMPL);
-
- objectModifyListener_ = new ModifyListener(){
- public void modifyText(ModifyEvent e) {
- if (serviceImpl_.getText().indexOf(':') > 0) {
- timer_ = Timer.newInstance(timer_, Display.getCurrent(), ServerWizardWidget.this);
- timer_.startTimer();
- }
- else
- run();
- }
- };
-
- serviceImpl_.addModifyListener(objectModifyListener_);
-
- browseButton_ = utils_.createPushButton(typeComposite,
- ConsumptionUIMessages.BUTTON_BROWSE, ConsumptionUIMessages.TOOLTIP_WSWSCEN_BUTTON_BROWSE_IMPL, null);
-
- IWorkbench workbench = PlatformUI.getWorkbench();
- browseDialog_ = new ServiceImplSelectionDialog(workbench.getActiveWorkbenchWindow().getShell(),
- new PageInfo(ConsumptionUIMessages.DIALOG_TITILE_SERVICE_IMPL_SELECTION, "",
- new WidgetContributorFactory()
- {
- public WidgetContributor create()
- {
- return new ObjectSelectionWidget();
- }
- }));
- browseButton_.addSelectionListener(new ServiceImplBrowseListener());
- }
- // Service Lifecycle section - scales for service & client, graphic
-
- groupComposite_ = new Composite(parent, SWT.NONE);
- GridLayout gclayout = new GridLayout();
- gclayout.numColumns = 2;
- gclayout.horizontalSpacing=0;
- gclayout.marginHeight=0;
- gclayout.marginBottom=5;
- groupComposite_.setLayout( gclayout );
- GridData gcGridData = new GridData(SWT.BEGINNING, SWT.BEGINNING, true, true);
- groupComposite_.setLayoutData(gcGridData);
-
- groupComposite_.addControlListener(new ControlListener()
- {
- public void controlMoved(ControlEvent e) {
- // TODO Auto-generated method stub
-
- }
- public void controlResized(ControlEvent e) {
- groupComposite_.pack(true);
- }
- });
-
- serviceComposite_ = new Composite(groupComposite_, SWT.NONE);
- GridLayout gridlayout = new GridLayout();
- gridlayout.numColumns = 2;
- gridlayout.horizontalSpacing=0;
- gridlayout.marginHeight=0;
- serviceComposite_.setLayout( gridlayout );
- GridData scGridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- serviceComposite_.setLayoutData(scGridData);
-
- serviceComposite_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_SERVICE);
-
-
- serviceScale_ = new Scale(serviceComposite_, SWT.VERTICAL | SWT.BORDER);
- utils_.createInfoPop(serviceScale_, INFOPOP_WSWSCEN_SCALE_SERVICE);
- serviceScale_.setMinimum(0);
- serviceScale_.setMaximum(6);
- serviceScale_.setIncrement(1);
- serviceScale_.setPageIncrement(1);
- serviceScale_.addSelectionListener(scaleSelectionListener);
- serviceScale_.setSelection(getServiceGeneration());
- serviceScale_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_SERVICE);
-
- Accessible accessibleScale = serviceScale_.getAccessible();
- accessibleScale.addAccessibleListener(new AccessibleAdapter(){
- // return a string that describes what to do with the slider
- // this is read by the screen reader when the slider first gets focus
- public void getName(AccessibleEvent e) {
- e.result = ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_SERVICE;
- }
- });
- accessibleScale.addAccessibleControlListener(new AccessibleControlAdapter(){
- // return a meaningful string when the screen reader
- // attempts to get the value from the service scale
- public void getValue(AccessibleControlEvent e) {
- int selection = serviceScale_.getSelection();
- switch (selection) {
- case 0:
- e.result = ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_TEST;
- break;
- case 1:
- e.result = ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_RUN;
- break;
- case 2:
- e.result = ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_INSTALL;
- break;
- case 3:
- e.result = ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_DEPLOY;
- break;
- case 4:
- e.result = ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_ASSEMBLE;
- break;
- case 5:
- case 6:
- e.result = ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_DEVELOP;
- break;
- default:
- break;
- }
- }
- });
-
- GridData layoutData1 = new GridData();
- layoutData1.horizontalAlignment=SWT.CENTER;
- layoutData1.verticalAlignment = SWT.BEGINNING;
- Rectangle scaleR = (imageReg_.get(ICON_SCALE_BG_0)).getBounds();
- layoutData1.heightHint=scaleR.height;
- layoutData1.widthHint=scaleR.width+1;
- serviceScale_.setLayoutData(layoutData1);
-
- topologySpot_ = new Label(serviceComposite_, SWT.BORDER | SWT.TOP );
- topologySpot_.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- topologySpot_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_SERVICE);
-
- GridData layoutData2 = new GridData();
- layoutData2.horizontalAlignment=SWT.BEGINNING;
- layoutData2.verticalAlignment = SWT.BEGINNING;
- Rectangle topR = (imageReg_.get(GRAPHIC_SERVICE_0)).getBounds();
- layoutData2.heightHint=topR.height;
- layoutData2.widthHint=topR.width;
- topologySpot_.setLayoutData(layoutData2);
-
- setGraphics(getServiceGeneration());
-
- hCompService_ = utils_.createComposite(groupComposite_, 1);
-
- Label serviceDetailsLabel = new Label(hCompService_, SWT.NONE);
- serviceDetailsLabel.setText(ConsumptionUIMessages.LABEL_SUMMARY);
-
- hLinkServiceServer_= new Hyperlink(hCompService_, SWT.NULL);
- utils_.createInfoPop(hLinkServiceServer_, INFOPOP_WSWSCEN_HYPERLINK_SERVER);
- hLinkServiceServer_.setToolTipText(ConsumptionUIMessages.TOOLTIP_PWRS_TEXT_SERVER);
- hLinkServiceServer_.addHyperlinkListener(new IHyperlinkListener(){
- public void linkActivated(HyperlinkEvent e){
- launchRuntimeSelectionDialog(false, true);
- }
- public void linkEntered(HyperlinkEvent e){}
- public void linkExited(HyperlinkEvent e){}
- });
-
- hLinkServiceRuntime_ = new Hyperlink(hCompService_, SWT.NULL);
- utils_.createInfoPop(hLinkServiceRuntime_, INFOPOP_WSWSCEN_HYPERLINK_RUNTIME);
- hLinkServiceRuntime_.setToolTipText(ConsumptionUIMessages.TOOLTIP_PWRS_TEXT_RUNTIME);
- hLinkServiceRuntime_.addHyperlinkListener(new IHyperlinkListener(){
- public void linkActivated(HyperlinkEvent e){
- launchRuntimeSelectionDialog(false);
- }
- public void linkEntered(HyperlinkEvent e){}
- public void linkExited(HyperlinkEvent e){}
- });
-
- IWorkbench workbench = PlatformUI.getWorkbench();
- projectDialog_ = new ProjectSelectionDialog(workbench.getActiveWorkbenchWindow().getShell(),
- new PageInfo(ConsumptionUIMessages.DIALOG_TITILE_SERVICE_PROJECT_SETTINGS, "",
- new WidgetContributorFactory()
- {
- public WidgetContributor create()
- {
- return new ProjectSelectionWidget();
- }
- }));
-
- hLinkServiceProject_= new Hyperlink(hCompService_, SWT.NULL);
- utils_.createInfoPop(hLinkServiceRuntime_, INFOPOP_WSWSCEN_HYPERLINK_PROJECTS);
- hLinkServiceProject_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSWSCEN_SERVICEPROJECT_LINK);
- hLinkServiceProject_.addHyperlinkListener(new IHyperlinkListener(){
- public void linkActivated(HyperlinkEvent e){
- launchProjectDialog();
- }
- public void linkEntered(HyperlinkEvent e){}
- public void linkExited(HyperlinkEvent e){}
- });
-
- hLinkServiceEAR_= new Hyperlink(hCompService_, SWT.NULL);
- utils_.createInfoPop(hLinkServiceRuntime_, INFOPOP_WSWSCEN_HYPERLINK_PROJECTS);
- hLinkServiceEAR_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSWSCEN_SERVICEPROJECT_LINK);
- hLinkServiceEAR_.addHyperlinkListener(new IHyperlinkListener(){
- public void linkActivated(HyperlinkEvent e){
- launchProjectDialog();
- }
- public void linkEntered(HyperlinkEvent e){}
- public void linkExited(HyperlinkEvent e){}
- });
-
- hLinkServiceServer_.setText(SERVICE_SERVER_PREFIX);
- hLinkServiceRuntime_.setText(SERVICE_RUNTIME_PREFIX);
- hLinkServiceProject_.setText(SERVICE_PROJECT_PREFIX);
- hLinkServiceEAR_.setText(SERVICE_EAR_PREFIX);
-
- HyperlinkGroup serverRuntimeGroup = new HyperlinkGroup(Display.getCurrent());
-
- serverRuntimeGroup.add(hLinkServiceServer_);
- serverRuntimeGroup.add(hLinkServiceRuntime_);
- serverRuntimeGroup.add(hLinkServiceProject_);
- serverRuntimeGroup.add(hLinkServiceEAR_);
- serverRuntimeGroup.setHyperlinkUnderlineMode(HyperlinkSettings.UNDERLINE_ALWAYS);
-
- utils_.createHorizontalSeparator(parent, 1);
-
- // Add client widgets...
- clientWidget_ = new WebServiceClientTypeWidget(false);
- clientWidget_.addControls(parent, statusListener );
- clientWidget_.setPackable(this);
- clientWidget_.enableClientSlider(serviceScale_.getSelection()<=ScenarioContext.WS_START);
-
- // Advanced buttons section
- utils_.createHorizontalSeparator(parent, 3);
-
- Composite advancedButtonPanel = utils_.createComposite(parent, 1);
-
- publishButton_ = utils_.createCheckbox(advancedButtonPanel,
- ConsumptionUIMessages.BUTTON_WSWSCEN_PUBLISH, ConsumptionUIMessages.TOOLTIP_PWPR_CHECKBOX_LAUNCH_WS, INFOPOP_WSWSCEN_CHECKBOX_LAUNCH_WS);
- monitorButton_ = utils_.createCheckbox(advancedButtonPanel,
- ConsumptionUIMessages.CHECKBOX_MONITOR_WEBSERVICE, ConsumptionUIMessages.TOOLTIP_PWPR_CHECKBOX_MONITOR_SERVICE, INFOPOP_WSWSCEN_CHECKBOX_MONITOR_SERVICE);
-
- if (displayPreferences_ && getResourceContext().isOverwriteFilesEnabled()) {
- utils_.createHorizontalSeparator(parent, 1);
- Composite prefButtonPanel = utils_.createComposite(parent, 1);
- overwriteButton_ = utils_.createCheckbox(prefButtonPanel,
- ConsumptionUIMessages.CHECKBOX_OVERWRITE_FILES, ConsumptionUIMessages.TOOLTIP_WSWSCEN_BUTTON_OVERWRITE_FILES, INFOPOP_WSWSCEN_CHECKBOX_OVERWRITE);
- overwriteButton_.setSelection(getResourceContext()
- .isOverwriteFilesEnabled());
- overwriteButton_.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- getResourceContext().setOverwriteFilesEnabled(overwriteButton_.getSelection());
- }
- });
- }
-
- return this;
- }
-
- private void launchProjectDialog()
- {
- String currentProjectName = getServiceProjectName();
- String currentEarProjectName = getServiceEarProjectName();
- String currentProjectType = getServiceComponentType();
- boolean currentNeedEar = getServiceNeedEAR();
-
- projectDialog_.setProjectName(currentProjectName);
- projectDialog_.setEarProjectName(currentEarProjectName);
- projectDialog_.setProjectComponentType(currentProjectType);
- projectDialog_.setNeedEAR(currentNeedEar);
-
- int status = projectDialog_.open();
- if (status == Window.OK)
- {
- String newProjectName = projectDialog_.getProjectName();
- String newEarProjectName = projectDialog_.getEarProjectName();
- String newProjectType = projectDialog_.getProjectComponentType();
- boolean newNeedEar = projectDialog_.getNeedEAR();
-
- //Update project settings and validate page if selections changed.
- if (!newProjectName.equals(currentProjectName)
- || !newEarProjectName.equals(currentEarProjectName)
- || !newProjectType.equals(currentProjectType)
- || newNeedEar != currentNeedEar) {
- setServiceProjectName(newProjectName);
- setServiceEarProjectName(newEarProjectName);
- setServiceComponentType(newProjectType);
- setServiceNeedEAR(newNeedEar);
- validationState_ = (new ValidationUtils()).getNewValidationState(validationState_, ValidationUtils.VALIDATE_PROJECT_CHANGES);
- statusListener_.handleEvent(null);
- }
-
- /*check to see if text has changed for project and EAR
- if so, repaint links */
- if (!newProjectName.equals(currentProjectName))
- {
- hLinkServiceProject_.pack(true);
- packSelf();
- }
- if (!newEarProjectName.equals(currentEarProjectName))
- {
- hLinkServiceEAR_.pack(true);
- packSelf();
- }
- }
- }
-
- private void launchRuntimeSelectionDialog(boolean clientContext)
- {
- launchRuntimeSelectionDialog(clientContext, false);
- }
-
- private void launchRuntimeSelectionDialog(boolean clientContext, boolean selectServerFirst)
- {
- byte mode = clientContext ? (byte)1 : (byte)0;
-
- //TODO: jvh - investigate - don't think j2ee version shouldn't be hard coded (last parm)
- // question - where to pick it up from?
- //Remember the current values
- TypeRuntimeServer currentServiceTRS = getServiceTypeRuntimeServer();
- IWorkbench workbench = PlatformUI.getWorkbench();
- RuntimeServerSelectionDialog rssd = new RuntimeServerSelectionDialog(
- workbench.getActiveWorkbenchWindow().getShell(), mode, currentServiceTRS, "14");
- rssd.setSelectServerFirst(selectServerFirst);
- int result = rssd.open();
- if (result == Window.OK)
- {
- TypeRuntimeServer newServiceTRS = rssd.getTypeRuntimeServer();
- if (!currentServiceTRS.equals(newServiceTRS))
- {
- setServiceTypeRuntimeServer(newServiceTRS);
- refreshClientServerRuntimeSelection();
- validationState_ = (new ValidationUtils()).getNewValidationState(validationState_, ValidationUtils.VALIDATE_SERVER_RUNTIME_CHANGES);
- clientWidget_.setValidationState(ValidationUtils.VALIDATE_SERVER_RUNTIME_CHANGES);
- statusListener_.handleEvent(null); //Revalidate the page since server/runtime selections changed.
- }
-
- }
- }
-
- public void setClientTypeRuntimeServer(TypeRuntimeServer ids) {
- clientWidget_.setTypeRuntimeServer( ids );
- }
-
- public TypeRuntimeServer getClientTypeRuntimeServer() {
- return clientWidget_.getTypeRuntimeServer();
- }
-
- public void setInstallClient(Boolean install) {
- clientWidget_.setInstallClient( install );
- }
-
- public Boolean getInstallClient() {
- return clientWidget_.getInstallClient();
- }
-
- public void setStartClient(Boolean startClient) {
- clientWidget_.setStartClient( startClient );
- }
-
- public Boolean getStartClient() {
- return clientWidget_.getStartClient();
- }
-
- public void setTestClient(Boolean testClient) {
- clientWidget_.setTestClient( testClient );
- }
-
- public Boolean getTestClient() {
- return clientWidget_.getTestClient();
- }
-
- public void setDevelopClient(boolean develop) {
- clientWidget_.setDevelopClient( develop );
- }
-
- public boolean getDevelopClient() {
- return clientWidget_.getDevelopClient();
- }
-
- public void setAssembleClient(boolean assemble) {
- clientWidget_.setAssembleClient( assemble );
- }
-
- public boolean getAssembleClient() {
- return clientWidget_.getAssembleClient();
- }
-
- public void setDeployClient(boolean deploy) {
- clientWidget_.setDeployClient( deploy );
- }
-
- public boolean getDeployClient() {
- return clientWidget_.getDeployClient();
- }
-
-private void handleTypeChange()
- {
- if (!preferencesPage_) {
- int scenario = getWebServiceScenario();
-
- if (scenario == WebServiceScenario.BOTTOMUP)
- {
- serviceLabel_.setText(ConsumptionUIMessages.LABEL_WEBSERVICEIMPL);
- }
- else if (scenario == WebServiceScenario.TOPDOWN)
- {
- serviceLabel_.setText(ConsumptionUIMessages.LABEL_WEBSERVICEDEF);
- }
- }
- }
-
- public void setServiceTypeRuntimeServer(TypeRuntimeServer ids) {
- LabelsAndIds labelIds = WebServiceRuntimeExtensionUtils2
- .getServiceTypeLabels();
- // rskreg
- int selection = 0;
- String[] serviceIds = labelIds.getIds_();
- String selectedId = ids.getTypeId();
-
- webserviceType_.setItems(labelIds.getLabels_());
-
- // Now find the selected one.
- for (int index = 0; index < serviceIds.length; index++) {
- if (selectedId.equals(serviceIds[index])) {
- selection = index;
- break;
- }
- }
- webserviceType_.select(selection);
-
- ids_ = ids;
-
- if (ids_ != null)
- {
- String serviceServerText = "";
- String serverId = ids_.getServerId();
- if (serverId != null && serverId.length()>0)
- {
- serviceServerText = WebServiceRuntimeExtensionUtils2.getServerLabelById(serverId);
- }
- String serviceRuntimeText = WebServiceRuntimeExtensionUtils2.getRuntimeLabelById(ids_.getRuntimeId());
-
- String currentServerText = hLinkServiceServer_.getText();
- String currentRuntimeText = hLinkServiceRuntime_.getText();
- String newServerText = SERVICE_SERVER_PREFIX + " " + serviceServerText;
- String newRuntimeText = SERVICE_RUNTIME_PREFIX + " " + serviceRuntimeText;
- hLinkServiceServer_.setText(newServerText);
- hLinkServiceRuntime_.setText(newRuntimeText);
-
- /*check to see if text has changed for server or runtime
- if so, repaint links */
- if (!newServerText.equals(currentServerText))
- {
- hLinkServiceServer_.pack(true);
- packSelf();
- }
-
- if (!newRuntimeText.equals(currentRuntimeText))
- {
- hLinkServiceRuntime_.pack(true);
- packSelf();
- }
- }
- labelIds_ = labelIds;
- handleTypeChange();
-
- if (projectDialog_ != null)
- projectDialog_.setTypeRuntimeServer(ids_);
-
-
- //When the server changes, the state of needEar could change.
- //If the the server change results in a change in the state of needEar,
- //update needEar and serviceEarProjectName.
- ValidationUtils vu = new ValidationUtils();
- boolean oldNeedEar = getServiceNeedEAR();
- boolean serviceProjectOrProjectTypeNeedsEar;
-
- if (!oldNeedEar)
- {
- //If an EAR was not needed previously it could have been because of the project/project type or the server.
- //If it was because of the project/project type, changing the server should have no impact
- //on the state of needEar.
- serviceProjectOrProjectTypeNeedsEar = vu.projectOrProjectTypeNeedsEar(getServiceProjectName(), getServiceComponentType());
- }
- else
- {
- serviceProjectOrProjectTypeNeedsEar = true;
- }
-
- //boolean serviceProjectOrProjectTypeNeedsEar = vu.projectOrProjectTypeNeedsEar(getServiceProjectName(), getServiceComponentType());
- if (serviceProjectOrProjectTypeNeedsEar)
- {
- //Could not rule out need for an Ear from the project/project type so changing the server
- //may impact the need for an Ear.
-
- boolean currentServiceServerNeedsEar = vu.serverNeedsEAR(getServiceTypeRuntimeServer().getServerId());
- if (oldNeedEar != currentServiceServerNeedsEar)
- {
- //Update needEar and serviceEarProjectName.
- if (currentServiceServerNeedsEar)
- {
- //Calculate a reasonable default for the Ear project name
- String earProjectName = DefaultingUtils.getDefaultEARProjectName(getServiceProjectName());
- setServiceNeedEAR(currentServiceServerNeedsEar);
- setServiceEarProjectName(earProjectName);
- }
- else
- {
- setServiceNeedEAR(currentServiceServerNeedsEar);
- setServiceEarProjectName("");
- }
-
- }
- }
- }
-
- public TypeRuntimeServer getServiceTypeRuntimeServer() {
- return ids_;
- }
-
- public void setServiceGeneration(int value)
- {
- serviceScale_.setSelection(value);
- setGraphics(value);
-
- //enable client widget based on service scale setting
- clientWidget_.enableClientSlider(value<=ScenarioContext.WS_START);
-
- /*for popup case need to make sure that the UI is refreshed based on
- changes to data*/
- packSelf();
- }
-
- public int getServiceGeneration()
- {
- return serviceScale_.getSelection();
- }
-
- public boolean getDevelopService() {
- return developService_;
- }
-
- public void setDevelopService(boolean developService) {
- this.developService_ = developService;
- }
-
- public boolean getAssembleService() {
- return assembleService_;
- }
-
- public void setAssembleService(boolean assembleService) {
- this.assembleService_ = assembleService;
- }
-
- public boolean getDeployService() {
- return deployService_;
- }
-
- public void setDeployService(boolean deployService) {
- this.deployService_ = deployService;
- }
-
- public Boolean getStartService(){
- return startService_;
- }
-
- public void setStartService(Boolean value) {
- startService_=value;
- }
-
- public Boolean getInstallService() {
- return installService_;
- }
-
- public void setInstallService(Boolean value) {
- installService_=value;
- }
-
- public Boolean getTestService() {
- return
- new Boolean( testService_.booleanValue() || clientWidget_.getTestClient().booleanValue());
- }
-
- public void setTestService(Boolean value) {
- testService_= value;
- }
- public Boolean getMonitorService() {
- return new Boolean(monitorButton_.getSelection());
- }
-
- public void setMonitorService(Boolean value) {
- monitorButton_.setSelection(value.booleanValue());
- }
-
- public Boolean getPublishService() {
- return new Boolean(publishButton_.getSelection());
- }
-
- public void setPublishService(Boolean value) {
- publishButton_.setSelection( value.booleanValue() );
- }
-
- public Boolean getGenerateProxy() {
- return new Boolean(clientWidget_.getGenerateProxy());
- }
-
- public void setClientGeneration(int value)
- {
- clientWidget_.setClientGeneration(value);
- /*for popup case need to make sure that the UI is refreshed based on
- changes to data*/
- packSelf();
- }
-
- public String getClientEarProjectName()
- {
- return clientWidget_.getClientEarProjectName();
- }
-
- public String getClientProjectName()
- {
- return clientWidget_.getClientProjectName();
- }
-
- public int getClientGeneration()
- {
- return clientWidget_.getClientGeneration();
- }
-
- public ResourceContext getResourceContext() {
- if (resourceContext_ == null) {
- resourceContext_ = WebServicePlugin.getInstance()
- .getResourceContext();
- }
- return resourceContext_;
- }
-
- public void setResourceContext(ResourceContext context) {
- resourceContext_ = context;
- }
-
- public IStructuredSelection getObjectSelection()
- {
- return objectSelection_;
- }
-
- public void setObjectSelection(IStructuredSelection selection )
- {
- objectSelection_ = selection;
- }
-
- public WebServicesParser getWebServicesParser()
- {
- return parser_;
- }
-
- public void setWebServicesParser(WebServicesParser parser)
- {
- parser_ = parser;
- clientWidget_.setWebServicesParser(parser);
- }
-
- public void internalize() {
-
- if (preferencesPage_)
- return;
-
- if (objectSelectionWidget_ == null)
- objectSelectionWidget_ = getSelectionWidget();
-
- String displayable = null;
-
- if (objectSelectionWidget_ instanceof IObjectSelectionLaunchable) {
- IObjectSelectionLaunchable launchable = (IObjectSelectionLaunchable) objectSelectionWidget_;
- launchable.setInitialSelection(objectSelection_);
- objectSelection_ = launchable.getObjectSelection();
- displayable = launchable.getObjectSelectionDisplayableString();
- }
- else {
- IObjectSelectionWidget selectionWidget = (IObjectSelectionWidget) objectSelectionWidget_;
- selectionWidget.setInitialSelection(objectSelection_);
- displayable = selectionWidget.getObjectSelectionDisplayableString();
- }
-
- if (displayable == null || displayable.length() == 0)
- return;
-
- serviceImpl_.removeModifyListener(objectModifyListener_);
- serviceImpl_.setText(displayable);
- serviceImpl_.addModifyListener(objectModifyListener_);
- }
-
- public IStatus getStatus() {
- IStatus status = Status.OK_STATUS;
-
- IStatus missingFieldStatus = checkMissingFieldStatus();
- if (missingFieldStatus.getSeverity() == IStatus.ERROR) {
- return missingFieldStatus;
- }
-
- IStatus serviceImplValidationStatus = checkServiceImplTextStatus();
- if (serviceImplValidationStatus.getSeverity() == IStatus.ERROR) {
- return serviceImplValidationStatus;
- }
- else if (serviceImplValidationStatus.getSeverity() == IStatus.WARNING){
- return serviceImplValidationStatus;
- }
-
- IStatus possibleErrorStatus = checkErrorStatus();
- if (possibleErrorStatus.getSeverity() == IStatus.ERROR || possibleErrorStatus.getSeverity() == IStatus.WARNING) {
- return possibleErrorStatus;
- }
-
- IStatus possibleWarningStatus = checkWarningStatus();
- if (possibleWarningStatus.getSeverity() == IStatus.WARNING) {
- return possibleWarningStatus;
- }
-
- // If no warnings/errors were reported, clear validation state on
- // service side and client side (if enabled)
- validationState_ = ValidationUtils.VALIDATE_NONE;
- if (clientWidget_.getGenerateProxy()) {
- clientWidget_.setValidationState(ValidationUtils.VALIDATE_NONE);
- }
-
- return status;
- }
-
- /*
- * call validation code in the object selection widget to ensure any
- * modifications to the serviceImpl_ field are valid
- */
- private IStatus checkServiceImplTextStatus() {
-
- String fieldText = serviceImpl_.getText().trim();
-
- if (objectSelectionWidget_ == null)
- {
- objectSelectionWidget_ = getSelectionWidget();
- }
-
- IObjectSelectionLaunchable launchable = null;
- if (objectSelectionWidget_ instanceof IObjectSelectionLaunchable)
- {
- launchable = (IObjectSelectionLaunchable)objectSelectionWidget_;
- validObjectSelection_ = launchable.validate(fieldText);
- }
- else
- {
- IObjectSelectionWidget widget = (IObjectSelectionWidget)objectSelectionWidget_;
- validObjectSelection_ = widget.validate(fieldText);
- }
-
- if (!validObjectSelection_)
- {
- int scenario = getWebServiceScenario();
-
- if (scenario == WebServiceScenario.BOTTOMUP){
- if (launchable != null){
- IStatus valStatus = launchable.validateSelection(new StructuredSelection(fieldText));
- if (valStatus.getSeverity() == IStatus.WARNING)
- return StatusUtils.warningStatus(ConsumptionUIMessages.MSG_WARN_SERVICE_IMPL_NAMING_CONVENTION);
- }
- else
- return StatusUtils.errorStatus(ConsumptionUIMessages.MSG_INVALID_SERVICE_IMPL);
- }
- else
- return StatusUtils.errorStatus(ConsumptionUIMessages.MSG_INVALID_SERVICE_DEF);
- }
-
- return Status.OK_STATUS;
- }
-
- private int getWebServiceScenario()
- {
- int index = webserviceType_.getSelectionIndex();
- String typeId = labelIds_.getIds_()[index];
- return WebServiceRuntimeExtensionUtils2.getScenarioFromTypeId(typeId);
- }
-
- private IStatus checkMissingFieldStatus() {
-
- // 1. Check for missing fields on service side
- ValidationUtils valUtils = new ValidationUtils();
- String serviceImpl = serviceImpl_.getText().trim();
- String typeId = getServiceTypeRuntimeServer().getTypeId();
- String runtimeId = getServiceTypeRuntimeServer().getRuntimeId();
- String serverId = getServiceTypeRuntimeServer().getServerId();
- String projectName = getServiceProjectName();
- boolean needEar = getServiceNeedEAR();
- String earProjectName = getServiceEarProjectName();
- String projectTypeId = getServiceComponentType();
-
- IStatus serviceMissingFieldStatus = valUtils.checkMissingFieldStatus(validationState_, typeId, serviceImpl,
- runtimeId, serverId, projectName, needEar, earProjectName, projectTypeId, false);
- if (serviceMissingFieldStatus.getSeverity() == IStatus.ERROR) {
- return serviceMissingFieldStatus;
- }
-
- // 2. Check for missing fields on the client side if it's visible.
- if (clientWidget_.getGenerateProxy()) {
- IStatus clientMissingFieldsStatus = clientWidget_.checkMissingFieldStatus();
- if (clientMissingFieldsStatus.getSeverity() == IStatus.ERROR) {
- return clientMissingFieldsStatus;
- }
-
- }
-
- return Status.OK_STATUS;
- }
-
- private IStatus checkErrorStatus() {
-
- ValidationUtils valUtils = new ValidationUtils();
-
- // 1. Check for errors on service side
- String runtimeId = getServiceTypeRuntimeServer().getRuntimeId();
- String serverId = getServiceTypeRuntimeServer().getServerId();
- String serverInstanceId = getServiceTypeRuntimeServer().getServerInstanceId();
- String typeId = getServiceTypeRuntimeServer().getTypeId();
- String projectName = getServiceProjectName();
- boolean needEar = getServiceNeedEAR();
- String earProjectName = getServiceEarProjectName();
- String projectTypeId = getServiceComponentType();
- String initialProjectName = "";
- if (initialProject_ != null) {
- initialProjectName = initialProject_.getName();
- }
- IStatus serviceSideErrorStatus = valUtils.checkErrorStatus(validationState_, typeId, runtimeId, serverId,
- serverInstanceId, projectName, initialProjectName, needEar, earProjectName, projectTypeId, false);
- if (serviceSideErrorStatus.getSeverity() == IStatus.ERROR) {
- return serviceSideErrorStatus;
- }
-
- // 2. Check for errors on client side if it is visible
- if (clientWidget_.getGenerateProxy()) {
- IStatus clientSideErrorStatus = clientWidget_.checkErrorStatus();
- if (clientSideErrorStatus.getSeverity() == IStatus.ERROR) {
- return clientSideErrorStatus;
- }
-
- // 3. Check for errors that span service and client if client side
- // is visible.
- int clientValidationState = clientWidget_.getValidationState();
- if (validationState_ == ValidationUtils.VALIDATE_ALL
- || validationState_ == ValidationUtils.VALIDATE_PROJECT_CHANGES
- || clientValidationState == ValidationUtils.VALIDATE_ALL
- || clientValidationState == ValidationUtils.VALIDATE_PROJECT_CHANGES) {
- IWebServiceRuntimeChecker runtimeChecker = null;
-
- String serviceRuntimeId = WebServiceRuntimeExtensionUtils2.getServiceRuntimeId(getServiceTypeRuntimeServer(), projectName, projectTypeId);
- runtimeChecker = WebServiceRuntimeExtensionUtils2.getServiceRuntimeChecker(serviceRuntimeId);
-
- if (runtimeChecker != null) {
- return runtimeChecker.checkServiceClientCompatibility(
- getServiceNeedEAR(), getServiceEarProjectName(), getServiceProjectName(),
- clientWidget_.getClientNeedEAR(), clientWidget_.getClientEarProjectName(),
- clientWidget_.getClientProjectName());
- }
- }
- }
-
- return Status.OK_STATUS;
- }
-
- private IStatus checkWarningStatus() {
- ValidationUtils valUtils = new ValidationUtils();
- // 1. Check for warnings on the service side
- int scaleSetting = getServiceGeneration();
- String serverId = getServiceTypeRuntimeServer().getServerId();
- IStatus serviceWarningStatus = valUtils.checkWarningStatus(validationState_, scaleSetting, serverId, getServiceTypeRuntimeServer().getServerInstanceId(), false);
- if (serviceWarningStatus.getSeverity() == IStatus.WARNING) {
- return serviceWarningStatus;
- }
-
- // 2. Check for warnings on the client side if it's enabled
- if (clientWidget_.getGenerateProxy()) {
- IStatus clientWarningStatus = clientWidget_.checkWarningStatus();
- if (clientWarningStatus.getSeverity() == IStatus.WARNING) {
- return clientWarningStatus;
- }
-
- }
-
- return Status.OK_STATUS;
- }
-
- protected void initImageRegistry()
- {
- imageReg_ = new ImageRegistry(Display.getCurrent());
-
- imageReg_.put(ICON_SCALE_BG_0, WebServiceConsumptionUIPlugin
- .getImageDescriptor(ICON_SCALE_BG_0));
- imageReg_.put(ICON_SCALE_BG_1, WebServiceConsumptionUIPlugin
- .getImageDescriptor(ICON_SCALE_BG_1));
- imageReg_.put(ICON_SCALE_BG_2, WebServiceConsumptionUIPlugin
- .getImageDescriptor(ICON_SCALE_BG_2));
- imageReg_.put(ICON_SCALE_BG_3, WebServiceConsumptionUIPlugin
- .getImageDescriptor(ICON_SCALE_BG_3));
- imageReg_.put(ICON_SCALE_BG_4, WebServiceConsumptionUIPlugin
- .getImageDescriptor(ICON_SCALE_BG_4));
- imageReg_.put(ICON_SCALE_BG_5, WebServiceConsumptionUIPlugin
- .getImageDescriptor(ICON_SCALE_BG_5));
- imageReg_.put(ICON_SCALE_BG_6, WebServiceConsumptionUIPlugin
- .getImageDescriptor(ICON_SCALE_BG_6));
-
- imageReg_.put(GRAPHIC_SERVICE_0, WebServiceCreationUIPlugin
- .getImageDescriptor(GRAPHIC_SERVICE_0));
- imageReg_.put(GRAPHIC_SERVICE_1, WebServiceCreationUIPlugin
- .getImageDescriptor(GRAPHIC_SERVICE_1));
- imageReg_.put(GRAPHIC_SERVICE_2, WebServiceCreationUIPlugin
- .getImageDescriptor(GRAPHIC_SERVICE_2));
- imageReg_.put(GRAPHIC_SERVICE_3, WebServiceCreationUIPlugin
- .getImageDescriptor(GRAPHIC_SERVICE_3));
- imageReg_.put(GRAPHIC_SERVICE_4, WebServiceCreationUIPlugin
- .getImageDescriptor(GRAPHIC_SERVICE_4));
- imageReg_.put(GRAPHIC_SERVICE_5, WebServiceCreationUIPlugin
- .getImageDescriptor(GRAPHIC_SERVICE_5));
- }
-
- private void setAdvancedOptions(boolean enabled)
- {
- monitorButton_.setEnabled(enabled);
- publishButton_.setEnabled(enabled);
- }
-
- public void setServiceProjectName(String name)
- {
- serviceProjectName_= name;
- hLinkServiceProject_.setText(SERVICE_PROJECT_PREFIX + " " + serviceProjectName_);
- hLinkServiceProject_.pack(true);
- packSelf();
- }
-
- public void setInitialProject(IProject project)
- {
- initialProject_ = project;
- }
-
- public void setServiceEarProjectName(String name)
- {
- serviceEarProjectName_ = name;
- refreshEARLink();
- }
-
- public void refreshEARLink()
- {
- hLinkServiceEAR_.setVisible(needEar_);
- if (needEar_)
- {
- hLinkServiceEAR_.setText(SERVICE_EAR_PREFIX + " " + serviceEarProjectName_);
- hLinkServiceEAR_.pack(true);
- packSelf();
- }
- }
- public void setServiceComponentType( String type )
- {
- serviceComponentType_ = type;
- }
-
- public void setClientProjectName(String name)
- {
- clientWidget_.setClientProjectName(name);
- }
-
- public void setClientEarProjectName(String name)
- {
- clientWidget_.setClientEarProjectName(name);
- }
-
- IProject project_;
-
- public String getServiceComponentType()
- {
- return serviceComponentType_;
- }
-
- public void setClientComponentType(String type)
- {
- clientWidget_.setClientComponentType(type);
- }
-
- public String getClientComponentType()
- {
- return clientWidget_.getClientComponentType();
- }
-
- public String getServiceProjectName()
- {
- return serviceProjectName_;
- }
-
- public String getServiceEarProjectName()
- {
- return serviceEarProjectName_;
- }
-
- public void setClientProject(IProject project)
- {
- clientWidget_.setProject(project);
- }
-
- private IProject getClientProject()
- {
- return clientWidget_.getProject();
- }
-
- public void setProject(IProject project)
- {
- project_ = project;
- }
-
- public IProject getProject()
- {
- return project_;
- }
-
- public String getServiceRuntimeId()
- {
- // calculate the most appropriate serviceRuntimeId based on current settings.
- return WebServiceRuntimeExtensionUtils2.getServiceRuntimeId(getServiceTypeRuntimeServer(), getServiceProjectName(), getServiceComponentType());
- }
-
- public String getClientRuntimeId()
- {
- return clientWidget_.getClientRuntimeId();
- }
-
- public void setServiceNeedEAR(boolean b)
- {
- needEar_ = b;
- refreshEARLink();
- }
-
- public boolean getServiceNeedEAR()
- {
- return needEar_;
- }
-
- public void setClientNeedEAR(boolean b)
- {
- clientWidget_.setClientNeedEAR(b);
- }
-
- public boolean getClientNeedEAR()
- {
- return clientWidget_.getClientNeedEAR();
- }
-
- // looks through extensions and returns the appropriate selection widget
- private Object getSelectionWidget()
- {
- String wst = getServiceTypeRuntimeServer().getTypeId();
- int scenario = WebServiceRuntimeExtensionUtils2.getScenarioFromTypeId(wst);
- String implId = WebServiceRuntimeExtensionUtils2.getWebServiceImplIdFromTypeId(wst);
- WebServiceImpl wsimpl = WebServiceRuntimeExtensionUtils2.getWebServiceImplById(implId);
- Object result = null;
-
-
- if (wsimpl != null)
- {
- String objectSelectionWidgetId = null;
- if (scenario == WebServiceScenario.TOPDOWN)
- {
- objectSelectionWidgetId = "org.eclipse.jst.ws.internal.consumption.ui.widgets.object.WSDLSelectionWidget";
- }
- else
- {
- objectSelectionWidgetId = wsimpl.getObjectSelectionWidget();
- }
-
- ObjectSelectionRegistry registry = ObjectSelectionRegistry.getInstance();
- boolean editable = registry.getExternalModify( objectSelectionWidgetId );
-
- serviceImpl_.setEditable( editable );
- result = registry.getSelectionWidget( objectSelectionWidgetId );
- }
-
- return result;
- }
-
- // for the purposes of disabling the service implementation controls from the preferences dialog
- public void disableNonPreferenceWidgets()
- {
- if (serviceImpl_ != null)
- serviceImpl_.setEnabled(false);
- if (browseButton_ != null)
- browseButton_.setEnabled(false);
- if (hCompService_ != null)
- {
- hCompService_.setVisible(false);
- }
- clientWidget_.disableNonPreferenceWidgets();
- }
-
- private void setGraphics(int value)
- {
- String iconImage = "";
- String toplogyImage = "";
- switch (value) {
- case 0:
- iconImage=ICON_SCALE_BG_0;
- toplogyImage=GRAPHIC_SERVICE_0;
- break;
- case 1:
- iconImage=ICON_SCALE_BG_1;
- toplogyImage=GRAPHIC_SERVICE_1;
- break;
- case 2:
- iconImage=ICON_SCALE_BG_2;
- toplogyImage=GRAPHIC_SERVICE_2;
- break;
- case 3:
- iconImage=ICON_SCALE_BG_3;
- toplogyImage=GRAPHIC_SERVICE_3;
- break;
- case 4:
- iconImage=ICON_SCALE_BG_4;
- toplogyImage=GRAPHIC_SERVICE_4;
- break;
- case 5:
- case 6:
- iconImage=ICON_SCALE_BG_5;
- toplogyImage=GRAPHIC_SERVICE_5;
- break;
- default:
- break;
- }
- serviceScale_.setBackgroundImage(imageReg_.get(iconImage));
- topologySpot_.setImage(imageReg_.get(toplogyImage));
- }
-
- private void refreshServerRuntimeSelection()
- {
- //new up ServerRuntimeSelectionWidgetDefaultingCommand
- ServerRuntimeSelectionWidgetDefaultingCommand serverRTDefaultCmd = new ServerRuntimeSelectionWidgetDefaultingCommand();
-
- //call setters of new defaulting command:
- serverRTDefaultCmd.setInitialSelection(getObjectSelection());
- serverRTDefaultCmd.setInitialProject(getProject());
- serverRTDefaultCmd.setGenerateProxy(clientWidget_.getGenerateProxy());
- serverRTDefaultCmd.setServiceTypeRuntimeServer(getServiceTypeRuntimeServer());
- serverRTDefaultCmd.setWebServicesParser(getWebServicesParser());
- serverRTDefaultCmd.setClientInitialSelection(getObjectSelection());
- serverRTDefaultCmd.setClientInitialProject(getClientProject());
- serverRTDefaultCmd.setClientEarProjectName(clientWidget_.getClientEarProjectName());
- serverRTDefaultCmd.setClientTypeRuntimeServer(getClientTypeRuntimeServer());
-
- serverRTDefaultCmd.execute(null, null);
-
- //perform mappings from the defaulting command to the project settings...
- setServiceProjectName(serverRTDefaultCmd.getServiceProjectName());
- setServiceEarProjectName(serverRTDefaultCmd.getServiceEarProjectName());
- setServiceComponentType(serverRTDefaultCmd.getServiceComponentType());
- setClientProjectName(serverRTDefaultCmd.getClientProjectName());
- setClientEarProjectName(serverRTDefaultCmd.getClientEarProjectName());
- setServiceTypeRuntimeServer(serverRTDefaultCmd.getServiceTypeRuntimeServer());
- setClientTypeRuntimeServer(serverRTDefaultCmd.getClientTypeRuntimeServer());
- setServiceNeedEAR(serverRTDefaultCmd.getServiceNeedEAR());
- setClientNeedEAR(serverRTDefaultCmd.getClientNeedEAR());
- setClientComponentType(serverRTDefaultCmd.getClientComponentType());
- }
-
- /**
- * Update client server and runtime based on service side
- */
- private void refreshClientServerRuntimeSelection()
- {
- TypeRuntimeServer clientTypeRuntimeserver = getClientTypeRuntimeServer();
- clientTypeRuntimeserver.setRuntimeId(getServiceTypeRuntimeServer().getRuntimeId());
- clientTypeRuntimeserver.setServerId(getServiceTypeRuntimeServer().getServerId());
- clientTypeRuntimeserver.setServerInstanceId(getServiceTypeRuntimeServer().getServerInstanceId());
- setClientTypeRuntimeServer(clientTypeRuntimeserver);
- }
-
-
- private void callObjectTransformation(IStructuredSelection objectSelection,
- IProject project, String componentName, boolean refreshRuntime)
- {
- ObjectSelectionOutputCommand objOutputCommand = new ObjectSelectionOutputCommand();
- objOutputCommand.setTypeRuntimeServer(getServiceTypeRuntimeServer());
- objOutputCommand.setObjectSelection(objectSelection);
- objOutputCommand.setProject(project);
- objOutputCommand.setComponentName(componentName);
-
- objOutputCommand.execute(null, null);
-
- setWebServicesParser(objOutputCommand.getWebServicesParser());
- setObjectSelection(objOutputCommand.getObjectSelection());
- setProject(objOutputCommand.getProject());
-
- if (refreshRuntime || forceRefreshRuntime)
- refreshServerRuntimeSelection();
-
- forceRefreshRuntime = false;
- }
-
- private class ScaleSelectionListener implements SelectionListener
- {
- public void widgetSelected(SelectionEvent e) {
-
- Scale scale = (Scale)e.widget;
- int selection = scale.getSelection();
-
- //TODO: change the hard coded integers here to the the ScenarioContext.WS_xxx when in less critical phase
- switch (selection) {
- case 0:
- serviceScale_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_TEST);
- break;
- case 1:
- serviceScale_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_RUN);
- break;
- case 2:
- serviceScale_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_INSTALL);
- break;
- case 3:
- serviceScale_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_DEPLOY);
- break;
- case 4:
- serviceScale_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_ASSEMBLE);
- break;
- case 5:
- case 6:
- serviceScale_.setSelection(ScenarioContext.WS_DEVELOP); //"no selection" is not allowed...must develop service @ minimum
- serviceScale_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSWSCEN_SCALE_DEVELOP);
- //reset local selection so that setters get correct value below
- selection = ScenarioContext.WS_DEVELOP;
- break;
- default:
- break;
- }
-
- setDevelopService(selection <= ScenarioContext.WS_DEVELOP);
- setAssembleService(selection <= ScenarioContext.WS_ASSEMBLE);
- setDeployService(selection <= ScenarioContext.WS_DEPLOY);
-
- setTestService(new Boolean(selection <= ScenarioContext.WS_TEST));
- setInstallService(new Boolean(selection <= ScenarioContext.WS_INSTALL));
- setStartService(new Boolean(selection <= ScenarioContext.WS_START));
- setAdvancedOptions(selection <= ScenarioContext.WS_INSTALL);
- clientWidget_.enableClientSlider(selection <= ScenarioContext.WS_START);
-
- setGraphics(selection);
-
- //Validate the page
- validationState_ = (new ValidationUtils()).getNewValidationState(validationState_, ValidationUtils.VALIDATE_SCALE_CHANGES);
- statusListener_.handleEvent(null);
-
- }
-
- public void widgetDefaultSelected(SelectionEvent e) {
- widgetSelected(e);
- }
- }
-
- private class ServiceImplBrowseListener implements SelectionListener
- {
- public void widgetDefaultSelected(SelectionEvent e) {
- // TODO Auto-generated method stub
- }
-
- public void widgetSelected(SelectionEvent e) {
-
- if (objectSelectionWidget_ == null)
- objectSelectionWidget_ = getSelectionWidget();
-
- IStructuredSelection objectSelection = null;
- IProject project = null;
- String componentName="";
- int result=Dialog.CANCEL;
-
- if (objectSelectionWidget_ instanceof IObjectSelectionLaunchable)
- {
- IObjectSelectionLaunchable launchable = ((IObjectSelectionLaunchable)objectSelectionWidget_);
- launchable.setInitialSelection(getObjectSelection());
- IWorkbench workbench = PlatformUI.getWorkbench();
- result = launchable.launch(workbench.getActiveWorkbenchWindow().getShell());
- if (result == Dialog.OK)
- {
- serviceImpl_.removeModifyListener(objectModifyListener_);
- serviceImpl_.setText(launchable.getObjectSelectionDisplayableString());
- serviceImpl_.addModifyListener(objectModifyListener_);
- objectSelection = launchable.getObjectSelection();
- project = launchable.getProject();
- componentName= launchable.getComponentName();
- }
- }
- else
- {
- browseDialog_.setTypeRuntimeServer(getServiceTypeRuntimeServer());
- browseDialog_.setInitialSelection(getObjectSelection());
- result = browseDialog_.open();
- if (result == Dialog.OK)
- {
- serviceImpl_.removeModifyListener(objectModifyListener_);
- serviceImpl_.setText(browseDialog_.getDisplayableSelectionString());
- serviceImpl_.addModifyListener(objectModifyListener_);
- objectSelection = browseDialog_.getObjectSelection();
- project = browseDialog_.getProject();
- componentName= browseDialog_.getComponentName();
- }
- }
-
- // call ObjectSelectionOutputCommand to carry out any transformation on the objectSelection
- if (result == Dialog.OK)
- {
- callObjectTransformation(objectSelection, project, componentName, getWebServiceScenario() != WebServiceScenario.TOPDOWN);
- validationState_ = ValidationUtils.VALIDATE_ALL;
- statusListener_.handleEvent(null); // validate the page
- }
- }
- }
-
-
-}
-

Back to the top