[581318] Add allowCreation attribute to runtimeType extension point
         Update the Tomcat 10.1 versions

Change-Id: Ibddbc205786fc4da3d92c893f47bae310fde95f4
diff --git a/features/org.eclipse.wst.server_core.feature/feature.xml b/features/org.eclipse.wst.server_core.feature/feature.xml
index da93bf2..0ec58f4 100644
--- a/features/org.eclipse.wst.server_core.feature/feature.xml
+++ b/features/org.eclipse.wst.server_core.feature/feature.xml
@@ -15,7 +15,7 @@
 <feature
       id="org.eclipse.wst.server_core.feature"
       label="%featureName"
-      version="3.3.1000.qualifier"
+      version="3.4.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.license"
       license-feature-version="1.0.1.qualifier">
diff --git a/features/org.eclipse.wst.server_core.feature/pom.xml b/features/org.eclipse.wst.server_core.feature/pom.xml
index ed528ff..6f151ce 100644
--- a/features/org.eclipse.wst.server_core.feature/pom.xml
+++ b/features/org.eclipse.wst.server_core.feature/pom.xml
@@ -22,7 +22,7 @@
 
   <groupId>org.eclipse.webtools.servertools</groupId>
   <artifactId>org.eclipse.wst.server_core.feature</artifactId>
-  <version>3.3.1000-SNAPSHOT</version>
+  <version>3.4.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.wst.server_sdk.feature/feature.xml b/features/org.eclipse.wst.server_sdk.feature/feature.xml
index 459cef9..30b960c 100644
--- a/features/org.eclipse.wst.server_sdk.feature/feature.xml
+++ b/features/org.eclipse.wst.server_sdk.feature/feature.xml
@@ -14,7 +14,7 @@
 <feature

       id="org.eclipse.wst.server_sdk.feature"

       label="%featureName"

-      version="3.3.900.qualifier"

+      version="3.4.0.qualifier"

       provider-name="%providerName"

       license-feature="org.eclipse.license"

       license-feature-version="1.0.1.qualifier">

diff --git a/features/org.eclipse.wst.server_sdk.feature/pom.xml b/features/org.eclipse.wst.server_sdk.feature/pom.xml
index 21930f5..611552b 100644
--- a/features/org.eclipse.wst.server_sdk.feature/pom.xml
+++ b/features/org.eclipse.wst.server_sdk.feature/pom.xml
@@ -22,6 +22,6 @@
 

   <groupId>org.eclipse.webtools.servertools</groupId>

   <artifactId>org.eclipse.wst.server_sdk.feature</artifactId>

-  <version>3.3.900-SNAPSHOT</version>

+  <version>3.4.0-SNAPSHOT</version>

   <packaging>eclipse-feature</packaging>

 </project>

diff --git a/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml b/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
index 3650bb0..0826cfb 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
+++ b/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
@@ -9,6 +9,7 @@
        description="%runtimeTypeTomcat32Description"
        vendor="%apache"
        version="3.2"
+       allowCreation="false"
        class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
        <moduleType
          types="jst.web"
@@ -24,6 +25,7 @@
        description="%runtimeTypeTomcat40Description"
        vendor="%apache"
        version="4.0"
+       allowCreation="false"
        class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
        <moduleType
          types="jst.web"
@@ -39,6 +41,7 @@
        description="%runtimeTypeTomcat41Description"
        vendor="%apache"
        version="4.1"
+       allowCreation="false"
        class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
        <moduleType
          types="jst.web"
@@ -54,6 +57,7 @@
        description="%runtimeTypeTomcat50Description"
        vendor="%apache"
        version="5.0"
+       allowCreation="false"
        class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
        <moduleType
          types="jst.web"
@@ -69,6 +73,7 @@
        description="%runtimeTypeTomcat55Description"
        vendor="%apache"
        version="5.5"
+       allowCreation="false"
        class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
        <moduleType
          types="jst.web"
@@ -84,6 +89,7 @@
        description="%runtimeTypeTomcat60Description"
        vendor="%apache"
        version="6.0"
+       allowCreation="false"
        class="org.eclipse.jst.server.tomcat.core.internal.TomcatRuntime">
        <moduleType
          types="jst.web"
@@ -865,17 +871,17 @@
     <runtime
         id="org.eclipse.jst.server.tomcat.runtime.101"
         licenseUrl="https://www.apache.org/licenses/LICENSE-2.0.txt"
-        archiveUrl="https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.1/bin/apache-tomcat-10.1.1.tar.gz"
-        archivePath="apache-tomcat-10.1.1"
-        archiveSize="11899518"
+        archiveUrl="https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.4/bin/apache-tomcat-10.1.4.tar.gz"
+        archivePath="apache-tomcat-10.1.4"
+        archiveSize="12119820"
         fileCount="632"
         os="linux,macosx"/>
     <runtime
         id="org.eclipse.jst.server.tomcat.runtime.101"
         licenseUrl="https://www.apache.org/licenses/LICENSE-2.0.txt"
-        archiveUrl="https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.1/bin/apache-tomcat-10.1.1.zip"
-        archivePath="apache-tomcat-10.1.1"
-        archiveSize="12451802"
+        archiveUrl="https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.4/bin/apache-tomcat-10.1.4.zip"
+        archivePath="apache-tomcat-10.1.4"
+        archiveSize="12670763"
         fileCount="632"
         os="win32"/>
   </extension>
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat100Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat100Handler.java
index 8364b6b..313be2c 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat100Handler.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat100Handler.java
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2020, 2021 IBM Corporation and others.
+ * Copyright (c) 2020, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
@@ -55,11 +55,6 @@
 		if (binPath.toFile().exists()) {
 			IPath path = binPath.append("bootstrap.jar");
 			cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-			// Add commons-daemon.jar if it exists
-			path = binPath.append("commons-daemon.jar");
-			if (path.toFile().exists()) {
-				cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-			}
 			// Add tomcat-juli.jar if it exists
 			path = binPath.append("tomcat-juli.jar");
 			if (path.toFile().exists()) {
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat101Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat101Handler.java
index f4becff..5232c62 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat101Handler.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat101Handler.java
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2020, 2022 IBM Corporation and others.
+ * Copyright (c) 2020, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
@@ -55,11 +55,6 @@
 		if (binPath.toFile().exists()) {
 			IPath path = binPath.append("bootstrap.jar");
 			cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-			// Add commons-daemon.jar if it exists
-			path = binPath.append("commons-daemon.jar");
-			if (path.toFile().exists()) {
-				cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-			}
 			// Add tomcat-juli.jar if it exists
 			path = binPath.append("tomcat-juli.jar");
 			if (path.toFile().exists()) {
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat80Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat80Handler.java
index 90d2b12..449a1bb 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat80Handler.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat80Handler.java
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2013, 2021 IBM Corporation and others.
+ * Copyright (c) 2013, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
@@ -55,11 +55,6 @@
 		if (binPath.toFile().exists()) {
 			IPath path = binPath.append("bootstrap.jar");
 			cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-			// Add commons-daemon.jar if it exists
-			path = binPath.append("commons-daemon.jar");
-			if (path.toFile().exists()) {
-				cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-			}
 			// Add tomcat-juli.jar if it exists
 			path = binPath.append("tomcat-juli.jar");
 			if (path.toFile().exists()) {
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat85Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat85Handler.java
index 7ac2f23..be8c019 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat85Handler.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat85Handler.java
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2016, 2021 IBM Corporation and others.
+ * Copyright (c) 2016, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
@@ -55,11 +55,6 @@
 		if (binPath.toFile().exists()) {
 			IPath path = binPath.append("bootstrap.jar");
 			cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-			// Add commons-daemon.jar if it exists
-			path = binPath.append("commons-daemon.jar");
-			if (path.toFile().exists()) {
-				cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-			}
 			// Add tomcat-juli.jar if it exists
 			path = binPath.append("tomcat-juli.jar");
 			if (path.toFile().exists()) {
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat90Handler.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat90Handler.java
index c8c8376..8c8bd56 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat90Handler.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat90Handler.java
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2016, 2021 IBM Corporation and others.
+ * Copyright (c) 2016, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
@@ -55,11 +55,6 @@
 		if (binPath.toFile().exists()) {
 			IPath path = binPath.append("bootstrap.jar");
 			cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-			// Add commons-daemon.jar if it exists
-			path = binPath.append("commons-daemon.jar");
-			if (path.toFile().exists()) {
-				cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-			}
 			// Add tomcat-juli.jar if it exists
 			path = binPath.append("tomcat-juli.jar");
 			if (path.toFile().exists()) {
diff --git a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
index 8a2bd0d..bc5e517 100644
--- a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.core/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.10.300.qualifier
+Bundle-Version: 1.11.0.qualifier
 Bundle-Activator: org.eclipse.wst.server.core.internal.ServerPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.wst.server.core/pom.xml b/plugins/org.eclipse.wst.server.core/pom.xml
index 0c205df..121ed0f 100644
--- a/plugins/org.eclipse.wst.server.core/pom.xml
+++ b/plugins/org.eclipse.wst.server.core/pom.xml
@@ -22,6 +22,6 @@
 

   <groupId>org.eclipse.webtools.servertools</groupId>

   <artifactId>org.eclipse.wst.server.core</artifactId>

-  <version>1.10.300-SNAPSHOT</version>

+  <version>1.11.0-SNAPSHOT</version>

   <packaging>eclipse-plugin</packaging>

 </project>

diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
index 56b6396..75d6aef 100644
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
@@ -134,6 +134,16 @@
                </documentation>

             </annotation>

          </attribute>

+         <attribute name="allowCreation" type="boolean">

+            <annotation>

+               <documentation>

+                  While all existing runtimes should remain usable, setting this to &quot;false&quot; will hide it from the New Server Runtime Environment wizard. Useful for cases where the vendor itself no longer supports, or even offers, an older runtime version. Defaults to &quot;true&quot; when absent.

+               </documentation>

+               <appInfo>

+                  <meta.attribute translatable="true"/>

+               </appInfo>

+            </annotation>

+         </attribute>

       </complexType>

    </element>

 

@@ -191,6 +201,15 @@
       </documentation>

    </annotation>

 

+   <annotation>

+      <appInfo>

+         <meta.section type="apiInfo"/>

+      </appInfo>

+      <documentation>

+         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that extends &lt;code&gt;org.eclipse.wst.server.core.model.RuntimeDelegate&lt;/code&gt; and contains a public 0-arg constructor.

+      </documentation>

+   </annotation>

+

 

    <annotation>

       <appInfo>

@@ -202,15 +221,6 @@
 available under the terms of the Eclipse Public License 2.0 which accompanies 

 this distribution, and is available at 

 &lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0/&quot;&gt;https://www.eclipse.org/legal/epl-2.0/&lt;/a&gt;

-      </documentation>
-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that extends &lt;code&gt;org.eclipse.wst.server.core.model.RuntimeDelegate&lt;/code&gt; and contains a public 0-arg constructor.

       </documentation>

    </annotation>

 

diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
index e47f055..410da70 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2014 IBM Corporation and others.
+ * Copyright (c) 2003, 2023 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
@@ -153,8 +153,12 @@
 
 	public boolean canCreate() {
 		try {
-			String a = element.getAttribute("class");
-			return a != null && a.length() > 0;
+			String a = element.getAttribute("allowCreation");
+			if (a != null && !Boolean.parseBoolean(a))
+				return false;
+
+			String c = element.getAttribute("class");
+			return c != null && c.length() > 0;
 		} catch (Exception e) {
 			return false;
 		}