### Eclipse Workspace Patch 1.0
#P org.eclipse.wst.server.core
diff --git META-INF/MANIFEST.MF META-INF/MANIFEST.MF
index e6d0332..ae651e9 100644
--- META-INF/MANIFEST.MF
+++ META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.wst.server.core; singleton:=true
-Bundle-Version: 1.5.100.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.wst.server.core.internal.ServerPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git schema/runtimeTypes.exsd schema/runtimeTypes.exsd
index b6dd595..7cec2b4 100644
--- schema/runtimeTypes.exsd
+++ schema/runtimeTypes.exsd
@@ -127,6 +127,13 @@
+
+
+
+ boolean value "true" or "false" to specify whether this runtime type supports manual creation via the runtime creation wizard. This setting can be used for system runtimes or deprecated runtimes. If "true", the runtime will show on the list of selectable runtime types on the runtime creation wizard; otherwise, the runtime will be hidden from the runtime creation wizard. If not specified, the default value is true.
+
+
+
@@ -190,7 +197,7 @@
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
+ Copyright (c) 2000, 2014 IBM Corporation and others.<br>
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
diff --git schema/serverTypes.exsd schema/serverTypes.exsd
index 20cd1fc..317cd83 100644
--- schema/serverTypes.exsd
+++ schema/serverTypes.exsd
@@ -116,6 +116,13 @@
+
+
+
+ boolean value "true" or "false" to specify whether this server type supports manual creation via the server creation wizard. This setting can be used for system servers or deprecated servers. If "true", the server will show on the list of selectable server types on the server creation wizard; otherwise, the server will be hidden from the server creation wizard. If not specified, the default value is true.
+
+
+
@@ -236,7 +243,7 @@
- Copyright (c) 2000, 2005 IBM Corporation and others.<br>
+ Copyright (c) 2000, 2014 IBM Corporation and others.<br>
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
diff --git servercore/org/eclipse/wst/server/core/internal/RuntimeType.java servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
index afa1ee8..b6c7af9 100644
--- servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
+++ servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
+ * Copyright (c) 2003, 2014 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
@@ -176,6 +176,25 @@
return null;
return element.getDeclaringExtension().getContributor().getName();
}
+
+ /**
+ * Returns true
if this type of runtime can be created manually
+ * from the runtime creation wizard.
+ * Returns false
if the runtime type can only be programmatically
+ * and hide from the runtime creation wizard.
+ *
+ * @return true
if this type of runtime can be created manually
+ * from the runtime creation wizard, and false
if it cannot.
+ * @since 1.6
+ */
+ public boolean supportsManualCreation() {
+ try {
+ String supportsManualCreation = element.getAttribute("supportsManualCreation");
+ return (supportsManualCreation == null || supportsManualCreation.toLowerCase().equals("true"));
+ } catch (Exception e) {
+ return true;
+ }
+ }
public String toString() {
return "RuntimeType[" + getId() + ", " + getName() + "]";
diff --git servercore/org/eclipse/wst/server/core/internal/ServerType.java servercore/org/eclipse/wst/server/core/internal/ServerType.java
index 948ac46..8106605 100644
--- servercore/org/eclipse/wst/server/core/internal/ServerType.java
+++ servercore/org/eclipse/wst/server/core/internal/ServerType.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
+ * Copyright (c) 2003, 2014 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
@@ -157,6 +157,25 @@
}
}
+ /**
+ * Returns true
if this type of server can be created manually
+ * from the server creation wizard.
+ * Returns false
if the server type can only be programmatically
+ * and hide from the server creation wizard.
+ *
+ * @return true
if this type of server can be created manually
+ * from the server creation wizard, and false
if it cannot.
+ * @since 1.6
+ */
+ public boolean supportsManualCreation() {
+ try {
+ String supportsManualCreation = element.getAttribute("supportsManualCreation");
+ return (supportsManualCreation == null || supportsManualCreation.toLowerCase().equals("true"));
+ } catch (Exception e) {
+ return true;
+ }
+ }
+
public boolean supportsRemoteHosts() {
try {
String hosts = element.getAttribute("supportsRemoteHosts");
#P org.eclipse.wst.server.ui
diff --git serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java
index e169f84..d2de6aa 100644
--- serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java
+++ serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeContentProvider.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * Copyright (c) 2003, 2014 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
@@ -13,7 +13,9 @@
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.wst.server.core.*;
+import org.eclipse.wst.server.core.IRuntimeType;
+import org.eclipse.wst.server.core.ServerUtil;
+import org.eclipse.wst.server.core.internal.RuntimeType;
/**
* Runtime type content provider.
*/
@@ -52,6 +54,15 @@
for (int i = 0; i < size; i++) {
IRuntimeType runtimeType = runtimeTypes[i];
if (!creation || runtimeType.canCreate()) {
+ try {
+ if (!((RuntimeType)runtimeType).supportsManualCreation()) {
+ // Hide this runtime type from the list.
+ continue;
+ }
+ } catch (Exception e) {
+ // Do nothing since all IRuntimeType should be instance of RuntimeType.
+ }
+
TreeElement ele = getOrCreate(list, runtimeType.getVendor());
ele.contents.add(runtimeType);
elementToParentMap.put(runtimeType, ele);
diff --git serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java
index 70085d4..acded76 100644
--- serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java
+++ serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeContentProvider.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
+ * Copyright (c) 2003, 2014 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
@@ -14,6 +14,7 @@
import java.util.List;
import org.eclipse.wst.server.core.*;
+import org.eclipse.wst.server.core.internal.ServerType;
import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
import org.eclipse.wst.server.ui.internal.Trace;
/**
@@ -72,6 +73,14 @@
if (serverTypeId != null && !serverType.getId().startsWith(serverTypeId))
return false;
+ try {
+ if (!((ServerType)serverType).supportsManualCreation()) {
+ return false;
+ }
+ } catch (Exception e) {
+ // Do nothing since all IServerType should be instance of ServerType.
+ }
+
IRuntimeType runtimeType = serverType.getRuntimeType();
if (runtimeType == null)
return false;