[467865] (Tomcat Adapter) NullPointerException in ConfigurationResourceListener.resourceChanged

Change-Id: I8e44a82dcb333ed9ff98ebdea3b7bf99b53a8203
diff --git a/features/org.eclipse.jst.server_adapters.ext.feature/feature.xml b/features/org.eclipse.jst.server_adapters.ext.feature/feature.xml
index d94cf81..f61d0a7 100644
--- a/features/org.eclipse.jst.server_adapters.ext.feature/feature.xml
+++ b/features/org.eclipse.jst.server_adapters.ext.feature/feature.xml
@@ -14,7 +14,7 @@
 <feature

       id="org.eclipse.jst.server_adapters.ext.feature"

       label="%featureName"

-      version="3.4.500.qualifier"

+      version="3.4.600.qualifier"

       provider-name="%providerName"

       license-feature="org.eclipse.license"

       license-feature-version="0.0.0">

diff --git a/features/org.eclipse.jst.server_adapters.ext.feature/pom.xml b/features/org.eclipse.jst.server_adapters.ext.feature/pom.xml
index 5fee218..0702a0a 100644
--- a/features/org.eclipse.jst.server_adapters.ext.feature/pom.xml
+++ b/features/org.eclipse.jst.server_adapters.ext.feature/pom.xml
@@ -22,7 +22,7 @@
 

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

   <artifactId>org.eclipse.jst.server_adapters.ext.feature</artifactId>

-  <version>3.4.500-SNAPSHOT</version>

+  <version>3.4.600-SNAPSHOT</version>

   <packaging>eclipse-feature</packaging>

 

   <build>

diff --git a/features/org.eclipse.jst.server_adapters.ext.sdk.feature/feature.xml b/features/org.eclipse.jst.server_adapters.ext.sdk.feature/feature.xml
index cb60f31..bf15fe8 100644
--- a/features/org.eclipse.jst.server_adapters.ext.sdk.feature/feature.xml
+++ b/features/org.eclipse.jst.server_adapters.ext.sdk.feature/feature.xml
@@ -14,7 +14,7 @@
 <feature

       id="org.eclipse.jst.server_adapters.ext.sdk.feature"

       label="%featureName"

-      version="3.3.900.qualifier"

+      version="3.4.600.qualifier"

       provider-name="%providerName"

       license-feature="org.eclipse.license"

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

diff --git a/features/org.eclipse.jst.server_adapters.ext.sdk.feature/pom.xml b/features/org.eclipse.jst.server_adapters.ext.sdk.feature/pom.xml
index ecbb30f..97d6a91 100644
--- a/features/org.eclipse.jst.server_adapters.ext.sdk.feature/pom.xml
+++ b/features/org.eclipse.jst.server_adapters.ext.sdk.feature/pom.xml
@@ -22,6 +22,6 @@
 

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

   <artifactId>org.eclipse.jst.server_adapters.ext.sdk.feature</artifactId>

-  <version>3.3.900-SNAPSHOT</version>

+  <version>3.4.600-SNAPSHOT</version>

   <packaging>eclipse-feature</packaging>

 </project>

diff --git a/features/org.eclipse.jst.server_adapters.ext_tests.feature/feature.xml b/features/org.eclipse.jst.server_adapters.ext_tests.feature/feature.xml
index 52e9c7f..7c09f34 100644
--- a/features/org.eclipse.jst.server_adapters.ext_tests.feature/feature.xml
+++ b/features/org.eclipse.jst.server_adapters.ext_tests.feature/feature.xml
@@ -15,7 +15,7 @@
 <feature
       id="org.eclipse.jst.server_adapters.ext_tests.feature"
       label="%featureName"
-      version="3.3.300.qualifier"
+      version="3.4.600.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.license"
       license-feature-version="1.0.1.qualifier">
diff --git a/features/org.eclipse.jst.server_adapters.ext_tests.feature/pom.xml b/features/org.eclipse.jst.server_adapters.ext_tests.feature/pom.xml
index daffdea..0d304cc 100644
--- a/features/org.eclipse.jst.server_adapters.ext_tests.feature/pom.xml
+++ b/features/org.eclipse.jst.server_adapters.ext_tests.feature/pom.xml
@@ -22,6 +22,6 @@
 

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

   <artifactId>org.eclipse.jst.server_adapters.ext_tests.feature</artifactId>

-  <version>3.3.300-SNAPSHOT</version>

+  <version>3.4.600-SNAPSHOT</version>

   <packaging>eclipse-feature</packaging>

 </project>

diff --git a/plugins/org.eclipse.jst.server.tomcat.core/AddTomcat.md b/plugins/org.eclipse.jst.server.tomcat.core/AddTomcat.md
index 8d77cc8..29272a4 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/AddTomcat.md
+++ b/plugins/org.eclipse.jst.server.tomcat.core/AddTomcat.md
@@ -42,6 +42,6 @@
 
 ### Determining values for installable runtimes:
     1. For ostype win32:  filecount = unzip -l apache-tomcat-10.0.13.zip|grep -v '\/$'|grep 'apache-tomcat-'|grep -v ^Archive|wc -l
-                          for A in apache-tomcat*zip ; do echo $A ; unzip -l $A|grep -v '\/$'|grep 'apache-tomcat-'|grep -v ^Archive|wc -l ; done
+                          for A in apache-tomcat*zip ; do ls -l $A ; unzip -l $A|grep -v '\/$'|grep 'apache-tomcat-'|grep -v ^Archive|wc -l ; done
     1. For other ostypes: filecount = tar tvzf apache-tomcat-10.0.13.tar.gz|grep -v '\/$'|wc -l
-                          for A in apache-tomcat*.tar.gz ; do echo $A ; tar tvzf $A|grep -v '\/$'|wc -l;done
+                          for A in apache-tomcat*.tar.gz ; do ls -l $A ; tar tvzf $A|grep -v '\/$'|wc -l;done
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF
index 1151d0f..b12eda2 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jst.server.tomcat.core; singleton:=true
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 1.2.100.qualifier
 Bundle-Activator: org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml b/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
index e23881a..5e8f3d7 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
+++ b/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
@@ -780,17 +780,17 @@
     <runtime
         id="org.eclipse.jst.server.tomcat.runtime.90"
         licenseUrl="https://www.apache.org/licenses/LICENSE-2.0.txt"
-        archiveUrl="https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.62/bin/apache-tomcat-9.0.62.tar.gz"
-        archivePath="apache-tomcat-9.0.62"
-        archiveSize="11560971"
+        archiveUrl="https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz"
+        archivePath="apache-tomcat-9.0.65"
+        archiveSize="11593900"
         fileCount="633"
         os="linux,macosx"/>
     <runtime
         id="org.eclipse.jst.server.tomcat.runtime.90"
         licenseUrl="https://www.apache.org/licenses/LICENSE-2.0.txt"
-        archiveUrl="https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.62/bin/apache-tomcat-9.0.62.zip"
-        archivePath="apache-tomcat-9.0.62"
-        archiveSize="12102301"
+        archiveUrl="https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.zip"
+        archivePath="apache-tomcat-9.0.65"
+        archiveSize="12131126"
         fileCount="633"
         os="win32"/>
 
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/pom.xml b/plugins/org.eclipse.jst.server.tomcat.core/pom.xml
index 28e7f62..59cd217 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/pom.xml
+++ b/plugins/org.eclipse.jst.server.tomcat.core/pom.xml
@@ -22,6 +22,6 @@
 
   <groupId>org.eclipse.webtools.servertools</groupId>
   <artifactId>org.eclipse.jst.server.tomcat.core</artifactId>
-  <version>1.2.0-SNAPSHOT</version>
+  <version>1.2.100-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ConfigurationResourceListener.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ConfigurationResourceListener.java
index 84649bd..d59bda4 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ConfigurationResourceListener.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ConfigurationResourceListener.java
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2011 SAS Institute, Inc and others.
+ * Copyright (c) 2011, 2022 SAS Institute, Inc 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
@@ -49,7 +49,9 @@
 								// Check if this subfolder of the Servers folder matches a Tomcat configuration folder
 								for (int j = 0; j < servers.length; j++) {
 									IServerType serverType = servers[j].getServerType();
-									if (serverType.getId().startsWith("org.eclipse.jst.server.tomcat.")) {
+									String tomcatServerTypePrefix = "org.eclipse.jst.server.tomcat.";
+									// potential NPE arises if the runtime is renamed
+									if (serverType.getId() != null && serverType.getId().length() > tomcatServerTypePrefix.length() && tomcatServerTypePrefix.equals(serverType.getId().substring(0, tomcatServerTypePrefix.length()))) {
 										IFolder configFolder = servers[j].getServerConfiguration();
 										if (configFolder != null) {
 											if (childDelta[i].getFullPath().equals(configFolder.getFullPath())) {