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.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt')
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientRuntimeDescriptor.java183
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientType.java120
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Context.java143
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/FacetMatchCache.java496
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/RuntimeDescriptor.java74
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Selection.java30
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceRuntimeDescriptor.java215
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceType.java201
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceClientImpl.java45
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceImpl.java120
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry.java216
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry2.java225
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionUtils2.java2216
-rw-r--r--bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeInfo.java210
14 files changed, 0 insertions, 4494 deletions
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientRuntimeDescriptor.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientRuntimeDescriptor.java
deleted file mode 100644
index 4ab091599..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientRuntimeDescriptor.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 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
- * -------- -------- -----------------------------------------------------------
- * 20071107 203826 kathy@ca.ibm.com - Kathy Chan
- * 20071130 203826 kathy@ca.ibm.com - Kathy Chan
- * 20080326 221364 kathy@ca.ibm.com - Kathy Chan
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jst.ws.internal.consumption.common.RequiredFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntime;
-import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntimeChecker;
-
-public class ClientRuntimeDescriptor
-{
- private IConfigurationElement elem;
- private Hashtable allWebServiceClientImpls;
- private Hashtable allRuntimes;
- private String id;
- private WebServiceClientImpl clientImplementationType;
- private RuntimeDescriptor runtime;
- private String clientRuntimeClassName;
- private IWebServiceRuntime webServiceRuntime;
- private RequiredFacetVersion[] requiredFacetVersions;
- private Set projectFacetVersions;
- private IWebServiceRuntimeChecker webServiceRuntimeChecker;
- private String runtimePreferredServerType;
-
- public ClientRuntimeDescriptor(IConfigurationElement elem, Hashtable allWebServiceClientImpls, Hashtable allRuntimes)
- {
- this.elem = elem;
- this.allWebServiceClientImpls = allWebServiceClientImpls;
- this.allRuntimes = allRuntimes;
- }
-
- public WebServiceClientImpl getClientImplementationType()
- {
- if (clientImplementationType == null)
- {
- String clientImplementationTypeId = elem.getAttribute("clientImplementationTypeId");
- clientImplementationType = (WebServiceClientImpl)allWebServiceClientImpls.get(clientImplementationTypeId);
- }
- return clientImplementationType;
- }
-
- public String getClientRuntimeClassName()
- {
- if (clientRuntimeClassName == null)
- {
- clientRuntimeClassName = elem.getAttribute("class");
- }
- return clientRuntimeClassName;
- }
-
- public String getId()
- {
- if (id == null)
- {
- id = elem.getAttribute("id");
- }
- return id;
- }
-
- public RequiredFacetVersion[] getRequiredFacetVersions()
- {
- if (requiredFacetVersions == null)
- {
- ArrayList requiredFacetVersionList = new ArrayList();
- IConfigurationElement[] facetElems = elem.getChildren("required-facet-version");
- for (int i = 0; i < facetElems.length; i++)
- {
- RequiredFacetVersion rfv = new RequiredFacetVersion();
- IProjectFacet projectFacet = ProjectFacetsManager.getProjectFacet(facetElems[i].getAttribute("facet"));
- IProjectFacetVersion projectFacetVersion = projectFacet.getVersion(facetElems[i].getAttribute("version"));
- rfv.setProjectFacetVersion(projectFacetVersion);
- String allowNewerValue = facetElems[i].getAttribute("allow-newer");
- if (allowNewerValue == null)
- {
- rfv.setAllowNewer(false);
- }
- else
- {
- rfv.setAllowNewer(Boolean.valueOf(allowNewerValue).booleanValue());
- }
-
- requiredFacetVersionList.add(rfv);
- }
-
- requiredFacetVersions = (RequiredFacetVersion[])requiredFacetVersionList.toArray(new RequiredFacetVersion[]{});
- }
-
- return requiredFacetVersions;
- }
-
- public Set getProjectFacetVersions()
- {
- if (projectFacetVersions == null)
- {
- projectFacetVersions = new HashSet();
- RequiredFacetVersion[] rfv = getRequiredFacetVersions();
- for (int i=0; i<rfv.length; i++)
- {
- projectFacetVersions.add(rfv[i].getProjectFacetVersion());
- }
- }
-
- return projectFacetVersions;
- }
-
- public RuntimeDescriptor getRuntime()
- {
- if (runtime == null)
- {
- String runtimeId = elem.getAttribute("runtimeId");
- runtime = (RuntimeDescriptor)allRuntimes.get(runtimeId);
- }
- return runtime;
- }
-
- public IWebServiceRuntime getWebServiceRuntime()
- {
- if (webServiceRuntime == null)
- {
- try
- {
- webServiceRuntime = (IWebServiceRuntime)elem.createExecutableExtension("class");
- }
- catch(CoreException ce)
- {
-
- }
- }
-
- return webServiceRuntime;
- }
-
- public IWebServiceRuntimeChecker getClientRuntimeChecker()
- {
- if (webServiceRuntimeChecker == null)
- {
- try
- {
- if (elem.getAttribute("runtimeChecker") != null ) {
- webServiceRuntimeChecker = (IWebServiceRuntimeChecker)elem.createExecutableExtension("runtimeChecker");
- }
- }
- catch(CoreException ce)
- {
-
- }
- }
-
- return webServiceRuntimeChecker;
- }
-
- public String getRuntimePreferredServerType()
- {
- if (runtimePreferredServerType == null)
- {
- runtimePreferredServerType = elem.getAttribute("runtimePreferredServerType");
- }
- return runtimePreferredServerType;
- }
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientType.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientType.java
deleted file mode 100644
index e3c4b51fe..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientType.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
-
-import java.util.Hashtable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import com.ibm.icu.util.StringTokenizer;
-
-public class ClientType {
-
- private IConfigurationElement elem_;
- private Hashtable webServiceClientImpls_;
-
- private String id;
- private WebServiceClientImpl webServiceClientImpl;
- private String[] moduleTypesInclude;
- private String[] moduleTypesExclude;
-
-
-
- public ClientType(IConfigurationElement elem_, Hashtable webServiceClientImpls_)
- {
- super();
- this.elem_ = elem_;
- this.webServiceClientImpls_ = webServiceClientImpls_;
- }
-
-
-
- public String getId()
- {
- if (id==null)
- {
- id = elem_.getAttribute("id");
- }
- return id;
- }
-
-
-
-
- public String[] getModuleTypesExclude()
- {
- if (moduleTypesExclude==null)
- {
- String attr = elem_.getAttribute("moduleTypesExclude");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- moduleTypesExclude = new String[size];
- for (int i = 0; i < moduleTypesExclude.length; i++)
- moduleTypesExclude[i] = st.nextToken();
- }
- }
- return moduleTypesExclude;
- }
-
-
-
-
- public String[] getModuleTypesInclude()
- {
- if (moduleTypesInclude==null)
- {
- String attr = elem_.getAttribute("moduleTypesInclude");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- moduleTypesInclude = new String[size];
- for (int i = 0; i < moduleTypesInclude.length; i++)
- moduleTypesInclude[i] = st.nextToken();
- }
- }
- return moduleTypesInclude;
- }
-
-
-
-
- public WebServiceClientImpl getWebServiceClientImpl()
- {
- if (webServiceClientImpl==null)
- {
- String wscimplId = elem_.getAttribute("implId");
- webServiceClientImpl = (WebServiceClientImpl)webServiceClientImpls_.get(wscimplId);
- }
- return webServiceClientImpl;
- }
-
-
-
- /*
- public String getWebServiceClientTypeId()
- {
- if (webServiceClientTypeId==null)
- {
- webServiceClientTypeId = elem_.getAttribute("webServiceClientTypeId");
- }
- return webServiceClientTypeId;
- }
- */
-
-
-
-
-
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Context.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Context.java
deleted file mode 100644
index 034a6e8ef..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Context.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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.wsrt;
-
-import org.eclipse.wst.ws.internal.wsrt.IContext;
-import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
-
-/**
- * @author rsinha
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class Context implements IContext {
- private WebServiceScenario scenario;
- private boolean develop;
- private boolean assemble;
- private boolean deploy;
- private boolean install;
- private boolean run;
- private boolean client;
- private boolean test;
- private boolean publish;
- private boolean overWriteFiles;
- private boolean createFolders;
- private boolean checkOutFiles;
-
- public boolean getAssemble() {
- return assemble;
- }
-
- public boolean getCheckOutFiles() {
- return checkOutFiles;
- }
-
- public boolean getClient() {
- return client;
- }
-
- public boolean getCreateFolders() {
- return createFolders;
- }
-
- public boolean getDeploy() {
- return deploy;
- }
-
- public boolean getDevelop() {
- return develop;
- }
-
- public boolean getInstall() {
- return install;
- }
-
- public boolean getOverWriteFiles() {
- return overWriteFiles;
- }
-
- public boolean getPublish() {
- return publish;
- }
-
- public boolean getRun() {
- return run;
- }
-
- public WebServiceScenario getScenario() {
- return scenario;
- }
-
- public boolean getTest() {
- return test;
- }
-
- public void setAssemble(boolean assemble) {
- this.assemble = assemble;
- }
-
-
- public void setCheckOutFiles(boolean checkOutFiles) {
- this.checkOutFiles = checkOutFiles;
- }
-
-
- public void setClient(boolean client) {
- this.client = client;
- }
-
-
- public void setCreateFolders(boolean createFolders) {
- this.createFolders = createFolders;
- }
-
-
- public void setDeploy(boolean deploy) {
- this.deploy = deploy;
- }
-
-
- public void setDevelop(boolean develop) {
- this.develop = develop;
- }
-
-
- public void setInstall(boolean install) {
- this.install = install;
- }
-
-
- public void setOverWriteFiles(boolean overWriteFiles) {
- this.overWriteFiles = overWriteFiles;
- }
-
-
- public void setPublish(boolean publish) {
- this.publish = publish;
- }
-
-
- public void setRun(boolean run) {
- this.run = run;
- }
-
-
- public void setScenario(WebServiceScenario scenario) {
- this.scenario = scenario;
- }
-
-
- public void setTest(boolean test) {
- this.test = test;
- }
-
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/FacetMatchCache.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/FacetMatchCache.java
deleted file mode 100644
index 3243101d9..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/FacetMatchCache.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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
- * -------- -------- -----------------------------------------------------------
- * 20060131 121071 rsinha@ca.ibm.com - Rupam Kuehner (initial creation)
- * 20060426 138051 kathy@ca.ibm.com - Kathy Chan
- * 20060427 126780 rsinha@ca.ibm.com - Rupam Kuehner
- * 20080923 247525 mahutch@ca.ibm.com - Mark Hutchinson, cache not updated properly when project facet versions changed
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jst.ws.internal.consumption.common.FacetMatcher;
-import org.eclipse.jst.ws.internal.consumption.common.FacetSetsByTemplateCache;
-import org.eclipse.jst.ws.internal.consumption.common.FacetUtils;
-import org.eclipse.jst.ws.internal.consumption.common.RequiredFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-
-/**
- * FacetMatchCache caches results of calculations made respecting
- * the suitability of projects and project types for serviceRuntimes
- * and clientRuntimes.
- *
- * <br/><br/>
- * Terminology used in the javadoc in this class:
- * <ul>
- * <li><b>serviceRuntime</b>: extension to org.eclipse.jst.ws.consumption.ui.serviceRuntimes.
- * The Java representation of this is org.eclipse.jst.ws.internal.consumption.ui.wsrt.ServiceRuntimeDescriptor</li>
- * <li><b>clientRuntime</b>: extension to org.eclipse.jst.ws.consumption.ui.clientRuntimes.
- * The Java representation of this is org.eclipse.jst.ws.internal.consumption.ui.wsrt.ClientRuntimeDescriptor</li>
- * </ul>
- *
- */
-public class FacetMatchCache implements IResourceChangeListener
-{
- //single instance per workbench
- private static FacetMatchCache instance_;
-
-
- //Tables related to existing projects in the workspace
-
- //serviceFacetMatchTable_:
- //key: Object of type String.
- // Forward slash separated concatenation of a serviceRuntimeId and a projectName
- // (e.g. org.eclipse.jst.ws.axis.creation.java/wp).
- //value: Object of type org.eclipse.jst.ws.internal.consumption.common.FacetMatcher.
- // The FacetMatcher contains the matching characteristics calculated for the
- // serviceRuntime and project in the key.
- private Hashtable serviceFacetMatchTable_;
-
- //serviceTableKeysByProjectName_:
- //key: Object of type String.
- // project name (e.g. wp)
- //value: Set of elements of type String. The Strings in the Set are keys from the serviceFacetMatchTable_
- // that contain the project name (e.g. org.eclipse.jst.ws.axis.creation.java/wp). Used to rapidly
- // delete entries from serviceFacetMatchTable_ after a project is deleted from the workspace.
- private Hashtable serviceTableKeysByProjectName_;
-
- //clientFacetMatchTable_;
- //key: Object of type String.
- // forward slash separated concatenation of a clientRuntimeId and a projectName
- // (e.g. org.eclipse.jst.ws.axis.consumption.java/wp)
- //value: Object of type org.eclipse.jst.ws.internal.consumption.common.FacetMatcher
- // The FacetMatcher contains the matching characteristics calculated for the
- // clientRuntime and project in the key.
- private Hashtable clientFacetMatchTable_;
-
- //clientTableKeysByProjectName_
- //key: Object of type String.
- // project name (e.g. wp)
- //value: Set of elements of type String. The Strings in the Set are keys from the clientFacetMatchTable_
- // that contain the project name (e.g. org.eclipse.jst.ws.axis.consumption.java/wp). Used to rapidly
- // delete entries from clientFacetMatchTable_ after a project is deleted from the workspace.
- private Hashtable clientTableKeysByProjectName_;
-
- //projectEntriesToDelete_: elements of type String containing the names of projects that have
- //been deleted from the workspace but their corresponding entries from serviceFacetMatchTable_
- //and clientFacetMatchTable_ have yet to be deleted.
- private List projectEntriesToDelete_;
-
-
-
- //Tables related to templates
-
- //templatesByServiceRuntimeId_:
- //key: Object of type String.
- // serviceRuntime id
- //value: Set of elements of type org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate
- // This the set of templates that support the serviceRuntime identified by the key.
- private Hashtable templatesByServiceRuntimeId_;
-
- //templatesByClientRuntimeId_
- //key: Object of type String.
- // clientRuntime id
- //value: Set of elements of type org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate
- // This the set of templates that support the clientRuntime identified by the key.
- private Hashtable templatesByClientRuntimeId_;
-
-
- /**
- * Returns a singleton instance of this class.
- *
- * @return A singleton FacetMatchCache object.
- */
- public static synchronized FacetMatchCache getInstance()
- {
- if (instance_ == null)
- {
- instance_ = new FacetMatchCache();
- instance_.load();
- }
- return instance_;
- }
-
- private void load()
- {
- serviceFacetMatchTable_ = new Hashtable();
- serviceTableKeysByProjectName_ = new Hashtable();
- clientFacetMatchTable_ = new Hashtable();
- clientTableKeysByProjectName_ = new Hashtable();
- projectEntriesToDelete_ = new ArrayList();
- templatesByClientRuntimeId_ = new Hashtable();
- templatesByServiceRuntimeId_ = new Hashtable();
-
- //Listen for deletions of projects in order to delete all entries in
- //Hashtables for the deleted project.
- ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.PRE_DELETE);
- }
-
-
- /*
- * Returns the FacetMatcher resulting from matching a serviceRuntime or clientRuntime with an existing project.
- * @param isClient true if runtimeId is a clientRuntimeId. false if runtimeId is a serviceRuntimeId.
- * @param runtimeId the id of a clientRuntime if isClient is true or the id of a serviceRuntime if
- * isClient is false.
- * @param projectName the name of an existing project.
- *
- * @returns FacetMatcher resulting from calling FacetUtils.match(..) using the serviceRuntime or clientRuntime id
- * and the project name. Returns null if the project doesn't exist. Non-faceted existing projects will always result
- * in a FacetMatcher with isMatch() equal to false (with the exception of Java projects which are a special case
- * - see FacetUtils.getFacetsForProject()).
- */
- public synchronized FacetMatcher getMatchForProject(boolean isClient, String runtimeId, String projectName)
- {
- //Delete entries from tables if there are deletions pending.
- if (projectEntriesToDelete_.size() > 0)
- {
- Iterator projectItr = projectEntriesToDelete_.iterator();
- while(projectItr.hasNext())
- {
- String projectNameToDelete = (String)projectItr.next();
-
- //Delete entries from client table
- removeTableEntriesForProject(true, projectNameToDelete);
-
- //Delete entries from service table
- removeTableEntriesForProject(false, projectNameToDelete);
- }
-
- //Clear the projectEntriesToDelete list
- projectEntriesToDelete_.clear();
- }
-
- IProject project = ProjectUtilities.getProject(projectName);
- FacetMatcher fm = null;
- if (project != null && project.exists())
- {
- String key = getKey(runtimeId, projectName);
- if (isClient)
- {
- fm = (FacetMatcher) clientFacetMatchTable_.get(key);
- }
- else
- {
- fm = (FacetMatcher) serviceFacetMatchTable_.get(key);
- }
-
- if (fm == null)
- {
- // This combination has not yet been calculated and cached so calculate it and cache it.
- fm = calculateFacetMatcher(isClient, runtimeId, projectName);
- if (isClient)
- {
- clientFacetMatchTable_.put(key,fm);
- }
- else
- {
- serviceFacetMatchTable_.put(key, fm);
- }
- updateTableOfKeys(isClient, key, projectName);
-
- } else
- {
- // If the project's facets have changed since the last time the
- // facets were calculated, refresh the facetMatcher.
- Set currentFacetVersions = FacetUtils.getFacetsForProject(projectName);
- Set previousFacetVersions = fm.getFacetsTested();
- if (!currentFacetVersions.equals(previousFacetVersions))
- {
- //recalculate and cache the FacetMatcher
- fm = calculateFacetMatcher(isClient, runtimeId, projectName);
- if (isClient)
- {
- clientFacetMatchTable_.put(key,fm);
- }
- else
- {
- serviceFacetMatchTable_.put(key, fm);
- }
- }
- }
- }
-
- return fm;
- }
-
- /**
- * Updates serviceTableKeysByProjectName_ or clientTableKeysByProjectName_ with
- * the provided project name and key. This is called whenever a new entry is
- * added to serviceFacetMatchTable_ or clientFacetMatchTable_.
- * @param isClient true if runtimeId is a clientRuntimeId. false if runtimeId is a serviceRuntimeId.
- * @param key
- * @param projectName
- */
- private void updateTableOfKeys(boolean isClient, String key, String projectName)
- {
- Set setOfKeysForProjectName = null;
- if (isClient)
- {
- setOfKeysForProjectName = (Set)clientTableKeysByProjectName_.get(projectName);
- }
- else
- {
- setOfKeysForProjectName = (Set)serviceTableKeysByProjectName_.get(projectName);
- }
-
- if (setOfKeysForProjectName == null)
- {
- //Add an entry in the table for this project.
- Set keys = new HashSet();
- keys.add(key);
- if (isClient)
- {
- clientTableKeysByProjectName_.put(projectName, keys);
- }
- else
- {
- serviceTableKeysByProjectName_.put(projectName, keys);
- }
- }
- else
- {
- //Update the entry in the table for this project.
- setOfKeysForProjectName.add(key);
- }
- }
-
- /**
- * Returns the {@link FacetMatcher} calculated for the given serviceRuntime or clientRuntime and project
- * @param isClient true if runtimeId is a clientRuntimeId. false if runtimeId is a serviceRuntimeId.
- * @param runtimeId the id of a clientRuntime if isClient is true or the id of a serviceRuntime if
- * isClient is false.
- * @param projectName the name of an existing project.
- * @return FacetMatcher resulting from calling FacetUtils.match(..) using the serviceRuntime or clientRuntime id
- * and the project name. Returns null if the project doesn't exist. Non-faceted existing projects will always result
- * in a FacetMatcher with isMatch() equal to false (with the exception of Java projects which are a special case
- * - see FacetUtils.getFacetsForProject()).
- */
- private FacetMatcher calculateFacetMatcher(boolean isClient, String runtimeId, String projectName)
- {
- FacetMatcher fm = null;
- RequiredFacetVersion[] rfvs = null;
- if (isClient)
- {
- ClientRuntimeDescriptor desc = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(runtimeId);
- rfvs = desc.getRequiredFacetVersions();
- }
- else
- {
- ServiceRuntimeDescriptor desc = WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(runtimeId);
- rfvs = desc.getRequiredFacetVersions();
- }
-
- Set facetVersions = new HashSet(FacetUtils.getFacetsForProject(projectName));
- if (facetVersions == null)
- {
- fm = new FacetMatcher();
- fm.setMatch(false);
- return fm;
- }
-
- fm = FacetUtils.match(rfvs, facetVersions);
-
- // Check if the facet runtime required by the required facet is supported
- // by the project without chaning it's current facet runtime
-
- IRuntime fProjectRuntime = FacetUtils.getFacetRuntimeForProject(projectName);
- if (fProjectRuntime != null) {
- String fProjectRuntimeName = fProjectRuntime.getName();
- boolean projectSupportRequiredFacetRuntime = false;
- Set rts = FacetUtils.getRuntimes(rfvs);
- for (Iterator iterator = rts.iterator(); iterator.hasNext() && !projectSupportRequiredFacetRuntime;) {
- IRuntime fRequiredRuntime = (IRuntime) iterator.next();
- if (fRequiredRuntime != null) {
- if (fRequiredRuntime.getName().equals(fProjectRuntimeName)) {
- projectSupportRequiredFacetRuntime = true;
- }
- }
- }
-
- // if project does not support the required facet runtime, set FacetMatch match to false
- if (!projectSupportRequiredFacetRuntime) {
- fm.setMatch(false);
- }
- }
- return fm;
- }
-
- private String getKey(String a, String b)
- {
- StringBuffer keysb = new StringBuffer();
- keysb.append(a);
- keysb.append("/");
- keysb.append(b);
- return keysb.toString();
- }
-
- /**
- * Removes all table entries in this cache for the given project
- * @param isClient true to remove entries from client side tables. false to remove entries from service side tables
- * @param projectName
- */
- private void removeTableEntriesForProject(boolean isClient, String projectName)
- {
- //First remove the entries from clientFacetMatchTable_ or serviceFacetMatchTable_
- //that have keys containing this project name.
- Set setOfKeysForProjectName = null;
- if (isClient)
- {
- setOfKeysForProjectName = (Set)clientTableKeysByProjectName_.get(projectName);
- }
- else
- {
- setOfKeysForProjectName = (Set)serviceTableKeysByProjectName_.get(projectName);
- }
-
- if (setOfKeysForProjectName != null)
- {
- Iterator keysItr = setOfKeysForProjectName.iterator();
- while (keysItr.hasNext())
- {
- String key = (String)keysItr.next();
- if (isClient)
- {
- clientFacetMatchTable_.remove(key);
- }
- else
- {
- serviceFacetMatchTable_.remove(key);
- }
- }
-
- //Second, remove the entry in clientTableKeysByProjectName_ or serviceTableKeysByProjectName_
- //with this projectName as the key.
- if (isClient)
- {
- clientTableKeysByProjectName_.remove(projectName);
- }
- else
- {
- serviceTableKeysByProjectName_.remove(projectName);
- }
-
- }
-
- }
-
- /**
- * Returns a set of templates supported by the given clientRuntime
- * @param clientRuntimeId id of a clientRuntime
- * @returns Set (elementtype: IFacetedProjectTemplate)
- */
- public synchronized Set getTemplatesForClientRuntime(String clientRuntimeId)
- {
- Set templates = (Set)templatesByClientRuntimeId_.get(clientRuntimeId);
- if (templates != null)
- {
- //Return the cached set of templates.
- return templates;
- }
- else
- {
- //Calculate the templates, cache them for later use, and return them.
- ClientRuntimeDescriptor desc = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(clientRuntimeId);
- Set validTemplates = getTemplates(desc.getRequiredFacetVersions());
- templatesByClientRuntimeId_.put(clientRuntimeId, validTemplates);
- return validTemplates;
- }
- }
-
- /**
- * Returns a set of templates supported by the given serviceRuntime
- * @param serviceRuntimeId id of a serviceRuntime
- * @returns Set (elementtype: IFacetedProjectTemplate)
- */
- public synchronized Set getTemplatesForServiceRuntime(String serviceRuntimeId)
- {
- Set templates = (Set)templatesByServiceRuntimeId_.get(serviceRuntimeId);
- if (templates != null)
- {
- //Return the cached set of templates.
- return templates;
- }
- else
- {
- //Calculate the templates, cache them for later use, and return them.
- ServiceRuntimeDescriptor desc = WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(serviceRuntimeId);
- Set validTemplates = getTemplates(desc.getRequiredFacetVersions());
- templatesByServiceRuntimeId_.put(serviceRuntimeId, validTemplates);
- return validTemplates;
- }
- }
-
-
- /**
- * Returns the set of templates that supported the given required facet versions.
- * @param requiredFacetVersions
- * @return Set containing elemets of type {@link IFacetedProjectTemplate}.
- */
- private Set getTemplates(RequiredFacetVersion[] requiredFacetVersions)
- {
- Set templates = new HashSet();
-
- for( Iterator itr = ProjectFacetsManager.getTemplates().iterator(); itr.hasNext(); )
- {
- final IFacetedProjectTemplate template = (IFacetedProjectTemplate) itr.next();
- String templateId = template.getId();
- if (templateId.indexOf("ear") == -1 && templateId.indexOf("wst.web") == -1) //Don't include the EARs!!
- {
- Set[] combinations = FacetSetsByTemplateCache.getInstance().getFacetVersionCombinationsFromTemplate(templateId);
- for (int i=0; i<combinations.length; i++)
- {
- FacetMatcher fm = FacetUtils.match(requiredFacetVersions, combinations[i]);
- if (fm.isMatch())
- {
- //Found a combination that worked. Add the template to the list and move on.
- templates.add(template);
- break;
- }
- }
- }
- }
-
- return templates;
-
- }
-
- public synchronized void resourceChanged(IResourceChangeEvent event)
- {
- if (event.getType() == IResourceChangeEvent.PRE_DELETE)
- {
- IResource projectResource = event.getResource();
- if (projectResource!=null)
- {
- String projectName = projectResource.getName();
-
- //Add this project name to the list of project entries
- //to delete. Next time getMatchForProject is called all
- //entries for this project from all tables in this cache
- //will be deleted.
- projectEntriesToDelete_.add(projectName);
- }
- }
- }
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/RuntimeDescriptor.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/RuntimeDescriptor.java
deleted file mode 100644
index ac2bb3709..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/RuntimeDescriptor.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-public class RuntimeDescriptor
-{
-
- private IConfigurationElement elem;
- private String id;
- private String label;
- private String serverRequiredString;
- private boolean serverRequired;
-
-
- public RuntimeDescriptor(IConfigurationElement elem)
- {
- this.elem = elem;
- }
-
- public String getId()
- {
- if (id == null)
- {
- id = elem.getAttribute("id");
- }
- return id;
- }
-
- public String getLabel()
- {
- if (label == null)
- {
- label = elem.getAttribute("label");
- }
- return label;
- }
-
- public String[] getJ2eeLevels()
- {
- return new String[]{"13", "14"};
- }
-
- public boolean getServerRequired()
- {
- if (serverRequiredString == null)
- {
- //Defaults to true if the extension omits this attribute
- serverRequired = true;
-
- serverRequiredString = elem.getAttribute("serverRequired");
- if (serverRequiredString != null)
- {
- serverRequired = Boolean.valueOf(serverRequiredString).booleanValue();
- }
-
- }
- return serverRequired;
- }
-
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Selection.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Selection.java
deleted file mode 100644
index 631454bd6..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Selection.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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.wsrt;
-
-import org.eclipse.wst.ws.internal.wsrt.ISelection;
-
-public class Selection implements ISelection {
-
- private Object[] selection;
-
- public Object[] getSelection()
- {
- return selection;
- }
-
- public void setSelection(Object[] selection)
- {
- this.selection = selection;
- }
-
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceRuntimeDescriptor.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceRuntimeDescriptor.java
deleted file mode 100644
index 092e7cd33..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceRuntimeDescriptor.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 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
- * -------- -------- -----------------------------------------------------------
- * 20060802 152150 mahutch@ca.ibm.com
- * 20071107 203826 kathy@ca.ibm.com - Kathy Chan
- * 20071130 203826 kathy@ca.ibm.com - Kathy Chan
- * 20080326 221364 kathy@ca.ibm.com - Kathy Chan
- * 20080626 221364 kathy@ca.ibm.com - Kathy Chan
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jst.ws.internal.consumption.common.RequiredFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntime;
-import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntimeChecker;
-
-
-public class ServiceRuntimeDescriptor
-{
- private IConfigurationElement elem;
- private Hashtable allWebServiceImpls;
- private Hashtable allRuntimes;
- private String id;
- private WebServiceImpl serviceImplementationType;
- private RuntimeDescriptor runtime;
- private boolean bottomUp = false;
- private boolean topDown = false;
- private String serviceRuntimeClassName;
- private IWebServiceRuntime webServiceRuntime;
- private RequiredFacetVersion[] requiredFacetVersions;
- private Set projectFacetVersions;
- private IWebServiceRuntimeChecker webServiceRuntimeChecker;
- private String runtimePreferredServerType;
-
- public ServiceRuntimeDescriptor(IConfigurationElement elem, Hashtable allWebServiceImpls, Hashtable allRuntimes)
- {
- this.elem = elem;
- this.allWebServiceImpls = allWebServiceImpls;
- this.allRuntimes = allRuntimes;
-
- bottomUp = (Boolean.valueOf(elem.getAttribute("bottomUp"))).booleanValue();
- topDown = (Boolean.valueOf(elem.getAttribute("topDown"))).booleanValue();
- }
-
- public boolean getBottomUp()
- {
- return bottomUp;
- }
-
- public String getId()
- {
- if (id == null)
- {
- id = elem.getAttribute("id");
- }
- return id;
- }
-
-
- public RequiredFacetVersion[] getRequiredFacetVersions()
- {
- if (requiredFacetVersions == null)
- {
- ArrayList requiredFacetVersionList = new ArrayList();
- IConfigurationElement[] facetElems = elem.getChildren("required-facet-version");
- for (int i = 0; i < facetElems.length; i++)
- {
- try {
- String facetID = facetElems[i].getAttribute("facet");
- if (ProjectFacetsManager.isProjectFacetDefined(facetID))
- {
- RequiredFacetVersion rfv = new RequiredFacetVersion();
- IProjectFacet projectFacet = ProjectFacetsManager.getProjectFacet(facetID);
- if (projectFacet != null) {
- IProjectFacetVersion projectFacetVersion = projectFacet.getVersion(facetElems[i].getAttribute("version"));
- if (projectFacetVersion != null) {
- rfv.setProjectFacetVersion(projectFacetVersion);
- String allowNewerValue = facetElems[i].getAttribute("allow-newer");
- if (allowNewerValue == null)
- {
- rfv.setAllowNewer(false);
- }
- else
- {
- rfv.setAllowNewer(Boolean.valueOf(allowNewerValue).booleanValue());
- }
-
- requiredFacetVersionList.add(rfv);
- }
- }
-
- }
- } catch (IllegalArgumentException e){
- // ignore the facet
- }
- }
-
- requiredFacetVersions = (RequiredFacetVersion[])requiredFacetVersionList.toArray(new RequiredFacetVersion[]{});
- }
-
- return requiredFacetVersions;
- }
-
- public Set getProjectFacetVersions()
- {
- if (projectFacetVersions == null)
- {
- projectFacetVersions = new HashSet();
- RequiredFacetVersion[] rfv = getRequiredFacetVersions();
- for (int i=0; i<rfv.length; i++)
- {
- projectFacetVersions.add(rfv[i].getProjectFacetVersion());
- }
- }
-
- return projectFacetVersions;
- }
-
- public RuntimeDescriptor getRuntime()
- {
- if (runtime == null)
- {
- String runtimeId = elem.getAttribute("runtimeId");
- runtime = (RuntimeDescriptor)allRuntimes.get(runtimeId);
- }
- return runtime;
- }
-
- public WebServiceImpl getServiceImplementationType()
- {
- if (serviceImplementationType == null)
- {
- String serviceImplementationTypeId = elem.getAttribute("serviceImplementationTypeId");
- serviceImplementationType = (WebServiceImpl)allWebServiceImpls.get(serviceImplementationTypeId);
- }
- return serviceImplementationType;
- }
-
- public String getServiceRuntimeClassName()
- {
- if (serviceRuntimeClassName == null)
- {
- serviceRuntimeClassName = elem.getAttribute("class");
- }
- return serviceRuntimeClassName;
- }
-
- public boolean getTopDown()
- {
- return topDown;
- }
-
- public IWebServiceRuntime getWebServiceRuntime()
- {
- if (webServiceRuntime == null)
- {
- try
- {
- webServiceRuntime = (IWebServiceRuntime)elem.createExecutableExtension("class");
- }
- catch(CoreException ce)
- {
-
- }
- }
-
- return webServiceRuntime;
- }
-
- public IWebServiceRuntimeChecker getServiceRuntimeChecker()
- {
- if (webServiceRuntimeChecker == null)
- {
- try
- {
- if (elem.getAttribute("runtimeChecker") != null ) {
- webServiceRuntimeChecker = (IWebServiceRuntimeChecker)elem.createExecutableExtension("runtimeChecker");
- }
- }
- catch(CoreException ce)
- {
-
- }
- }
-
- return webServiceRuntimeChecker;
- }
-
- public String getRuntimePreferredServerType()
- {
- if (runtimePreferredServerType == null)
- {
- runtimePreferredServerType = elem.getAttribute("runtimePreferredServerType");
- }
- return runtimePreferredServerType;
- }
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceType.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceType.java
deleted file mode 100644
index 417cc2917..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceType.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
-
-import java.util.Hashtable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
-import com.ibm.icu.util.StringTokenizer;
-
-public class ServiceType {
-
- private IConfigurationElement elem_;
- private Hashtable webServiceImpls_;
- private String id;
- private WebServiceImpl webServiceImpl;
- private String[] bottomUpModuleTypesInclude;
- private String[] topDownModuleTypesInclude;
- private String[] bottomUpModuleTypesExclude;
- private String[] topDownModuleTypesExclude;
-
-
-
-
- public ServiceType(IConfigurationElement elem_, Hashtable webServiceImpls_)
- {
- super();
- this.elem_ = elem_;
- this.webServiceImpls_ = webServiceImpls_;
- }
-
- public String[] getBottomUpModuleTypesExclude()
- {
- if (bottomUpModuleTypesExclude==null)
- {
- String attr = elem_.getAttribute("buModuleTypesExclude");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- bottomUpModuleTypesExclude = new String[size];
- for (int i = 0; i < bottomUpModuleTypesExclude.length; i++)
- bottomUpModuleTypesExclude[i] = st.nextToken();
- }
- }
- return bottomUpModuleTypesExclude;
- }
-
- public void setBottomUpModuleTypesExclude(String[] bottomUpModuleTypesExclude)
- {
- this.bottomUpModuleTypesExclude = bottomUpModuleTypesExclude;
- }
-
- public String[] getBottomUpModuleTypesInclude()
- {
- if (bottomUpModuleTypesInclude==null)
- {
- String attr = elem_.getAttribute("buModuleTypesInclude");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- bottomUpModuleTypesInclude = new String[size];
- for (int i = 0; i < bottomUpModuleTypesInclude.length; i++)
- bottomUpModuleTypesInclude[i] = st.nextToken();
- }
- }
- return bottomUpModuleTypesInclude;
- }
-
- public void setBottomUpModuleTypesInclude(String[] bottomUpModuleTypesInclude)
- {
- this.bottomUpModuleTypesInclude = bottomUpModuleTypesInclude;
- }
-
- public String getId()
- {
- if (id==null)
- {
- id = elem_.getAttribute("id");
- }
- return id;
- }
-
- public void setId(String id)
- {
- this.id = id;
- }
-
- public String[] getTopDownModuleTypesExclude()
- {
- if (topDownModuleTypesExclude==null)
- {
- String attr = elem_.getAttribute("tdModuleTypesExclude");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- topDownModuleTypesExclude = new String[size];
- for (int i = 0; i < topDownModuleTypesExclude.length; i++)
- topDownModuleTypesExclude[i] = st.nextToken();
- }
- }
- return topDownModuleTypesExclude;
- }
-
- public void setTopDownModuleTypesExclude(String[] topDownModuleTypesExclude)
- {
- this.topDownModuleTypesExclude = topDownModuleTypesExclude;
- }
-
- public String[] getTopDownModuleTypesInclude()
- {
- if (topDownModuleTypesInclude==null)
- {
- String attr = elem_.getAttribute("tdModuleTypesInclude");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- topDownModuleTypesInclude = new String[size];
- for (int i = 0; i < topDownModuleTypesInclude.length; i++)
- topDownModuleTypesInclude[i] = st.nextToken();
- }
- }
- return topDownModuleTypesInclude;
- }
-
- public void setTopDownModuleTypesInclude(String[] topDownModuleTypesInclude)
- {
- this.topDownModuleTypesInclude = topDownModuleTypesInclude;
- }
-
- public WebServiceImpl getWebServiceImpl()
- {
- if (webServiceImpl == null)
- {
- String wsimplId = elem_.getAttribute("implId");
- webServiceImpl = (WebServiceImpl)webServiceImpls_.get(wsimplId);
- }
- return webServiceImpl;
- }
-
- public void setWebServiceImpl1(WebServiceImpl webServiceImpl)
- {
- this.webServiceImpl = webServiceImpl;
- }
-
- public boolean supportsScenario(int scenario)
- {
- switch(scenario)
- {
- case WebServiceScenario.BOTTOMUP:
- String[] bus = getBottomUpModuleTypesInclude();
- if (bus!=null && bus.length>0)
- {
- return true;
- }
- break;
- case WebServiceScenario.TOPDOWN:
- String[] tds = getTopDownModuleTypesInclude();
- if (tds!=null && tds.length>0)
- {
- return true;
- }
- break;
- default:
-
- }
-
- return false;
- }
-
- public String[] getModuleTypesInclude(int scenario)
- {
- switch(scenario)
- {
- case WebServiceScenario.BOTTOMUP:
- return getBottomUpModuleTypesInclude();
- case WebServiceScenario.TOPDOWN:
- return getTopDownModuleTypesInclude();
- default:
- }
-
- return null;
- }
-
-
-
-
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceClientImpl.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceClientImpl.java
deleted file mode 100644
index d187b3a6a..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceClientImpl.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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.wsrt;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-public class WebServiceClientImpl {
-
- private IConfigurationElement elem_;
- private String id;
- private String label;
-
- public WebServiceClientImpl(IConfigurationElement elem_)
- {
- super();
- this.elem_ = elem_;
- }
-
- public String getId()
- {
- if (id==null)
- {
- id = elem_.getAttribute("id");
- }
- return id;
- }
-
-
- public String getLabel()
- {
- if (label==null)
- {
- label = elem_.getAttribute("label");
- }
- return label;
- }
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceImpl.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceImpl.java
deleted file mode 100644
index 6caf1ac26..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceImpl.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 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
- * 20070509 182274 kathy@ca.ibm.com - Kathy Chan
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.ws.internal.wsrt.IMerger;
-
-import com.ibm.icu.util.StringTokenizer;
-
-public class WebServiceImpl {
-
- private IConfigurationElement elem_;
- private String id;
- private String label;
- private String[] resourceTypeMetadata;
- private String[] extensionMetadata;
- private String objectSelectionWidget;
- private IMerger mergerClass;
-
- public WebServiceImpl(IConfigurationElement elem_)
- {
- super();
- this.elem_ = elem_;
- }
-
- public String[] getExtensionMetadata()
- {
- if (extensionMetadata==null)
- {
- String attr = elem_.getAttribute("extensionMetadata");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- extensionMetadata = new String[size];
- for (int i = 0; i < extensionMetadata.length; i++)
- extensionMetadata[i] = st.nextToken();
- }
- }
- return extensionMetadata;
- }
-
-
- public String getId()
- {
- if (id==null)
- {
- id = elem_.getAttribute("id");
- }
- return id;
- }
-
-
- public String getLabel()
- {
- if (label==null)
- {
- label = elem_.getAttribute("label");
- }
- return label;
- }
-
-
- public String[] getResourceTypeMetadata()
- {
- if (resourceTypeMetadata==null)
- {
- String attr = elem_.getAttribute("resourceTypeMetadata");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- resourceTypeMetadata = new String[size];
- for (int i = 0; i < resourceTypeMetadata.length; i++)
- resourceTypeMetadata[i] = st.nextToken();
- }
- }
- return resourceTypeMetadata;
- }
-
- public String getObjectSelectionWidget()
- {
- if (objectSelectionWidget==null)
- {
- objectSelectionWidget = elem_.getAttribute("objectSelectionWidget");
- }
- return objectSelectionWidget;
- }
-
-public IMerger getMergerClass() {
- if (mergerClass == null)
- {
- try
- {
- mergerClass = (IMerger) elem_.createExecutableExtension("mergerClass");
- }
- catch(CoreException ce)
- {
-
- }
- }
- return mergerClass;
-}
-
-
-
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry.java
deleted file mode 100644
index ec58deeb6..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 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.wsrt;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Hashtable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
-
-public class WebServiceRuntimeExtensionRegistry
-{
-
- private static WebServiceRuntimeExtensionRegistry instance_;
-
- HashMap webServiceTypes_;
-
- ArrayList webServiceTypesList_;
-
- ArrayList webServiceClientTypesList_;
-
- Hashtable webServiceImpls_;
-
- Hashtable webServiceClientImpls_;
-
- Hashtable serviceTypes_;
-
- Hashtable clientTypes_;
-
- Hashtable webServiceRuntimes_;
-
- /**
- * Returns a singleton instance of this class.
- *
- * @return A singleton WebServiceRuntimeExtensionRegistry object.
- */
- public static WebServiceRuntimeExtensionRegistry getInstance()
- {
- if (instance_ == null)
- {
- instance_ = new WebServiceRuntimeExtensionRegistry();
- instance_.load();
- }
- return instance_;
- }
-
- private void load()
- {
- // Can't get rid of webServiceTypes in M4
- webServiceTypes_ = new HashMap();
- webServiceTypesList_ = new ArrayList();
- webServiceClientTypesList_ = new ArrayList();
- webServiceImpls_ = new Hashtable();
- webServiceClientImpls_ = new Hashtable();
- serviceTypes_ = new Hashtable();
- clientTypes_ = new Hashtable();
- webServiceRuntimes_ = new Hashtable();
-
- IExtensionRegistry reg = Platform.getExtensionRegistry();
-
- //Load WebServiceImpls
- IConfigurationElement[] wsImplExts = reg.getConfigurationElementsFor(
- "org.eclipse.jst.ws.consumption.ui", "wsImpl");
-
- for(int idx=0; idx<wsImplExts.length; idx++)
- {
- IConfigurationElement elem = wsImplExts[idx];
-
- if (elem.getName().equals("webServiceImpl"))
- {
- WebServiceImpl wsimpl = new WebServiceImpl(elem);
- webServiceImpls_.put(elem.getAttribute("id"), wsimpl);
- }
- }
-
- //Load WebServiceClientImpls
- IConfigurationElement[] wsClientImplExts = reg.getConfigurationElementsFor(
- "org.eclipse.jst.ws.consumption.ui", "wsClientImpl");
-
- for(int idx=0; idx<wsClientImplExts.length; idx++)
- {
- IConfigurationElement elem = wsClientImplExts[idx];
-
- if (elem.getName().equals("webServiceClientImpl"))
- {
- WebServiceClientImpl wsClientImpl = new WebServiceClientImpl(elem);
- webServiceClientImpls_.put(elem.getAttribute("id"), wsClientImpl);
- }
- }
-
- //Load ServiceTypes
- IConfigurationElement[] serviceTypeExts = reg.getConfigurationElementsFor(
- "org.eclipse.jst.ws.consumption.ui", "serviceType");
-
- for(int idx=0; idx<serviceTypeExts.length; idx++)
- {
- IConfigurationElement elem = serviceTypeExts[idx];
-
- if (elem.getName().equals("serviceType"))
- {
- ServiceType st = new ServiceType(elem,webServiceImpls_);
- serviceTypes_.put(elem.getAttribute("id"), st);
- }
- }
-
- //Load ClientTypes
- IConfigurationElement[] clientTypeExts = reg.getConfigurationElementsFor(
- "org.eclipse.jst.ws.consumption.ui", "clientType");
-
- for(int idx=0; idx<clientTypeExts.length; idx++)
- {
- IConfigurationElement elem = clientTypeExts[idx];
-
- if (elem.getName().equals("clientType"))
- {
- ClientType ct = new ClientType(elem,webServiceClientImpls_);
- clientTypes_.put(elem.getAttribute("id"), ct);
- }
- }
-
- //Load WebSerivceRuntimes
- IConfigurationElement[] wsrtExts = reg.getConfigurationElementsFor(
- "org.eclipse.jst.ws.consumption.ui", "webServiceRuntime");
-
- for(int idx=0; idx<wsrtExts.length; idx++)
- {
- IConfigurationElement elem = wsrtExts[idx];
-
- if (elem.getName().equals("webServiceRuntime"))
- {
- WebServiceRuntimeInfo wsrtInfo = new WebServiceRuntimeInfo(elem, serviceTypes_, clientTypes_);
- webServiceRuntimes_.put(elem.getAttribute("id"), wsrtInfo);
-
- //Update the type lists
- updateWebServiceTypeList(wsrtInfo);
- updateWebServiceClientTypeList(wsrtInfo);
-
- }
- }
- }
-
- private void updateWebServiceTypeList(WebServiceRuntimeInfo wsrtInfo)
- {
- ServiceType[] sts = wsrtInfo.getServiceTypes();
- if (sts != null)
- {
- for (int j = 0; j < sts.length; j++)
- {
- String implId = sts[j].getWebServiceImpl().getId();
- String[] bus = sts[j].getBottomUpModuleTypesInclude();
- String[] tds = sts[j].getTopDownModuleTypesInclude();
- if (bus != null)
- {
- StringBuffer entrybuff = new StringBuffer();
- entrybuff.append(String.valueOf(WebServiceScenario.BOTTOMUP));
- entrybuff.append("/");
- entrybuff.append(implId);
- String entry = entrybuff.toString();
- if (!webServiceTypesList_.contains(entry))
- {
- webServiceTypesList_.add(entry);
- }
- }
- if (tds != null)
- {
- StringBuffer entrybuff = new StringBuffer();
- entrybuff.append(String.valueOf(WebServiceScenario.TOPDOWN));
- entrybuff.append("/");
- entrybuff.append(implId);
- String entry = entrybuff.toString();
- if (!webServiceTypesList_.contains(entry))
- {
- webServiceTypesList_.add(entry);
- }
- }
- }
- }
- }
-
- private void updateWebServiceClientTypeList(WebServiceRuntimeInfo wsrtInfo)
- {
- ClientType[] cts = wsrtInfo.getClientTypes();
- if (cts != null)
- {
- for (int j = 0; j < cts.length; j++)
- {
- String implId = cts[j].getWebServiceClientImpl().getId();
- String[] mods = cts[j].getModuleTypesInclude();
- if (mods != null)
- {
- StringBuffer entrybuff = new StringBuffer();
- entrybuff.append(String.valueOf(WebServiceScenario.CLIENT));
- entrybuff.append("/");
- entrybuff.append(implId);
- String entry = entrybuff.toString();
- if (!webServiceClientTypesList_.contains(entry))
- {
- webServiceClientTypesList_.add(entry);
- }
- }
- }
- }
- }
-
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry2.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry2.java
deleted file mode 100644
index ab2df35e4..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry2.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- * -------- -------- -----------------------------------------------------------
- * 20060427 126780 rsinha@ca.ibm.com - Rupam Kuehner
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
-
-public class WebServiceRuntimeExtensionRegistry2
-{
-
- private static WebServiceRuntimeExtensionRegistry2 instance_;
-
- //webServiceImpls_:
- //key: id attribute of extension to org.eclipse.jst.ws.consumption.ui.wsImpl
- //value: org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceImpl
- Hashtable webServiceImpls_;
-
- //webServiceClientImpls_:
- //key: id attribute of extension to org.eclipse.jst.ws.consumption.ui.wsClientImpl
- //value: org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceClientImpl
- Hashtable webServiceClientImpls_;
-
- //runtimes_:
- //key: id attribute of extension to org.eclipse.jst.ws.consumption.ui.runtimes
- //value: org.eclipse.jst.ws.internal.consumption.ui.wsrt.RuntimeDescriptor
- Hashtable runtimes_;
-
- //serviceRuntimes_:
- //key: id attribute of extension to org.eclipse.jst.ws.consumption.ui.serviceRuntimes
- //value: org.eclipse.jst.ws.internal.consumption.ui.wsrt.ServiceRuntimeDescriptor
- Hashtable serviceRuntimes_;
-
- //clientRuntimes_:
- //key: id attribute of extension to org.eclipse.jst.ws.consumption.ui.clientRuntimes
- //value: org.eclipse.jst.ws.internal.consumption.ui.wsrt.ClientRuntimeDescriptor
- Hashtable clientRuntimes_;
-
- //webServiceTypesList_ contains a list of String values in this form: "scenario/webServiceImplId",
- //where sceanrio the String representation of one of
- //org.eclipse.wst.ws.internal.wsrt.WebServiceScenario.BOTTOM_UP or
- //org.eclipse.wst.ws.internal.wsrt.WebServiceScenario.TOP_DOWN
- //and webServiceImplId is the id attribute of an extension to org.eclipse.jst.ws.consumption.ui.wsImpl
- //This list is used to determine the items displayed in the WebServiceType combo-box of page 1 of the
- //Web serivce wizard.
- ArrayList webServiceTypesList_;
-
- //TODO: Not used. Remove this and all references to it in this class.
- ArrayList webServiceClientTypesList_;
-
-
- /**
- * Returns a singleton instance of this class.
- *
- * @return A singleton WebServiceRuntimeExtensionRegistry2 object.
- */
- public static WebServiceRuntimeExtensionRegistry2 getInstance()
- {
- if (instance_ == null)
- {
- instance_ = new WebServiceRuntimeExtensionRegistry2();
- instance_.load();
- }
- return instance_;
- }
-
- private void load()
- {
- webServiceImpls_ = new Hashtable();
- webServiceClientImpls_ = new Hashtable();
- runtimes_ = new Hashtable();
- serviceRuntimes_ = new Hashtable();
- clientRuntimes_ = new Hashtable();
- webServiceTypesList_ = new ArrayList();
- webServiceClientTypesList_ = new ArrayList();
-
-
- IExtensionRegistry reg = Platform.getExtensionRegistry();
-
-// Load WebServiceImpls by reading all extensions to org.eclipse.jst.ws.consumption.ui.wsImpl
- IConfigurationElement[] wsImplExts = reg.getConfigurationElementsFor(
- "org.eclipse.jst.ws.consumption.ui", "wsImpl");
-
- for(int idx=0; idx<wsImplExts.length; idx++)
- {
- IConfigurationElement elem = wsImplExts[idx];
- if (elem.getName().equals("webServiceImpl"))
- {
- WebServiceImpl wsimpl = new WebServiceImpl(elem);
- webServiceImpls_.put(elem.getAttribute("id"), wsimpl);
- }
- }
-
- //Load WebServiceClientImpls by reading all extensions to org.eclipse.jst.ws.consumption.ui.wsClientImpl
- IConfigurationElement[] wsClientImplExts = reg.getConfigurationElementsFor(
- "org.eclipse.jst.ws.consumption.ui", "wsClientImpl");
-
- for(int idx=0; idx<wsClientImplExts.length; idx++)
- {
- IConfigurationElement elem = wsClientImplExts[idx];
-
- if (elem.getName().equals("webServiceClientImpl"))
- {
- WebServiceClientImpl wsClientImpl = new WebServiceClientImpl(elem);
- webServiceClientImpls_.put(elem.getAttribute("id"), wsClientImpl);
- }
- }
-
- //Load runtimes by reading all extensions to org.eclipse.jst.ws.consumption.ui.runtimes
- IConfigurationElement[] runtimeExts = reg.getConfigurationElementsFor(
- "org.eclipse.jst.ws.consumption.ui", "runtimes");
-
- for(int idx=0; idx<runtimeExts.length; idx++)
- {
- IConfigurationElement elem = runtimeExts[idx];
-
- if (elem.getName().equals("runtime"))
- {
- RuntimeDescriptor rd = new RuntimeDescriptor(elem);
- runtimes_.put(elem.getAttribute("id"), rd);
- }
- }
-
- //Load serviceRuntimes by reading all extensions to org.eclipse.jst.ws.consumption.ui.serviceRuntimes
- IConfigurationElement[] serviceRuntimeExts = reg.getConfigurationElementsFor(
- "org.eclipse.jst.ws.consumption.ui", "serviceRuntimes");
-
- for(int idx=0; idx<serviceRuntimeExts.length; idx++)
- {
- IConfigurationElement elem = serviceRuntimeExts[idx];
-
- if (elem.getName().equals("serviceRuntime"))
- {
- ServiceRuntimeDescriptor rd = new ServiceRuntimeDescriptor(elem, webServiceImpls_, runtimes_);
- serviceRuntimes_.put(elem.getAttribute("id"), rd);
- updateWebServiceTypeList(rd);
- }
- }
-
- //Load clientRuntimes by reading all extensions to org.eclipse.jst.ws.consumption.ui.clientRuntimes
- IConfigurationElement[] clientRuntimeExts = reg.getConfigurationElementsFor(
- "org.eclipse.jst.ws.consumption.ui", "clientRuntimes");
-
- for(int idx=0; idx<clientRuntimeExts.length; idx++)
- {
- IConfigurationElement elem = clientRuntimeExts[idx];
-
- if (elem.getName().equals("clientRuntime"))
- {
- ClientRuntimeDescriptor rd = new ClientRuntimeDescriptor(elem, webServiceClientImpls_, runtimes_);
- clientRuntimes_.put(elem.getAttribute("id"), rd);
- updateWebServiceClientTypeList(rd);
-
- }
- }
- }
-
- /**
- * Updates the list of Web service types with the provided service runtime's contribution of
- * scenario/webServiceImpl combination.
- * @param descriptor
- */
- private void updateWebServiceTypeList(ServiceRuntimeDescriptor descriptor)
- {
- String serviceImplId = descriptor.getServiceImplementationType().getId();
- boolean bottomUp = descriptor.getBottomUp();
- boolean topDown = descriptor.getTopDown();
- if (bottomUp)
- {
- StringBuffer entrybuff = new StringBuffer();
- entrybuff.append(String.valueOf(WebServiceScenario.BOTTOMUP));
- entrybuff.append("/");
- entrybuff.append(serviceImplId);
- String entry = entrybuff.toString();
- if (!webServiceTypesList_.contains(entry))
- {
- webServiceTypesList_.add(entry);
- }
- }
-
- if (topDown)
- {
- StringBuffer entrybuff = new StringBuffer();
- entrybuff.append(String.valueOf(WebServiceScenario.TOPDOWN));
- entrybuff.append("/");
- entrybuff.append(serviceImplId);
- String entry = entrybuff.toString();
- if (!webServiceTypesList_.contains(entry))
- {
- webServiceTypesList_.add(entry);
- }
- }
- }
-
- private void updateWebServiceClientTypeList(ClientRuntimeDescriptor descriptor)
- {
- String clientImplId = descriptor.getClientImplementationType().getId();
- StringBuffer entrybuff = new StringBuffer();
- entrybuff.append(String.valueOf(WebServiceScenario.CLIENT));
- entrybuff.append("/");
- entrybuff.append(clientImplId);
- String entry = entrybuff.toString();
- if (!webServiceClientTypesList_.contains(entry))
- {
- webServiceClientTypesList_.add(entry);
- }
- }
-
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionUtils2.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionUtils2.java
deleted file mode 100644
index d634ef593..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionUtils2.java
+++ /dev/null
@@ -1,2216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 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
- * -------- -------- -----------------------------------------------------------
- * 20060131 121071 rsinha@ca.ibm.com - Rupam Kuehner
- * 20060221 119111 rsinha@ca.ibm.com - Rupam Kuehner
- * 20060227 124392 rsinha@ca.ibm.com - Rupam Kuehner
- * 20060324 116750 rsinha@ca.ibm.com - Rupam Kuehner
- * 20060427 126780 rsinha@ca.ibm.com - Rupam Kuehner
- * 20070119 159458 mahutch@ca.ibm.com - Mark Hutchinson
- * 20071107 203826 kathy@ca.ibm.com - Kathy Chan
- * 20080326 221364 kathy@ca.ibm.com - Kathy Chan
- * 20080402 225378 makandre@ca.ibm.com - Andrew Mak, Client wizard runtime/server defaulting is not respecting the preference
- * 20080530 234871 makandre@ca.ibm.com - Andrew Mak, Workbench has not been created yet error in cmdline Ant
- * 20080808 243623 mahutch@ca.ibm.com - Mark Hutchinson, Improve server defaulting performance
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.server.core.FacetUtil;
-import org.eclipse.jst.ws.internal.consumption.common.FacetMatcher;
-import org.eclipse.jst.ws.internal.consumption.common.FacetUtils;
-import org.eclipse.jst.ws.internal.consumption.common.RequiredFacetVersion;
-import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
-import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
-import org.eclipse.jst.ws.internal.consumption.ui.preferences.PersistentServerRuntimeContext;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.TypeSelectionFilter2;
-import org.eclipse.jst.ws.internal.data.LabelsAndIds;
-import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.command.internal.env.core.selection.SelectionList;
-import org.eclipse.wst.command.internal.env.core.selection.SelectionListChoices;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntime;
-import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntimeChecker;
-import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
-
-/**
- * This class contains numerous utility methods that
- * process the information provided through extension points
- * which are read in WebServiceRuntimeExtensionRegistry2:
- * <ul>
- * <li> org.eclipse.jst.ws.consumption.ui.wsImpl </li>
- * <li> org.eclipse.jst.ws.consumption.ui.wsClientImpl </li>
- * <li> org.eclipse.jst.ws.consumption.ui.runtimes </li>
- * <li> org.eclipse.jst.ws.consumption.ui.serviceRuntimes </li>
- * <li> org.eclipse.jst.ws.consumption.ui.clientRuntimes </li>
- * </ul>
- *
- * to provide answers to common questions regarding which servers,
- * projects, and project types a particular Web service runtime
- * supports.
- * <br/><br/>
- * Teminology used in the javadoc in this class:
- * <ul>
- * <li><b>Web service scenario</b>: One of WebServiceScenario.BOTTOM_UP or WebServiceScenario.TOP_DOWN.</li>
- * <li><b>Web service implementation type</b>: extension to org.eclipse.jst.ws.consumption.ui.wsImpl.
- * The Java representation of this is org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceImpl.</li>
- * <li><b>Web service type</b>: Forward slash separated concatenation of the String representation
- * of a Web service scenario and a Web service implementation type id.
- * For example, "0/org.eclipse.jst.ws.wsImpl.java", represents the bottom up Java bean Web service type.</li>
- * <li><b>Web service client implementation type</b>: extension to org.eclipse.jst.ws.consumption.ui.wsClientImpl.
- * The Java representation of this is org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceClientImpl.</li>
- * <li><b>Web service runtime</b>: extension to org.eclipse.jst.ws.consumption.ui.runtimes.
- * The Java representation of this is org.eclipse.jst.ws.internal.consumption.ui.wsrt.RuntimeDescriptor</li>
- * <li><b>serviceRuntime</b>: extension to org.eclipse.jst.ws.consumption.ui.serviceRuntimes.
- * The Java representation of this is org.eclipse.jst.ws.internal.consumption.ui.wsrt.ServiceRuntimeDescriptor</li>
- * <li><b>clientRuntime</b>: extension to org.eclipse.jst.ws.consumption.ui.clientRuntimes.
- * The Java representation of this is org.eclipse.jst.ws.internal.consumption.ui.wsrt.ClientRuntimeDescriptor</li>
- * <li><b>server type</b>: This is a server tools artifact. You see a list of these when creating a new server
- * in the tool.</li>
- * <li><b>server runtime</b>: This is a server tools artifact. You see a list of these if you go to Preferences,
- * Server > Installed Runtimes in the tool. The Java representation of this is org.eclipse.wst.server.core.IRuntime</li>
- * <li><b>facet runtime</b>: The facet equivalent of a server runtime. The Java representation of this is
- * org.eclipse.wst.common.project.facet.core.runtime.IRuntime. org.eclipse.jst.server.core.FacetUtil
- * provides methods to translate from a server runtime to a facet runtime and vice-versa.</li>
- * </ul>
- */
-public class WebServiceRuntimeExtensionUtils2
-{
- private static WebServiceRuntimeExtensionRegistry2 registry = WebServiceRuntimeExtensionRegistry2.getInstance();
-
- /**
- * Returns the RuntimeDescriptor representing the Web service runtime
- * with an id attribute equal to the provided id
- * @param id
- * @return RuntimeDescriptor representing the Web service runtime
- * with an id attribute equal to the provided id. Returns null
- * if such a RuntimeDescriptor cannot be found.
- */
- public static RuntimeDescriptor getRuntimeById(String id)
- {
- Object result = registry.runtimes_.get(id);
- if (result!=null)
- {
- return (RuntimeDescriptor)result;
- }
- return null;
- }
-
- /**
- * Returns the union of all project types supported by all serviceRuntimes. Used by the
- * ProjectTopology preference page.
- * @return String[] array of template ids. The array may have 0 elements.
- */
- public static String[] getAllServiceProjectTypes()
- {
- ArrayList finalTemplateIdList = new ArrayList();
- Iterator iter = registry.serviceRuntimes_.values().iterator();
-
- //Loop through all the serviceRuntimes
- while (iter.hasNext())
- {
- ServiceRuntimeDescriptor desc = (ServiceRuntimeDescriptor)iter.next();
-
- //Get the templates for this serviceRuntime
- Set templates = FacetMatchCache.getInstance().getTemplatesForServiceRuntime(desc.getId());
-
- //Add the template ids to the list if they have not already been added
- Iterator itr = templates.iterator();
- while (itr.hasNext())
- {
- IFacetedProjectTemplate template = (IFacetedProjectTemplate)itr.next();
- if (!finalTemplateIdList.contains(template.getId()))
- {
- finalTemplateIdList.add(template.getId());
- }
- }
- }
-
- return (String[])finalTemplateIdList.toArray(new String[]{});
- }
-
- /**
- * Returns the union of all project types supported by all clientRuntimes. Used by the
- * ProjectTopology preference page.
- * @return String[] array of template ids. The array may have 0 elements.
- */
- public static String[] getAllClientProjectTypes()
- {
- ArrayList finalTemplateIdList = new ArrayList();
- Iterator iter = registry.clientRuntimes_.values().iterator();
-
- //Loop through all the clientRuntimes
- while (iter.hasNext())
- {
- ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
-
- //Get the templates for this clientRuntime
- Set templates = FacetMatchCache.getInstance().getTemplatesForClientRuntime(desc.getId());
-
- //Add the template ids to the list if they have not already been added
- Iterator itr = templates.iterator();
- while (itr.hasNext())
- {
- IFacetedProjectTemplate template = (IFacetedProjectTemplate)itr.next();
- if (!finalTemplateIdList.contains(template.getId()))
- {
- finalTemplateIdList.add(template.getId());
- }
- }
- }
-
- return (String[])finalTemplateIdList.toArray(new String[]{});
- }
-
- /**
- * Returns the label of a Web service runtime given its id
- * @param runtimeId id of a Web service runtime
- * @return String the label of the Web service runtime with an id equal to runtimeId.
- * Returns null if such a Web service runtime cannot be found.
- */
- public static String getRuntimeLabelById(String runtimeId)
- {
- RuntimeDescriptor desc = getRuntimeById(runtimeId);
- if (desc == null)
- return null;
-
- return desc.getLabel();
- }
-
- /**
- * Returns the RuntimeDescriptor corresponding to the Web service runtime with the provided label
- * @param label label of a Web service runtime
- * @return RuntimeDescriptor corresponding to the Web service runtime with the provided label
- * Returns null if such a Web service runtime cannot be found.
- */
- public static RuntimeDescriptor getRuntimeByLabel(String label)
- {
- Iterator iter = registry.runtimes_.values().iterator();
- while (iter.hasNext())
- {
- RuntimeDescriptor descriptor = (RuntimeDescriptor)iter.next();
- if (descriptor!=null) {
- if (label.equals(descriptor.getLabel()))
- return descriptor;
- }
- }
- return null;
- }
-
- /**
- * Returns the label of an server type given its id
- * @param serverFactoryId id of a server type
- * @return String label of the server type with an id equal to serverFactoryId.
- * Returns null if such a server type cannot be found.
- */
- public static String getServerLabelById(String serverFactoryId)
- {
- IServerType serverType = ServerCore.findServerType(serverFactoryId);
- if (serverType == null)
- return null;
-
- if (PlatformUI.isWorkbenchRunning()) {
- String serverLabel = ServerUICore.getLabelProvider().getText(serverType);
- return serverLabel;
- }
- else
- return serverType.getName();
- }
-
- /**
- * Returns the label of an IServer given its id
- * @param instanceId id of an IServer
- * @return String label of the IServer with an id equal to instanceId.
- */
- public static String getServerInstanceLabelFromInstanceId( String instanceId )
- {
- IServer server = ServerCore.findServer( instanceId );
- return server.getName();
- }
-
- /**
- * Returns the union of all server type ids corresponding to the facet runtimes
- * in the provided set.
- * @param facetRuntimes a set containing elements of type {@link IRuntime}.
- * @return an array of IServerType ids. The array may have 0 elements.
- */
- private static String[] getServerFactoryIdsByFacetRuntimes(Set facetRuntimes)
- {
-
- ArrayList supportedServerFactoryIds = new ArrayList();
- String[] serverTypeIds = getAllServerFactoryIdsWithRuntimes();
- Iterator itr = facetRuntimes.iterator();
- while(itr.hasNext())
- {
- IRuntime fRuntime = (IRuntime)itr.next();
- org.eclipse.wst.server.core.IRuntime sRuntime = FacetUtil.getRuntime(fRuntime);
- for (int i=0; i<serverTypeIds.length; i++)
- {
- IServerType serverType = ServerCore.findServerType(serverTypeIds[i]);
- IRuntimeType runtimeType = serverType.getRuntimeType();
- if (runtimeType != null)
- {
- String runtimeTypeId = runtimeType.getId();
- if (sRuntime != null && sRuntime.getRuntimeType() != null && runtimeTypeId.equals(sRuntime.getRuntimeType().getId()))
- {
- supportedServerFactoryIds.add(serverTypeIds[i]);
- }
- }
- }
- }
-
- return (String[])supportedServerFactoryIds.toArray(new String[0]);
-
- //Temporarily return all factory ids with runtimes
- //return getAllServerFactoryIdsWithRuntimes();
- }
-
- //Service-side utilities
- /**
- * Returns a WebServiceImpl given the id of a Web service implementation type.
- * @param id
- * @return WebServiceImpl with the given id
- * Returns null if such a WebServiceImpl cannot be found.
- */
- public static WebServiceImpl getWebServiceImplById(String id)
- {
- Object result = registry.webServiceImpls_.get(id);
- if (result!=null)
- {
- return (WebServiceImpl)result;
- }
- return null;
- }
-
- /**
- * Returns a {@link ServiceRuntimeDescriptor} given the id of a servicRuntime.
- * @param id of a serviceRuntime
- * @return ServiceRuntimeDescriptor with the given id
- * Returns null if such a ServiceRuntimeDescriptor cannot be found.
- */
- public static ServiceRuntimeDescriptor getServiceRuntimeDescriptorById(String id)
- {
- Object result = registry.serviceRuntimes_.get(id);
- if (result!=null)
- {
- return (ServiceRuntimeDescriptor)result;
- }
- return null;
- }
-
- /**
- * Returns the {@link IWebServiceRuntime} of the given serviceRuntime. Extenders provide the fully
- * qualified name of a concrete IWebServiceRuntime in the class attribute of a serviceRuntimes extension.
- * @param serviceRuntimeId id of a serviceRuntime
- * @return IWebServiceRuntime
- */
- public static IWebServiceRuntime getServiceRuntime( String serviceRuntimeId )
- {
- ServiceRuntimeDescriptor descriptor = getServiceRuntimeDescriptorById(serviceRuntimeId);
- IWebServiceRuntime webserviceRuntime = null;
- if (descriptor != null)
- {
- webserviceRuntime = descriptor.getWebServiceRuntime();
- }
-
- return webserviceRuntime;
- }
-
- /**
- * Returns the id of a serviceRuntime that supports the provided Web service type, Web service runtime,
- * server type/server instance (if present), project or project type.
- * @param trs an instance of {@link TypeRuntimeServer} containing a Web service type id, Web service runtime id,
- * server type id and server instance id. The Web service type id and Web service runtime id must be non-null
- * and non-empty. The server type id and server instance id may be null or empty.
- * @param projectName the name of an IProject thay may or mat not exist in the workspace. Must be non-null and
- * non-empty.
- * @param templateId the id of an {@link IFacetedProjectTemplate}. Must be non-null and non-empty if
- * an IProject with the name projectName does not exist in the workspace.
- * @return String id of a serviceRuntime that supports the provided Web service type, Web service runtime,
- * server type/server instance (if present), project or project type. Returns an empty String if no
- * such serviceRuntime could be found.
- */
- public static String getServiceRuntimeId(TypeRuntimeServer trs, String projectName, String templateId)
- {
- boolean serverSelected = (trs.getServerId() != null) && (trs.getServerId().length() > 0);
- //Find the first serviceRuntime that supports the implementation type, runtime, server, and project
- String[] descs = getServiceRuntimesByServiceType(trs.getTypeId(), trs.getServerId());
- for (int i=0; i<descs.length; i++)
- {
- ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(descs[i]);
- if (desc.getRuntime().getId().equals(trs.getRuntimeId()))
- {
- if (serverSelected)
- {
- boolean supportsServer = doesServiceRuntimeSupportServer(desc.getId(), trs.getServerId());
- if (!supportsServer)
- {
- continue;
- }
- }
-
- IProject project = ProjectUtilities.getProject(projectName);
- if (project.exists())
- {
- if (doesServiceRuntimeSupportProject(desc.getId(), projectName))
- {
- return desc.getId();
- }
- }
- else
- {
- //Check if template is supported
- if (doesServiceRuntimeSupportTemplate(desc.getId(), templateId))
- {
- return desc.getId();
- }
- }
- }
- }
-
- return "";
-
- }
-
- /**
- * Returns the Web service scenario from the Web service type.
- * @param typeId must be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- * @return int scenario (e.g. WebServiceScenario.BOTTOM_UP or WebServiceScenario.TOP_DOWN)
- */
- public static int getScenarioFromTypeId(String typeId)
- {
- return Integer.parseInt(typeId.substring(0,typeId.indexOf("/")));
- }
-
- /**
- * Returns the Web service implemenation type id fron the Web service type id.
- * @param typeId must be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- * @return String the WebServiceImpl id.
- */
- public static String getWebServiceImplIdFromTypeId(String typeId)
- {
- return typeId.substring(typeId.indexOf("/")+1);
- }
-
- /**
- * Returns the ids of all Web service runtimes that support the given
- * Web service type.
- *
- * @param typeId must be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- *
- * @return String[] array containing the ids of all Web service runtimes that
- * support the given Web service type. The array may have 0 elements.
- */
- public static String[] getRuntimesByServiceType(String typeId)
- {
- int scenario = getScenarioFromTypeId(typeId);
- String implId = getWebServiceImplIdFromTypeId(typeId);
- ArrayList ids = new ArrayList();
- Iterator iter = registry.serviceRuntimes_.values().iterator();
- while (iter.hasNext())
- {
- ServiceRuntimeDescriptor desc = (ServiceRuntimeDescriptor)iter.next();
- //Check if this serviceRuntime supports the implementation type
- if (desc.getServiceImplementationType().getId().equals(implId))
- {
- switch (scenario)
- {
- case WebServiceScenario.BOTTOMUP:
- if (desc.getBottomUp())
- {
- String runtimeId = desc.getRuntime().getId();
- if (!ids.contains(runtimeId))
- {
- ids.add(runtimeId);
- }
- }
- break;
- case WebServiceScenario.TOPDOWN:
- if (desc.getTopDown())
- {
- String runtimeId = desc.getRuntime().getId();
- if (!ids.contains(runtimeId))
- {
- ids.add(runtimeId);
- }
- }
- break;
- default:
- }
- }
- }
-
- return (String[])ids.toArray(new String[]{});
- }
-
- /**
- * Returns the ids of all serviceRuntimes that support the given
- * Web service type.
- *
- * @param typeId must be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- *
- * @returns String[] array containing the ids of all serviceRuntimes that
- * support the given Web service type. The array may have 0 elements.
- */
- public static String[] getServiceRuntimesByServiceType(String typeId)
- {
- int scenario = getScenarioFromTypeId(typeId);
- String implId = getWebServiceImplIdFromTypeId(typeId);
- ArrayList ids = new ArrayList();
- Iterator iter = registry.serviceRuntimes_.values().iterator();
- while (iter.hasNext())
- {
- ServiceRuntimeDescriptor desc = (ServiceRuntimeDescriptor)iter.next();
- //Check if this serviceRuntime supports the implementation type
- if (desc.getServiceImplementationType().getId().equals(implId))
- {
- switch (scenario)
- {
- case WebServiceScenario.BOTTOMUP:
- if (desc.getBottomUp())
- {
- String serviceRuntimeId = desc.getId();
- ids.add(serviceRuntimeId);
- }
- break;
- case WebServiceScenario.TOPDOWN:
- if (desc.getTopDown())
- {
- String serviceRuntimeId = desc.getId();
- ids.add(serviceRuntimeId);
- }
- break;
- default:
- }
- }
- }
-
- return (String[])ids.toArray(new String[]{});
- }
-
- /**
- * Returns the ids of all serviceRuntimes that support the given
- * Web service type, with preferred server
- *
- * @param typeId must be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- *
- * @returns String[] array containing the ids of all serviceRuntimes that
- * support the given Web service type. The array may have 0 elements.
- */
- public static String[] getServiceRuntimesByServiceType(String typeId, String preferredServerFactoryId)
- {
- // PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin
- // .getInstance().getServerRuntimeContext();
- // String preferredRuntimeId = context.getRuntimeId();
- // String preferredServerFactoryId = context.getServerFactoryId();
-
- int scenario = getScenarioFromTypeId(typeId);
- String implId = getWebServiceImplIdFromTypeId(typeId);
- ArrayList ids = new ArrayList();
- ArrayList idsPreferredByServer = new ArrayList();
- Iterator iter = registry.serviceRuntimes_.values().iterator();
- while (iter.hasNext())
- {
- ServiceRuntimeDescriptor desc = (ServiceRuntimeDescriptor)iter.next();
- //Check if this serviceRuntime supports the implementation type
- if (desc.getServiceImplementationType().getId().equals(implId))
- {
- switch (scenario)
- {
- case WebServiceScenario.BOTTOMUP:
- if (desc.getBottomUp())
- {
- String serviceRuntimeId = desc.getId();
- if (desc.getRuntimePreferredServerType() != null && desc.getRuntimePreferredServerType().equals(preferredServerFactoryId))
- idsPreferredByServer.add(serviceRuntimeId);
- else
- ids.add(serviceRuntimeId);
- }
- break;
- case WebServiceScenario.TOPDOWN:
- if (desc.getTopDown())
- {
- String serviceRuntimeId = desc.getId();
- if (desc.getRuntimePreferredServerType() != null && desc.getRuntimePreferredServerType().equals(preferredServerFactoryId))
- idsPreferredByServer.add(serviceRuntimeId);
- else
- ids.add(serviceRuntimeId);
- }
- break;
- default:
- }
- }
- }
- // append preferredRuntime after preferredRuntimeIdsListPreferredByServer
- String[] preferredRuntimeIds = new String[idsPreferredByServer.size()+ids.size()];
- Iterator itr1 = idsPreferredByServer.iterator();
- int preferredRTCounter = 0;
- while (itr1.hasNext()) {
- String runtimeId = (String) itr1.next();
- preferredRuntimeIds[preferredRTCounter++] = runtimeId;
- }
-
- Iterator itr2 = ids.iterator();
-
- while (itr2.hasNext()) {
- String runtimeId = (String) itr2.next();
- preferredRuntimeIds[preferredRTCounter++] = runtimeId;
- }
-
- return preferredRuntimeIds;
- }
-
- /**
- * Returns whether or not the given Web service runtime supports the given
- * Web service type.
- *
- * @param typeId must be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- *
- * @param runtimeId id of a Web service runtime
- *
- * @return boolean <code>true</code> if the given Web service runtime supports the given
- * Web service type. <code>false</code> otherwise.
- */
- public static boolean isRuntimeSupportedForServiceType(String typeId, String runtimeId)
- {
- String[] serviceRuntimeIds = getServiceRuntimesByServiceType(typeId);
- if (serviceRuntimeIds!=null)
- {
- for (int i=0; i < serviceRuntimeIds.length; i++)
- {
- ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(serviceRuntimeIds[i]);
- if (desc.getRuntime().getId().equals(runtimeId))
- {
- return true;
- }
- }
- }
-
- return false;
- }
-
- /**
- * Returns the ids of all server types that support the given
- * Web service type.
- *
- * @param typeId must be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- *
- * @returns String[] array containing the ids of all server types that
- * support the given Web service type. The array may have 0 elements.
- */
- public static String[] getServerFactoryIdsByServiceType(String typeId)
- {
- ArrayList serverFactoryIds = new ArrayList();
- String[] srts = getServiceRuntimesByServiceType(typeId);
- if (srts != null)
- {
- for (int i = 0; i < srts.length; i++)
- {
- //Get the runtimes that work for the facets required for this serviceRuntime
- String[] fIds = getServerFactoryIdsByServiceRuntime(srts[i]);
- for (int j=0; j<fIds.length; j++)
- {
- if (!serverFactoryIds.contains(fIds[j]))
- {
- serverFactoryIds.add(fIds[j]);
- }
- }
- }
- }
-
- return (String[])serverFactoryIds.toArray(new String[]{});
-
- //Temporarily return all server type ids.
- //return getAllServerFactoryIdsWithRuntimes();
- }
-
- /**
- * Returns whether or not the given server type supports the given
- * Web service type.
- *
- * @param typeId must be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- *
- * @param serverFactoryId id of a server type
- *
- * @return boolean <code>true</code> if the given server type supports the given
- * Web service type. <code>false</code> otherwise.
- */
- public static boolean isServerSupportedForChosenServiceType(String typeId, String serverFactoryId)
- {
- String[] fIds = getServerFactoryIdsByServiceType(typeId);
- if (fIds == null)
- {
- return false;
- }
-
- for (int i=0;i<fIds.length;i++)
- {
- if (serverFactoryId.equals(fIds[i]))
- {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Returns the ids of all server types that support the given
- * serviceRuntime.
- *
- * @param serviceRuntimeId id of a serviceRuntime
- *
- * @returns String[] array containing the ids of all server types that
- * support the given serviceRuntime. The array may have 0 elements.
- */
- public static String[] getServerFactoryIdsByServiceRuntime(String serviceRuntimeId)
- {
- ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(serviceRuntimeId);
- Set facetRuntimes = getRuntimes(desc.getRequiredFacetVersions());
-
- //Temporarily return all server types
- //return getAllServerFactoryIdsWithRuntimes();
- return getServerFactoryIdsByFacetRuntimes(facetRuntimes);
- }
-
-
-
- /**
- * Returns whether or not the given server type supports the given
- * serviceRuntime.
- *
- * @param serviceRuntimeId id of a serviceRuntime
- * @param serverFactoryId id of a server type
- *
- * @return boolean <code>true</code> if the given server type supports the given
- * serviceRuntime. <code>false</code> otherwise.
- */
- public static boolean doesServiceRuntimeSupportServer(String serviceRuntimeId, String serverFactoryId)
- {
- String[] serverIds = getServerFactoryIdsByServiceRuntime(serviceRuntimeId);
- for (int i=0; i<serverIds.length; i++)
- {
- if (serverIds[i].equals(serverFactoryId))
- {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Returns the labels and ids of all Web service types. Used to populate the Web service type combo box on
- * page 1 of the Web service wizard.
- * @return {@link LabelsAndIds}
- */
- public static LabelsAndIds getServiceTypeLabels()
- {
- LabelsAndIds labelIds = new LabelsAndIds();
- Iterator iterator = registry.webServiceTypesList_.iterator();
- int size = registry.webServiceTypesList_.size();
- String[] labels = new String[size];
- String[] ids = new String[size];
- int index = 0;
-
- labelIds.setLabels_( labels );
- labelIds.setIds_( ids );
-
- while( iterator.hasNext() )
- {
- String wst = (String)iterator.next();
- int scenario = getScenarioFromTypeId(wst);
- String implId = getWebServiceImplIdFromTypeId(wst);
- WebServiceImpl wsimpl = getWebServiceImplById(implId);
- String impllabel = wsimpl.getLabel();
- ids[index] = wst;
- String scenLabel = "";
- switch(scenario)
- {
- case WebServiceScenario.BOTTOMUP:
- scenLabel = NLS.bind(ConsumptionUIMessages.BOTTOMUP_LABEL, new String[0]);
- break;
- case WebServiceScenario.TOPDOWN:
- scenLabel = NLS.bind(ConsumptionUIMessages.TOPDOWN_LABEL, new String[0]);
- break;
- default:
- }
- labels[index] = NLS.bind(ConsumptionUIMessages.COMBINED_TYPE_AND_RUNTIME_LABEL, new String[]{ scenLabel, impllabel });
- index++;
- }
-
- return labelIds;
- }
-
- /**
- * Returns the id of a Web service runtime that supports the given Web service type.
- *
- * @param typeId will be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- *
- * @return String id of a Web service runtime that supports the given Web service type.
- * Returns null if such a Web service runtime cannot be found.
- */
- public static String getDefaultRuntimeValueFor(String typeId)
- {
- String[] srIds = getServiceRuntimesByServiceType(typeId);
- if (srIds == null)
- {
- return null;
- }
-
- PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
- String preferredRuntimeId = context.getRuntimeId();
-
- String runtimeId;
-
- for (int i = 0; i < srIds.length; i++) {
- runtimeId = getServiceRuntimeDescriptorById(srIds[i]).getRuntime().getId();
- if (runtimeId.equals(preferredRuntimeId)) {
- return runtimeId;
- }
- }
-
- // The preferred runtime does not support typeId. Just return the first service runtime that does support typeId.
- ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(srIds[0]);
- return desc.getRuntime().getId();
- }
-
- /**
- * Returns the id of a Web service client runtime that supports the given Web service client type.
- *
- * @param typeId The client type ID.
- *
- * @return String id of a Web service client runtime that supports the given Web service client type.
- * Returns null if such a Web service client runtime cannot be found.
- */
- public static String getDefaultClientRuntimeValueFor(String typeId)
- {
- String[] crIds = getClientRuntimesByType(typeId);
- if (crIds == null)
- {
- return null;
- }
-
- PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
- String preferredRuntimeId = context.getRuntimeId();
-
- String runtimeId;
-
- for (int i = 0; i < crIds.length; i++) {
- runtimeId = getClientRuntimeDescriptorById(crIds[i]).getRuntime().getId();
- if (runtimeId.equals(preferredRuntimeId)) {
- return runtimeId;
- }
- }
-
- // The preferred runtime does not support typeId. Just return the first service runtime that does support typeId.
- ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(crIds[0]);
- return desc.getRuntime().getId();
- }
-
- /**
- * Returns the id of a server type that supports the given Web service type.
- * Returns the server type ID from the preference if it supports the typeId.
- *
- * @param typeId will be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- *
- * @return String id of a id of a server type that supports the given Web service type.
- * Returns null if such a server type cannot be found.
- */
- public static String getDefaultServerValueFor(String typeId)
- {
- String[] fIds = getServerFactoryIdsByServiceType(typeId);
- if (fIds==null || fIds.length==0)
- return null;
-
- PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
- String preferredServerFactoryId = context.getServerFactoryId();
- for (int i = 0; i < fIds.length; i++) {
- String serverTypeId = fIds[i];
- if (serverTypeId.equals(preferredServerFactoryId)) {
- return serverTypeId;
- }
- }
- return fIds[0];
- }
-
- /**
- * Returns the id of a server type that supports the given Web service client type.
- * Returns the server type ID from the preference if it supports the typeId.
- *
- * @param typeId The client type ID.
- *
- * @return String id of a id of a server type that supports the given Web service client type.
- * Returns null if such a server type cannot be found.
- */
- public static String getDefaultClientServerValueFor(String typeId) {
- PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
- String preferredServerFactoryId = context.getServerFactoryId();
- String first = null;//the first server found
- String[] crts = getClientRuntimesByType(typeId);
-
- if (crts != null)
- {
- for (int i = 0; i < crts.length; i++)
- {
- //Get the runtimes that work for the facets required for this serviceRuntime
- String[] fIds = getServerFactoryIdsByClientRuntime(crts[i]);
- for (int j=0; j<fIds.length; j++)
- {
- if (first == null) {
- first = fIds[j];
- }
- if (preferredServerFactoryId.equals(fIds[j])) {
- return fIds[j];//found the preferred one, stop searching and return it
- }
- }
- }
- }
- return first;
- }
-
-
- /**
- * Returns whether or not the given combination of server type, Web service runtime, and Web service type is
- * supported. Used for validation.
- *
- * @param serverFactoryId id of a server type
- * @param runtimeId id of a Web service runtime
- * @param typeId will be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- *
- * @return boolean <code>true</code> if the given combination of server type, Web service runtime, and Web service type is
- * supported. <code>false</code> otherwise.
- */
- public static boolean isServerRuntimeTypeSupported(String serverFactoryId, String runtimeId, String typeId)
- {
- //Ensure there is at least one serviceRuntime that supports the given type
- String[] serviceRuntimes = getServiceRuntimesByServiceType(typeId);
- if (serviceRuntimes!=null && serviceRuntimes.length>0)
- {
- //Ensure that at least one of these server runtimes supports the given server
- for (int i=0; i<serviceRuntimes.length; i++)
- {
- ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(serviceRuntimes[i]);
- if (desc.getRuntime().getId().equals(runtimeId))
- {
- //Matches the type and the runtime. Check if it matches the server
- Set runtimes = getRuntimes(desc.getRequiredFacetVersions());
- String[] fIds = getServerFactoryIdsByFacetRuntimes(runtimes);
- for (int j=0; j<fIds.length; j++)
- {
- if (fIds[j].equals(serverFactoryId))
- {
- return true;
- }
- }
- }
- }
- }
-
- //didn't find a match. return false.
- return false;
- }
-
- /**
- * Returns an array of Web service type ids that are suitable for the provided selection.
- * Used to default the Web service type combo box on page 1 of the Web service wizard
- * based on the user's initial selection.
- * @param selection
- * @return String[] an array of Web service type ids that are suitable for the provided selection.
- * Returns null if the selection is empty or no suitable Web service types are found.
- */
- public static String[] getWebServiceTypeBySelection(IStructuredSelection selection)
- {
- TypeSelectionFilter2 tsf = new TypeSelectionFilter2();
- String[] wst = tsf.getWebServiceTypeByInitialSelection(selection, registry.webServiceTypesList_);
- return wst == null ? null : wst;
- }
-
- /**
- * Returns whether or not the given server type supports the given Web service runtime
- *
- * @param runtimeId : id of a Web service runtime
- * @param factoryId : id of a server type
- * @return boolean <code>true</code> if the given server type supports the given
- * Web service runtime for the service side. <code>false</code> otherwise.
- */
- public static boolean doesRuntimeSupportServerForServiceSide(String runtimeId, String factoryId)
- {
- //Get all the ServiceRuntimeDescriptors that point to this runtimeId
- Iterator iter = registry.serviceRuntimes_.values().iterator();
- while (iter.hasNext())
- {
- ServiceRuntimeDescriptor desc = (ServiceRuntimeDescriptor)iter.next();
- //check if this serviceRuntime points to runtimeId
- String thisRuntimeId = desc.getRuntime().getId();
- if (thisRuntimeId.equals(runtimeId))
- {
- Set facetRuntimes = getRuntimes(desc.getRequiredFacetVersions());
- String[] fIds = getServerFactoryIdsByFacetRuntimes(facetRuntimes);
- for (int j=0; j<fIds.length; j++)
- {
- if (fIds[j].equals(factoryId))
- {
- return true;
- }
- }
- }
- }
-
- //No serviceRuntime matched. Return false.
- return false;
- }
-
- /**
- * Returns the id of a server type that supports the given Web service runtime
- * on the service side.
- *
- * @param runtimeId id of a Web service runtime
- * @return String the id of a server type that supports the given Web service runtime.
- * Returns null if such a server type cannot be found.
- */
- public static String getFirstSupportedServerForServiceSide(String runtimeId)
- {
- //Get all the ServiceRuntimeDescriptors that point to this runtimeId
- Iterator iter = registry.serviceRuntimes_.values().iterator();
- while (iter.hasNext())
- {
- ServiceRuntimeDescriptor desc = (ServiceRuntimeDescriptor)iter.next();
- //check if this serviceRuntime points to runtimeId
- String thisRuntimeId = desc.getRuntime().getId();
- if (thisRuntimeId.equals(runtimeId))
- {
- Set facetRuntimes = getRuntimes(desc.getRequiredFacetVersions());
- String[] factoryIds = getServerFactoryIdsByFacetRuntimes(facetRuntimes);
- if (factoryIds!=null && factoryIds.length >0)
- {
- return factoryIds[0];
- }
- }
- }
-
- //didn't get a single suitable server type id, return null.
- return null;
- }
-
- /**
- * Returns the names of all projects in the workspace which support the given Web service type
- * and Web service runtime.
- * @param typeId must be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- * @param runtimeId id of a Web service runtime
- * @return String[] array of project names. The array may have 0 elements.
- */
- public static String[] getProjectsForServiceTypeAndRuntime(String typeId, String runtimeId)
- {
- IProject[] projects = FacetUtils.getAllProjects();
- ArrayList validProjects = new ArrayList();
-
- for (int i=0; i<projects.length;i++)
- {
- if (doesServiceTypeAndRuntimeSupportProject(typeId, runtimeId, projects[i].getName()))
- {
- validProjects.add(projects[i].getName());
- }
- }
-
- return (String[])validProjects.toArray(new String[0]);
-
- }
-
- /**
- * Returns whether or not the given project supports the given Web service type and Web service runtime.
- * @param typeId must be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- * @param runtimeId id of a Web service runtime
- * @param projectName name of an IProject in the workspace
- * @return boolean <code>true</code> if the project supports the given Web service type and
- * Web service runtime. Returns <code>false</code>
- * <ul>
- * <li>if the project does not support the given Web service type and Web service runtime or</li>
- * <li>if the project does not exist or</li>
- * <li>if projectName is null or empty</li>
- * </ul>
- */
- public static boolean doesServiceTypeAndRuntimeSupportProject(String typeId, String runtimeId, String projectName)
- {
- String[] descs = getServiceRuntimesByServiceType(typeId);
- for (int j = 0; j < descs.length; j++)
- {
- ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(descs[j]);
- if (desc.getRuntime().getId().equals(runtimeId))
- {
- if (doesServiceRuntimeSupportProject(descs[j], projectName))
- {
- return true;
- }
- }
- }
-
- return false;
-
- }
-
- /**
- * Returns whether or not the given project supports the given serviceRuntime.
- * @param serviceRuntimeId id of a serviceRuntime
- * @param projectName name of an IProject in the workspace
- * @return boolean <code>true</code> if the project supports the given
- * serviceRuntime. Returns <code>false</code>
- * <ul>
- * <li>if the project does not support the given serviceRuntime or</li>
- * <li>if the project does not exist or</li>
- * <li>if projectName is null or empty</li>
- * </ul>
- */
- public static boolean doesServiceRuntimeSupportProject(String serviceRuntimeId, String projectName)
- {
- FacetMatcher fm = FacetMatchCache.getInstance().getMatchForProject(false, serviceRuntimeId, projectName);
- if (fm != null)
- {
- return fm.isMatch();
- }
- else
- {
- return false;
- }
- }
-
-
- /**
- * Returns an array of {@link IFacetedProjectTemplate} ids that support the given Web service type
- * and Web service runtime.
- * @param typeId must be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- * @param runtimeId id of a Web service runtime
- * @return String[] array of {@link IFacetedProjectTemplate} ids that support the given Web service type
- * and Web service runtime. The array may have 0 elements. Returns null if no serviceRuntimes supporting
- * the given Web service type could be found.
- */
- public static String[] getServiceProjectTemplates(String typeId, String runtimeId)
- {
- String[] srIds = getServiceRuntimesByServiceType(typeId);
- if (srIds == null)
- {
- return null;
- }
-
- ArrayList templateIdList = new ArrayList();
- for (int i = 0; i < srIds.length; i++)
- {
- ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(srIds[i]);
- String thisRuntimeId = desc.getRuntime().getId();
- if (thisRuntimeId.equals(runtimeId))
- {
- //Get the templates for this serviceRuntime
- Set templates = FacetMatchCache.getInstance().getTemplatesForServiceRuntime(desc.getId());
-
- //Add the template ids to the list if they have not already been added
- Iterator itr = templates.iterator();
- while (itr.hasNext())
- {
- IFacetedProjectTemplate template = (IFacetedProjectTemplate)itr.next();
- if (!templateIdList.contains(template.getId()))
- {
- templateIdList.add(template.getId());
- }
- }
- }
-
- }
-
- return (String[])templateIdList.toArray(new String[]{});
- }
-
- /**
- * Returns whether or not the given {@link IFacetedProjectTemplate} supports the given Web service type
- * and Web service runtime.
- * @param typeId must be a String of the format "0/implId"
- * where the digit before the "/" represents the scenario
- * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the Web service implementation type id.
- * @param runtimeId id of a Web service runtime
- * @param templateId id of a {@link IFacetedProjectTemplate}
- * @return boolean <code>true</code> if the given {@link IFacetedProjectTemplate} supports the given
- * Web service type and Web service runtime. Returns <code>false</code> otherwise.
- */
- public static boolean doesServiceTypeAndRuntimeSupportTemplate(String typeId, String runtimeId, String templateId)
- {
- String[] srIds = getServiceRuntimesByServiceType(typeId);
- if (srIds == null)
- {
- return false;
- }
-
- for (int i = 0; i < srIds.length; i++)
- {
- ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(srIds[i]);
- String thisRuntimeId = desc.getRuntime().getId();
- if (thisRuntimeId.equals(runtimeId))
- {
- //Get the templates for this serviceRuntime
- Set templates = FacetMatchCache.getInstance().getTemplatesForServiceRuntime(srIds[i]);
-
- //Check if any of the template ids match the given one.
- Iterator itr = templates.iterator();
- while (itr.hasNext())
- {
- IFacetedProjectTemplate template = (IFacetedProjectTemplate)itr.next();
- if (template.getId().equals(templateId))
- {
- return true;
- }
-
- }
- }
-
- }
-
- return false;
- }
-
- /**
- * Returns whether or not the given {@link IFacetedProjectTemplate} supports the given serviceRuntime.
- * @param serviceRuntimeId id of a serviceRuntime
- * @param templateId id of a {@link IFacetedProjectTemplate}
- * @return boolean <code>true</code> if the given {@link IFacetedProjectTemplate} supports the given
- * serviceRuntime. Returns <code>false</code> otherwise.
- */
- public static boolean doesServiceRuntimeSupportTemplate(String serviceRuntimeId, String templateId)
- {
- //Get the templates for this serviceRuntime
- Set templates = FacetMatchCache.getInstance().getTemplatesForServiceRuntime(serviceRuntimeId);
- IFacetedProjectTemplate checkingTemplate = ProjectFacetsManager.getTemplate(templateId);
- return templates.contains(checkingTemplate);
- }
-
- //Client-side utilities
- /**
- * Returns a WebServiceClientImpl given the id of a Web service client implementation type.
- * @param id
- * @return {@link WebServiceClientImpl} with the given id
- * Returns null if such a WebServiceClientImpl cannot be found.
- */
- public static WebServiceClientImpl getWebServiceClientImplById(String id)
- {
- Object result = registry.webServiceClientImpls_.get(id);
- if (result!=null)
- {
- return (WebServiceClientImpl)result;
- }
- return null;
- }
-
- /**
- * Returns a {@link ClientRuntimeDescriptor} given the id of a clientRuntime.
- * @param id of a clientRuntime
- * @return ClientRuntimeDescriptor with the given id
- * Returns null if such a ClientRuntimeDescriptor cannot be found.
- */
- public static ClientRuntimeDescriptor getClientRuntimeDescriptorById(String id)
- {
- Object result = registry.clientRuntimes_.get(id);
- if (result!=null)
- {
- return (ClientRuntimeDescriptor)result;
- }
- return null;
- }
-
- /**
- * Returns the {@link IWebServiceRuntime} of the given clientRuntime. Extenders provide the fully
- * qualified name of a concrete IWebServiceRuntime in the class attribute of a clientRuntimes extension.
- * @param clientRuntimeId id of a clientRuntime
- * @return IWebServiceRuntime
- */
- public static IWebServiceRuntime getClientRuntime( String clientRuntimeId )
- {
- ClientRuntimeDescriptor descriptor = getClientRuntimeDescriptorById(clientRuntimeId);
- IWebServiceRuntime webserviceRuntime = null;
- if (descriptor != null)
- {
- webserviceRuntime = descriptor.getWebServiceRuntime();
- }
-
- return webserviceRuntime;
- }
-
- /**
- * Returns the id of a clientRuntime that supports the provided Web service client implementation type, Web service runtime,
- * server type/server instance (if present), project or project type.
- * @param trs an instance of {@link TypeRuntimeServer} containing a Web service client implementation type id, Web service runtime id,
- * server type id and server instance id. The Web service client implementation type id and Web service runtime id must be non-null
- * and non-empty. The server type id and server instance id may be null or empty.
- * @param projectName the name of an IProject thay may or mat not exist in the workspace. Must be non-null and
- * non-empty.
- * @param templateId the id of an {@link IFacetedProjectTemplate}. Must be non-null and non-empty if
- * an IProject with the name projectName does not exist in the workspace.
- * @return String id of a clientRuntime that supports the provided Web service client implementation type, Web service runtime,
- * server type/server instance (if present), project or project type. Returns an empty String if no
- * such clientRuntime could be found.
- */
- public static String getClientRuntimeId(TypeRuntimeServer trs, String projectName, String templateId)
- {
- boolean serverSelected = (trs.getServerId()!=null) && (trs.getServerId().length()>0);
- //Find the first clientRuntime that supports the implementation type, runtime, server, and project
- String[] descs = getClientRuntimesByType(trs.getTypeId(), trs.getServerId());
- for (int i=0; i<descs.length; i++)
- {
- ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(descs[i]);
- if (desc.getRuntime().getId().equals(trs.getRuntimeId()))
- {
- if (serverSelected)
- {
- boolean supportsServer = doesClientRuntimeSupportServer(desc.getId(), trs.getServerId());
- if (!supportsServer)
- {
- continue;
- }
- }
-
- IProject project = ProjectUtilities.getProject(projectName);
- if (project.exists())
- {
- if (doesClientRuntimeSupportProject(desc.getId(), projectName))
- {
- return desc.getId();
- }
- }
- else
- {
- //Check if template is supported
- if (doesClientRuntimeSupportTemplate(desc.getId(), templateId))
- {
- return desc.getId();
- }
- }
- }
- }
-
- return "";
-
- }
-
- /**
- * Returns all Web service runtime ids for the client side.
- * @return String[] array of Web service runtime ids for the client side.
- * The array may have 0 elements.
- */
- public static String[] getAllRuntimesForClientSide()
- {
- ArrayList runtimeIds = new ArrayList();
- Iterator iter = registry.clientRuntimes_.values().iterator();
- while (iter.hasNext())
- {
- ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
- String thisRuntimeId = desc.getRuntime().getId();
- if (!runtimeIds.contains(thisRuntimeId))
- runtimeIds.add(thisRuntimeId);
- }
- return (String[])runtimeIds.toArray(new String[]{});
- }
-
- /**
- * Returns the ids of all clientRuntimes that support the given
- * Web service client implementation type.
- * @param clientImplId id of a Web service client implementation type
- * @returns String[] array containing the ids of all clientRuntimes that
- * support the given Web service client implementation type. The array may have 0 elements.
- */
- public static String[] getClientRuntimesByType(String clientImplId)
- {
- ArrayList ids = new ArrayList();
- Iterator iter = registry.clientRuntimes_.values().iterator();
- while (iter.hasNext())
- {
- ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
- //Check if this serviceRuntime supports the implementation type
- if (desc.getClientImplementationType().getId().equals(clientImplId))
- {
- ids.add(desc.getId());
- }
- }
-
- return (String[])ids.toArray(new String[]{});
- }
-
- /**
- * Returns the ids of all clientRuntimes that support the given
- * Web service client implementation type and the preferred server
- * @param clientImplId id of a Web service client implementation type
- * @returns String[] array containing the ids of all clientRuntimes that
- * support the given Web service client implementation type. The array may have 0 elements.
- */
- public static String[] getClientRuntimesByType(String clientImplId, String preferredServerFactoryId)
- {
- ArrayList ids = new ArrayList();
- ArrayList idsPreferredByServer = new ArrayList();
- Iterator iter = registry.clientRuntimes_.values().iterator();
- while (iter.hasNext())
- {
- ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
- //Check if this serviceRuntime supports the implementation type
- if (desc.getClientImplementationType().getId().equals(clientImplId))
- {
- String clientRuntimeId = desc.getId();
- if (desc.getRuntimePreferredServerType() != null && desc.getRuntimePreferredServerType().equals(preferredServerFactoryId)) {
- idsPreferredByServer.add(clientRuntimeId);
- } else {
- ids.add(clientRuntimeId);
- }
- }
- }
-
- // append preferredRuntime after preferredRuntimeIdsListPreferredByServer
- String[] preferredRuntimeIds = new String[idsPreferredByServer.size()+ids.size()];
- Iterator itr1 = idsPreferredByServer.iterator();
- int preferredRTCounter = 0;
- while (itr1.hasNext()) {
- String runtimeId = (String) itr1.next();
- preferredRuntimeIds[preferredRTCounter++] = runtimeId;
- }
-
- Iterator itr2 = ids.iterator();
-
- while (itr2.hasNext()) {
- String runtimeId = (String) itr2.next();
- preferredRuntimeIds[preferredRTCounter++] = runtimeId;
- }
-
- return preferredRuntimeIds;
- }
-
- /**
- * Returns the ids of all Web service runtimes that support the given
- * Web service client implementation type.
- * @param clientImplId id of a Web service client implementation type
- * @return String[] array containing the ids of all Web service runtimes that
- * support the given Web service client implementation type. The array may have 0 elements.
- */
- public static String[] getRuntimesByClientType(String clientImplId)
- {
- ArrayList runtimeIds = new ArrayList();
- Iterator iter = registry.clientRuntimes_.values().iterator();
- while (iter.hasNext())
- {
- ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
- //Check if this serviceRuntime supports the implementation type
- if (desc.getClientImplementationType().getId().equals(clientImplId))
- {
- if (!runtimeIds.contains(desc.getRuntime().getId()))
- {
- runtimeIds.add(desc.getRuntime().getId());
- }
- }
- }
-
- return (String[])runtimeIds.toArray(new String[]{});
- }
-
- /**
- * Returns whether or not the given Web service runtime supports the given
- * Web service client implementation type.
- * @param clientImplId id of a Web service client implementation type
- * @param runtimeId id of a Web service runtime
- * @return boolean <code>true</code> if the given Web service runtime supports the given
- * Web service client implementation type. <code>false</code> otherwise.
- */
- public static boolean isRuntimeSupportedForClientType(String clientImplId, String runtimeId)
- {
- String[] clientRuntimeIds = getClientRuntimesByType(clientImplId);
- if (clientRuntimeIds!=null)
- {
- for (int i=0; i < clientRuntimeIds.length; i++)
- {
- ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(clientRuntimeIds[i]);
- if (desc.getRuntime().getId().equals(runtimeId))
- {
- return true;
- }
- }
- }
-
- return false;
- }
-
- /**
- * Returns all server type ids with configured server runtimes.
- * @return String[] array of server type ids. The array may have 0 elements.
- */
- public static String[] getAllClientServerFactoryIds()
- {
- //Iterator iter = registry.clientRuntimes_.values().iterator();
- //while (iter.hasNext())
- //{
- //TODO iterate over all the server types and see if their runtime types have an
- //id that matches the runtime type of any of the runtimes.
- // ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
- // Set runtimes = getRuntimes(desc.getRequiredFacetVersions());
- // IServerType[] allServerTypes = ServerCore.getServerTypes();
- //}
- //return (String[])serverFactoryIds.toArray(new String[]{});
- //Temporarily return all server types
- return getAllServerFactoryIdsWithRuntimes();
- }
-
- /**
- * Returns the ids of all server types that support the given
- * Web service client implementation type.
- *
- * @param clientImplId id of a Web service client implementation type
- * @return String[] array containing the ids of all server types that
- * support the given Web service client implementation type. The array may have 0 elements.
- */
- public static String[] getServerFactoryIdsByClientType(String clientImplId)
- {
- ArrayList serverFactoryIds = new ArrayList();
- String[] crts = getClientRuntimesByType(clientImplId);
- if (crts != null)
- {
- for (int i = 0; i < crts.length; i++)
- {
- //Get the runtimes that work for the facets required for this serviceRuntime
- String[] fIds = getServerFactoryIdsByClientRuntime(crts[i]);
- for (int j=0; j<fIds.length; j++)
- {
- if (!serverFactoryIds.contains(fIds[j]))
- {
- serverFactoryIds.add(fIds[j]);
- }
- }
- }
- }
-
- return (String[])serverFactoryIds.toArray(new String[]{});
- }
-
- /**
- * Returns whether or not the given server type supports the given
- * Web service client implementation type.
- * @param clientImplId id of a Web service client implementation type
- * @param serverFactoryId id of a server type
- * @return <code>true</code> if the given server type supports the given
- * Web service client implementation type. <code>false</code> otherwise.
- */
- public static boolean isServerSupportedForChosenClientType(String clientImplId, String serverFactoryId)
- {
- String[] fIds = getServerFactoryIdsByClientType(clientImplId);
- if (fIds == null)
- {
- return false;
- }
-
- for (int i=0;i<fIds.length;i++)
- {
- if (serverFactoryId.equals(fIds[i]))
- {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Returns the ids of all server types that support the given
- * clientRuntime.
- *
- * @param clientRuntimeId id of a clientRuntime
- * @return String[] array containing the ids of all server types that
- * support the given clientRuntime. The array may have 0 elements.
- */
- public static String[] getServerFactoryIdsByClientRuntime(String clientRuntimeId)
- {
- ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(clientRuntimeId);
- Set facetRuntimes = getRuntimes(desc.getRequiredFacetVersions());
-
- String[] fIds = getServerFactoryIdsByFacetRuntimes(facetRuntimes);
- return fIds;
- }
-
- /**
- * Returns whether or not the given server type supports the given
- * clientRuntime.
- *
- * @param clientRuntimeId id of a clientRuntime
- * @param serverFactoryId id of a server type
- * @return boolean <code>true</code> if the given server type supports the given
- * clientRuntime. <code>false</code> otherwise.
- */
- public static boolean doesClientRuntimeSupportServer(String clientRuntimeId, String serverFactoryId)
- {
- String[] serverIds = getServerFactoryIdsByClientRuntime(clientRuntimeId);
- for (int i=0; i<serverIds.length; i++)
- {
- if (serverIds[i].equals(serverFactoryId))
- {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Returns whether or not the given server type supports the given Web service runtime
- *
- * @param runtimeId id of a Web service runtime
- * @param factoryId id of a server type
- * @return boolean <code>true</code> if the given server type supports the given
- * Web service runtime for the client side. <code>false</code> otherwise.
- */
- public static boolean doesRuntimeSupportServerForClientSide(String runtimeId, String factoryId)
- {
- //Get all the ClientRuntimeDescriptors that point to this runtimeId
- Iterator iter = registry.clientRuntimes_.values().iterator();
- while (iter.hasNext())
- {
- ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
- //check if this clientRuntime points to runtimeId
- String thisRuntimeId = desc.getRuntime().getId();
- if (thisRuntimeId.equals(runtimeId))
- {
- Set facetRuntimes = getRuntimes(desc.getRequiredFacetVersions());
- String[] fIds = getServerFactoryIdsByFacetRuntimes(facetRuntimes);
- for (int i=0; i<fIds.length; i++)
- {
- if (fIds[i].equals(factoryId))
- {
- return true;
- }
- }
- }
- }
-
- //No match.
- return false;
- }
-
- /**
- * Returns the id of a server type that supports the given Web service runtime
- * on the client side.
- *
- * @param runtimeId id of a Web service runtime
- * @return String the id of a server type that supports the given Web service runtime
- * on the client side. Returns null if such a server type cannot be found.
- */
- public static String getFirstSupportedServerForClientSide(String runtimeId)
- {
- //Get all the ClientRuntimeDescriptors that point to this runtimeId
- Iterator iter = registry.clientRuntimes_.values().iterator();
- while (iter.hasNext())
- {
- ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
- //check if this clientRuntime points to runtimeId
- String thisRuntimeId = desc.getRuntime().getId();
- if (thisRuntimeId.equals(runtimeId))
- {
- Set facetRuntimes = getRuntimes(desc.getRequiredFacetVersions());
- String[] factoryIds = getServerFactoryIdsByFacetRuntimes(facetRuntimes);
- if (factoryIds!=null && factoryIds.length >0)
- {
- return factoryIds[0];
- }
- }
- }
-
- //No suitable servers found. Return null.
- return null;
-
- }
-
-
- /**
- * Returns whether or not the given combination of server type, Web service runtime, and
- * Web service client implementation type is supported. Used for validation.
- *
- * @param serverFactoryId id of a server type
- * @param runtimeId id of a Web service runtime
- * @param clientImplId id of a Web service client implementation type
- * @return boolean <code>true</code> if the given combination of server type, Web service runtime,
- * and Web service client implementation type is supported. <code>false</code> otherwise.
- */
- public static boolean isServerClientRuntimeTypeSupported(String serverFactoryId, String runtimeId, String clientImplId)
- {
- //Ensure there is at least one clientRuntime that supports the given type
- String[] clientRuntimes = getClientRuntimesByType(clientImplId);
- if (clientRuntimes!=null && clientRuntimes.length>0)
- {
- //Ensure that at least one of these server runtimes supports the given server
- for (int i=0; i<clientRuntimes.length; i++)
- {
- ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(clientRuntimes[i]);
- if (desc.getRuntime().getId().equals(runtimeId))
- {
- //Matched type and runtime. Check the server.
- String[] factoryIds = getServerFactoryIdsByClientRuntime(desc.getId());
- for (int j=0; j<factoryIds.length; j++)
- {
- if (factoryIds[j].equals(serverFactoryId))
- {
- return true;
- }
- }
- }
- }
- }
-
- //No match found. return false.
- return false;
- }
-
- /**
- * Returns an array of {@link IFacetedProjectTemplate} ids that support the given Web service client implementation type
- * and Web service runtime.
- *
- * @param clientImplId id of a Web service client implementation type
- * @param runtimeId id of a Web service runtime
- * @return String[] array of {@link IFacetedProjectTemplate} ids that support the given Web service client implementation type
- * and Web service runtime. The array may have 0 elements. Returns null if no clientRuntimes supporting
- * the given Web service client implementation type could be found.
- */
- public static String[] getClientProjectTemplates(String clientImplId, String runtimeId)
- {
- String[] crIds = getClientRuntimesByType(clientImplId);
- if (crIds == null)
- {
- return null;
- }
-
- ArrayList templateIdList = new ArrayList();
- for (int i = 0; i < crIds.length; i++)
- {
- ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(crIds[i]);
- String thisRuntimeId = desc.getRuntime().getId();
- if (thisRuntimeId.equals(runtimeId))
- {
- //Get the templates for this clientRuntime
- Set templates = FacetMatchCache.getInstance().getTemplatesForClientRuntime(desc.getId());
-
- //Add the template ids to the list if they have not already been added
- Iterator itr = templates.iterator();
- while (itr.hasNext())
- {
- IFacetedProjectTemplate template = (IFacetedProjectTemplate)itr.next();
- if (!templateIdList.contains(template.getId()))
- {
- templateIdList.add(template.getId());
- }
- }
- }
-
- }
-
- return (String[])templateIdList.toArray(new String[]{});
- }
-
- /**
- * Returns whether or not the given {@link IFacetedProjectTemplate} supports the given
- * Web service client implementation type and Web service runtime.
- *
- * @param clientImplId id of a Web service client implementation type
- * @param runtimeId id of a Web service runtime
- * @param templateId id of a {@link IFacetedProjectTemplate}
- * @return boolean <code>true</code> if the given {@link IFacetedProjectTemplate} supports the given
- * Web service client implementation type and Web service runtime. Returns <code>false</code> otherwise.
- */
- public static boolean doesClientTypeAndRuntimeSupportTemplate(String clientImplId, String runtimeId, String templateId)
- {
- String[] crIds = getClientRuntimesByType(clientImplId);
- if (crIds == null)
- {
- return false;
- }
-
- for (int i = 0; i < crIds.length; i++)
- {
- ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(crIds[i]);
- String thisRuntimeId = desc.getRuntime().getId();
- if (thisRuntimeId.equals(runtimeId))
- {
- //Get the templates for this clientRuntime
- Set templates = FacetMatchCache.getInstance().getTemplatesForClientRuntime(crIds[i]);
-
- //Check if the template ids contains the template we're checking for
- Iterator itr = templates.iterator();
- while (itr.hasNext())
- {
- IFacetedProjectTemplate template = (IFacetedProjectTemplate)itr.next();
- if (template.getId().equals(templateId))
- {
- return true;
- }
- }
- }
-
- }
-
- return false;
- }
-
-
- /**
- * Returns whether or not the given {@link IFacetedProjectTemplate}
- * supports the given clientRuntime
- *
- * @param clientRuntimeId id of a clientRuntime
- * @param templateId id of a {@link IFacetedProjectTemplate}
- * @return boolean <code>true</code> if the given {@link IFacetedProjectTemplate} supports the given
- * clientRuntime. Returns <code>false</code> otherwise.
- */
- public static boolean doesClientRuntimeSupportTemplate(String clientRuntimeId, String templateId)
- {
- //Get the templates for this clientRuntime
- Set templates = FacetMatchCache.getInstance().getTemplatesForClientRuntime(clientRuntimeId);
- IFacetedProjectTemplate checkingTemplate = ProjectFacetsManager.getTemplate(templateId);
- return templates.contains(checkingTemplate);
- }
-
- /**
- * Returns the labels and ids of all Web service client implementation types.
- * Used to populate the Web service client type combo box on
- * page 1 of the Web service wizard and Web service client wizard.
- * @return {@link LabelsAndIds}
- */
- public static LabelsAndIds getClientTypeLabels()
- {
-
- LabelsAndIds labelIds = new LabelsAndIds();
- String[] idsArray = new String[0];
- String[] labelsArray = new String[0];
- labelIds.setIds_(idsArray);
- labelIds.setLabels_(labelsArray);
-
- ArrayList ids = new ArrayList();
- ArrayList labels = new ArrayList();
-
- Iterator itr = registry.clientRuntimes_.values().iterator();
- while(itr.hasNext())
- {
- ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)itr.next();
- WebServiceClientImpl thisClientImpl = desc.getClientImplementationType();
- if (!ids.contains(thisClientImpl.getId()))
- {
- ids.add(thisClientImpl.getId());
- labels.add(thisClientImpl.getLabel());
- }
- }
-
- if (ids.size() > 0)
- {
- idsArray = (String[]) ids.toArray(new String[0]);
- labelsArray = (String[]) labels.toArray(new String[0]);
- labelIds.setIds_(idsArray);
- labelIds.setLabels_(labelsArray);
- }
-
- return labelIds;
-
- }
-
- /**
- * Returns all server type ids for which there are configured server runtimes
- * present in the workspace.
- *
- * @return String[] array of server type ids for which there are configured server runtimes
- * present in the workspace. The array may have 0 elements.
- */
- public static String[] getAllServerFactoryIdsWithRuntimes()
- {
- ArrayList fids = new ArrayList();
- IServerType[] sts = ServerCore.getServerTypes();
- org.eclipse.wst.server.core.IRuntime[] rts = ServerCore.getRuntimes();
-
- for (int i=0; i<sts.length; i++)
- {
- IServerType st = sts[i];
- for (int j=0; j<rts.length; j++)
- {
- if (st == null || st.getRuntimeType() == null) break;
- org.eclipse.wst.server.core.IRuntime rt = rts[j];
- // If the server type has the same runtime type as this runtime, add it to the list
- String serverTypeRuntimeTypeId = st.getRuntimeType().getId();
-
- if (rt != null)
- {
- IRuntimeType rtType = rt.getRuntimeType();
- if (rtType != null)
- {
- String runtimeRuntimeTypeId = rtType.getId();
- if (serverTypeRuntimeTypeId.equals(runtimeRuntimeTypeId))
- {
- if (!fids.contains(st.getId()))
- {
- fids.add(st.getId());
- }
- }
- }
- }
- }
- }
-
- return (String[])fids.toArray(new String[0]);
- }
-
- /**
- * Returns the names of all projects in the workspace which support the given Web service client
- * implementation type and Web service runtime.
- *
- * @param typeId id of a Web service client implementation type
- * @param runtimeId id of a Web service runtime
- * @return String[] array of project names. The array may have 0 elements.
- */
- public static String[] getProjectsForClientTypeAndRuntime(String typeId, String runtimeId)
- {
- IProject[] projects = FacetUtils.getAllProjects();
- ArrayList validProjects = new ArrayList();
-
- for (int i=0; i<projects.length;i++)
- {
- if (doesClientTypeAndRuntimeSupportProject(typeId, runtimeId, projects[i].getName()))
- {
- validProjects.add(projects[i].getName());
- }
- }
-
- return (String[])validProjects.toArray(new String[0]);
-
- }
-
- /**
- * Returns whether or not the given project supports the given Web service client implementation type
- * and Web service runtime.
- *
- * @param typeId id of a Web service client implementation type
- * @param runtimeId id of a Web service runtime
- * @param projectName name of an IProject in the workspace
- * @return boolean <code>true</code> if the project supports the given Web service type and
- * Web service runtime. Returns <code>false</code>
- * <ul>
- * <li>if the project does not support the given Web service client implementation type and
- * Web service runtime or</li>
- * <li>if the project does not exist or</li>
- * <li>if projectName is null or empty</li>
- * </ul>
- */
- public static boolean doesClientTypeAndRuntimeSupportProject(String typeId, String runtimeId, String projectName)
- {
- String[] descs = getClientRuntimesByType(typeId);
- for (int j = 0; j < descs.length; j++)
- {
- ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(descs[j]);
- if (desc.getRuntime().getId().equals(runtimeId))
- {
- if (doesClientRuntimeSupportProject(descs[j], projectName))
- {
- return true;
- }
- }
- }
-
- return false;
-
-
- }
-
-
- /**
- * Returns whether or not the given project supports the given clientRuntime.
- * @param clientRuntimeId id of a clientRuntime
- * @param projectName name of an IProject in the workspace
- * @return boolean <code>true</code> if the project supports the given
- * clientRuntime. Returns <code>false</code>
- * <ul>
- * <li>if the project does not support the given clientRuntime or</li>
- * <li>if the project does not exist or</li>
- * <li>if projectName is null or empty</li>
- * </ul>
- */
- public static boolean doesClientRuntimeSupportProject(String clientRuntimeId, String projectName)
- {
- FacetMatcher fm = FacetMatchCache.getInstance().getMatchForProject(true, clientRuntimeId, projectName);
- if (fm != null)
- {
- return fm.isMatch();
- }
- else
- {
- return false;
- }
- }
-
- //Utilities used by the ServerRuntimePreferencePage
-
- private static SelectionListChoices serverToRuntimeToJ2EE_;
- private static Hashtable serverFactoryIdByLabel_;
- private static Hashtable runtimeIdByLabel_;
-
- /**
- * Returns the {@link SelectionListChoices} data structure representing the
- * server type > Web service runtime > J2EE cascading lists .
- * {@link SelectionListChoices} is a data structure which is like a cascading
- * set of lists useful for populating a group of combo boxes in which the
- * selection in a given combo box determines the list of items used to populate
- * the combo box below it. The Server Runtime preference page contains two combo
- * boxes: one for server types and, below it, one for Web service runtimes.
- * The server type combo box is meant to contain the list of all available server types
- * that support at least one Web service runtime on either the client or service side.
- * The Web service runtime combo box is meant to contain the subset of Web service runtimes
- * supported by the server type selected in the server type combo box.
- * The SelectionListChoices returned by this method has three lists: server types, Web service runtimes,
- * and J2EE levels. The first two lists correspond to the combo boxes on the preference
- * page and are used to populate them. The J2EE levels list is a historical remnant from
- * when J2EE levels used to be displayed on the preference page. It remains in this
- * data structure with some hard-coded values but is not rendered to the user.
- *
- * @return SelectionListChoices representing the server type > Web service runtime > J2EE cascading lists
- */
- public static SelectionListChoices getServerToRuntimeToJ2EE()
- {
- if (serverToRuntimeToJ2EE_!=null)
- {
- return serverToRuntimeToJ2EE_;
- }
-
- //TODO (see bug 116025): Instead of all server type ids, we should be calculating the set of server
- //types that support at least one Web service runtime on either the client or service side.
- //Getting all server types for now.
- String[] servers = getAllServerFactoryIds();
-
- SelectionList serversList = new SelectionList(servers, 0);
- Vector choices = new Vector();
- for (int i=0; i<servers.length; i++)
- {
- choices.add(getRuntimeChoices(servers[i]));
- }
- serverToRuntimeToJ2EE_ = new SelectionListChoices(serversList, choices);
- return serverToRuntimeToJ2EE_;
-
- }
-
- private static SelectionListChoices getRuntimeChoices(String serverFactoryId)
- {
- //TODO (see bug 116025): Instead of all Web service runtimes, we should be
- //calculating the subset of Web service runtimes supported by the server type
- //with id equal to serverFactoryId. Getting all the Web service runtimes for now.
- Set runtimes = registry.runtimes_.keySet();
- Iterator itr = registry.runtimes_.keySet().iterator();
- String[] runtimeIds = new String[runtimes.size()];
- int i = 0;
- while (itr.hasNext())
- {
- String runtimeId = (String)itr.next();
- runtimeIds[i] = runtimeId;
- i++;
- }
-
- SelectionList runtimesList = new SelectionList(runtimeIds, 0);
- Vector choices = new Vector();
- for (int j=0; j<runtimeIds.length; j++)
- {
- choices.add(getJ2EEChoices(runtimeIds[j]));
- }
- return new SelectionListChoices(runtimesList, choices);
- }
-
- private static SelectionListChoices getJ2EEChoices(String runtimeId)
- {
- //J2EE levels have been removed from the Server Runtime preference page.
- //Return some hard coded values. These will not be rendered on the preference page.
- String[] j2eeVersions = new String[]{"13", "14"};
- SelectionList j2eeVersionsList = new SelectionList(j2eeVersions, 0);
- return new SelectionListChoices(j2eeVersionsList, null);
- }
-
- private static String[] getAllServerFactoryIds()
- {
- //TODO (see bug 116025): Instead of all server type ids, we should be calculating the set of server
- //types that support at least one Web service runtime on either the client or service side.
- //Return all server type ids for now.
- ArrayList ids = new ArrayList();
- if (serverFactoryIdByLabel_ == null)
- {
- serverFactoryIdByLabel_ = new Hashtable();
- IServerType[] serverTypes = ServerCore.getServerTypes();
- for (int i=0; i<serverTypes.length; i++)
- {
- String id = serverTypes[i].getId();
- String label = getServerLabelById(id);
- serverFactoryIdByLabel_.put(label, id);
- ids.add(id);
- }
- }
- else
- {
- Iterator fids = serverFactoryIdByLabel_.values().iterator();
- while (fids.hasNext())
- {
- String fid = (String)fids.next();
- ids.add(fid);
- }
- }
-
- if (ids.size() > 0)
- {
- String[] serverFactoryIds = (String[])ids.toArray(new String[0]);
- return serverFactoryIds;
- }
-
- return null;
- }
-
- /**
- * Returns a server type id given the server type's label
- * @param label server type label
- * @return server type id or null if no server type with the given
- * label is found.
- */
- public static String getServerFactoryId(String label)
- {
- if (label==null || label.length()==0)
- return null;
-
- if (serverFactoryIdByLabel_ == null)
- {
- getAllServerFactoryIds();
- }
-
- if (serverFactoryIdByLabel_.containsKey(label))
- {
- return (String)serverFactoryIdByLabel_.get(label);
- }
- else
- {
- return null;
- }
- }
-
- /**
- * Returns a Web service runtime's id given its label
- * @param label Web service runtime label
- * @return Web service runtime id or null if no
- * Web service runtime with the given label is found.
- */
- public static String getRuntimeId(String label)
- {
-
- if (label==null || label.length()==0)
- return null;
-
- if (runtimeIdByLabel_ == null)
- {
- runtimeIdByLabel_ = new Hashtable();
- Iterator iter = registry.runtimes_.values().iterator();
- while (iter.hasNext())
- {
- RuntimeDescriptor desc = (RuntimeDescriptor)iter.next();
- runtimeIdByLabel_.put(desc.getLabel(), desc.getId());
- }
- }
-
- return (String)runtimeIdByLabel_.get(label);
- }
-
-
- /**
- * Returns a set of facet runtimes that support the given
- * required facet versions.
- * @param requiredFacetVersions an array containing elements of type {@link RequiredFacetVersion}
- * @return Set set of facet runtimes that support the given required facet versions.
- * (element type: {@link IRuntime})
- */
- private static Set getRuntimes(RequiredFacetVersion[] requiredFacetVersions)
- {
- return FacetUtils.getRuntimes(requiredFacetVersions);
- }
-
-/**
- * Get the service runtime checker class
- * @param serviceRuntimeId service runtime ID
- * @return
- */
- public static IWebServiceRuntimeChecker getServiceRuntimeChecker(String serviceRuntimeId) {
- return getServiceRuntimeDescriptorById(serviceRuntimeId).getServiceRuntimeChecker();
-
- }
-
-/**
- * Get the client runtime checker class
- * @param clientRuntimeId
- * @return
- */
-public static IWebServiceRuntimeChecker getClientRuntimeChecker(String clientRuntimeId) {
- return getClientRuntimeDescriptorById(clientRuntimeId).getClientRuntimeChecker();
-
- }
-
-/**
- * Get the service runtime preferred server type
- * @param serviceRuntimeId service runtime ID
- * @return
- */
- public static String getServicePreferredServerType(String serviceRuntimeId) {
- return getServiceRuntimeDescriptorById(serviceRuntimeId).getRuntimePreferredServerType();
-
- }
-
-/**
- * Get the client runtime preferred server type
- * @param clientRuntimeId
- * @return
- */
-public static String getClientPreferredServerType(String clientRuntimeId) {
- return getClientRuntimeDescriptorById(clientRuntimeId).getRuntimePreferredServerType();
-
- }
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeInfo.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeInfo.java
deleted file mode 100644
index a8e2562d7..000000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeInfo.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
-
-import java.util.Hashtable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntime;
-import com.ibm.icu.util.StringTokenizer;
-
-
-public class WebServiceRuntimeInfo {
-
- private IConfigurationElement elem_;
- private Hashtable allServiceTypes_;
- private Hashtable allClientTypes_;
-
- private String id;
- private String label;
- private ServiceType[] serviceTypes;
- private ClientType[] clientTypes;
- private java.lang.String[] servletLevels;
- private java.lang.String[] j2eeLevels;
- private java.lang.String[] runtimeIds;
- private java.lang.String[] serverFactoryIds;
- private String className;
- private IWebServiceRuntime webServiceRuntime_;
-
- public WebServiceRuntimeInfo(IConfigurationElement elem_, Hashtable allServiceTypes_, Hashtable allClientTypes_)
- {
- super();
- this.elem_ = elem_;
- this.allServiceTypes_ = allServiceTypes_;
- this.allClientTypes_ = allClientTypes_;
- }
-
- public String getClassName()
- {
- if (className==null)
- {
- className=elem_.getAttribute("class");
- }
- return className;
- }
-
-
- public ClientType[] getClientTypes()
- {
- if (clientTypes==null)
- {
- String attr = elem_.getAttribute("clientTypes");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- clientTypes = new ClientType[size];
- for (int i = 0; i < clientTypes.length; i++)
- {
- String ctid = st.nextToken();
- clientTypes[i] = (ClientType)allClientTypes_.get(ctid);
- }
- }
- }
- return clientTypes;
- }
-
-
- public String getId()
- {
- if (id==null)
- {
- id = elem_.getAttribute("id");
- }
- return id;
- }
-
-
- public String getLabel()
- {
- if (label==null)
- {
- label = elem_.getAttribute("label");
- }
- return label;
- }
-
-
- public java.lang.String[] getJ2eeLevels()
- {
- if (j2eeLevels == null)
- {
- String attr = elem_.getAttribute("j2eeLevels");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- j2eeLevels = new String[size];
- for (int i = 0; i < j2eeLevels.length; i++)
- j2eeLevels[i] = st.nextToken();
- }
- }
-
- return j2eeLevels;
- }
-
-
- public java.lang.String[] getRuntimeIds()
- {
- if (runtimeIds == null)
- {
- String attr = elem_.getAttribute("runtimes");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- runtimeIds = new String[size];
- for (int i = 0; i < runtimeIds.length; i++)
- runtimeIds[i] = st.nextToken();
- }
- }
-
- return runtimeIds;
- }
-
-
- public java.lang.String[] getServerFactoryIds()
- {
- if (serverFactoryIds == null)
- {
- String attr = elem_.getAttribute("servers");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- serverFactoryIds = new String[size];
- for (int i = 0; i < serverFactoryIds.length; i++)
- serverFactoryIds[i] = st.nextToken();
- }
- }
- return serverFactoryIds;
- }
-
-
- public ServiceType[] getServiceTypes()
- {
- if (serviceTypes==null)
- {
- String attr = elem_.getAttribute("serviceTypes");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- serviceTypes = new ServiceType[size];
- for (int i = 0; i < serviceTypes.length; i++)
- {
- String ctid = st.nextToken();
- serviceTypes[i] = (ServiceType)allServiceTypes_.get(ctid);
- }
- }
- }
- return serviceTypes;
- }
-
-
- public java.lang.String[] getServletLevels()
- {
- if (servletLevels==null)
- {
- String attr = elem_.getAttribute("servletLevels");
- if (attr != null && attr.length()>0)
- {
- StringTokenizer st = new StringTokenizer(attr, " ");
- int size = st.countTokens();
- servletLevels = new String[size];
- for (int i = 0; i < servletLevels.length; i++)
- servletLevels[i] = st.nextToken();
- }
- }
- return servletLevels;
- }
-
- public IWebServiceRuntime getWebServiceRuntime()
- {
- if (webServiceRuntime_ == null)
- {
- try
- {
- webServiceRuntime_ = (IWebServiceRuntime)elem_.createExecutableExtension("class");
- }
- catch(CoreException ce)
- {
- ce.printStackTrace();
- }
- }
-
- return webServiceRuntime_;
- }
-
-}

Back to the top