Cleanup code using the new tool release
Also log when an unknown profile is specified.
diff --git a/java/org/apache/catalina/loader/LocalStrings.properties b/java/org/apache/catalina/loader/LocalStrings.properties
index 7c6c976..521c90f 100644
--- a/java/org/apache/catalina/loader/LocalStrings.properties
+++ b/java/org/apache/catalina/loader/LocalStrings.properties
@@ -67,3 +67,4 @@
webappLoader.stopError=Error stopping the loader
webappLoader.stopping=Stopping this Loader
webappLoader.unknownClassLoader=Unknown class loader [{0}] of class [{1}]
+webappLoader.unknownProfile=Unknown Jakarta profile [{0}] specified, the default profile will be used instead
diff --git a/java/org/apache/catalina/loader/WebappLoader.java b/java/org/apache/catalina/loader/WebappLoader.java
index a9d5ccc..5015b93 100644
--- a/java/org/apache/catalina/loader/WebappLoader.java
+++ b/java/org/apache/catalina/loader/WebappLoader.java
@@ -21,9 +21,7 @@
import java.io.File;
import java.io.FilePermission;
import java.io.IOException;
-import java.lang.instrument.ClassFileTransformer;
import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
import java.net.URL;
import java.net.URLClassLoader;
import java.nio.charset.StandardCharsets;
@@ -367,17 +365,14 @@
// Set Jakarta class converter
if (getJakartaConverter() != null) {
- ClassFileTransformer transformer = null;
+ EESpecProfile profile = null;
try {
- EESpecProfile profile = EESpecProfile.valueOf(getJakartaConverter());
- transformer = ClassConverter.class.getConstructor(EESpecProfile.class).newInstance(profile);
- // FIXME: after Migration 0.3
- //transformer = new ClassConverter(EESpecProfile.valueOf(getJakartaConverter()));
- } catch (InvocationTargetException | NoSuchMethodException | IllegalArgumentException ignored) {
- // Use default value with no argument constructor
- transformer = new ClassConverter();
+ profile = EESpecProfile.valueOf(getJakartaConverter());
+ } catch (IllegalArgumentException ignored) {
+ // Use default value
+ log.warn(sm.getString("webappLoader.unknownProfile", getJakartaConverter()));
}
- classLoader.addTransformer(transformer);
+ classLoader.addTransformer((profile != null) ? new ClassConverter(profile) : new ClassConverter());
}
// Configure our repositories