This is an automated email from the ASF dual-hosted git repository. ebourg pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomcat-jakartaee-migration.git
commit 39ada7099918e7f571e4119b200e79f242cf72a2 Author: Emmanuel Bourg <ebo...@apache.org> AuthorDate: Mon Apr 6 23:28:39 2020 +0200 Turned the migration profile into an instance field of the Migration class --- .../apache/tomcat/jakartaee/ClassConverter.java | 4 +-- .../org/apache/tomcat/jakartaee/Converter.java | 2 +- .../org/apache/tomcat/jakartaee/EESpecProfile.java | 6 ++++ .../org/apache/tomcat/jakartaee/Migration.java | 30 +++++++++++++++---- .../org/apache/tomcat/jakartaee/NoOpConverter.java | 2 +- .../org/apache/tomcat/jakartaee/TextConverter.java | 4 +-- .../java/org/apache/tomcat/jakartaee/Util.java | 35 ---------------------- 7 files changed, 37 insertions(+), 46 deletions(-) diff --git a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java index 4b7777b..9d398d7 100644 --- a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java +++ b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java @@ -35,7 +35,7 @@ public class ClassConverter implements Converter { @Override - public void convert(InputStream src, OutputStream dest) throws IOException { + public void convert(InputStream src, OutputStream dest, EESpecProfile profile) throws IOException { ClassParser parser = new ClassParser(src, "unknown"); JavaClass javaClass = parser.parse(); @@ -46,7 +46,7 @@ public class ClassConverter implements Converter { if (constantPool[i] instanceof ConstantUtf8) { ConstantUtf8 c = (ConstantUtf8) constantPool[i]; String str = c.getBytes(); - c = new ConstantUtf8(Util.convert(str)); + c = new ConstantUtf8(profile.convert(str)); constantPool[i] = c; } } diff --git a/src/main/java/org/apache/tomcat/jakartaee/Converter.java b/src/main/java/org/apache/tomcat/jakartaee/Converter.java index f3d62ec..92ef1dd 100644 --- a/src/main/java/org/apache/tomcat/jakartaee/Converter.java +++ b/src/main/java/org/apache/tomcat/jakartaee/Converter.java @@ -24,5 +24,5 @@ public interface Converter { boolean accepts(String filename); - void convert(InputStream src, OutputStream dest) throws IOException; + void convert(InputStream src, OutputStream dest, EESpecProfile profile) throws IOException; } diff --git a/src/main/java/org/apache/tomcat/jakartaee/EESpecProfile.java b/src/main/java/org/apache/tomcat/jakartaee/EESpecProfile.java index 3d77867..45aed81 100644 --- a/src/main/java/org/apache/tomcat/jakartaee/EESpecProfile.java +++ b/src/main/java/org/apache/tomcat/jakartaee/EESpecProfile.java @@ -16,6 +16,7 @@ */ package org.apache.tomcat.jakartaee; +import java.util.regex.Matcher; import java.util.regex.Pattern; /** @@ -41,4 +42,9 @@ public enum EESpecProfile { public Pattern getPattern() { return pattern; } + + public String convert(String name) { + Matcher m = pattern.matcher(name); + return m.replaceAll("jakarta$1"); + } } diff --git a/src/main/java/org/apache/tomcat/jakartaee/Migration.java b/src/main/java/org/apache/tomcat/jakartaee/Migration.java index dcaec1e..5c8d41b 100644 --- a/src/main/java/org/apache/tomcat/jakartaee/Migration.java +++ b/src/main/java/org/apache/tomcat/jakartaee/Migration.java @@ -44,6 +44,7 @@ public class Migration { private static final Logger logger = Logger.getLogger(Migration.class.getCanonicalName()); private static final StringManager sm = StringManager.getManager(Migration.class); + private EESpecProfile profile = EESpecProfile.TOMCAT; private File source; private File destination; private final List<Converter> converters; @@ -59,6 +60,23 @@ public class Migration { converters.add(new NoOpConverter()); } + /** + * Set the Jakarta EE specifications that should be used. + * + * @param profile the Jakarta EE specification profile + */ + public void setEESpecProfile(EESpecProfile profile) { + this.profile = profile; + } + + /** + * Get the Jakarta EE profile being used. + * + * @return the profile + */ + public EESpecProfile getEESpecProfile() { + return profile; + } public void setSource(File source) { if (!source.canRead()) { @@ -76,7 +94,7 @@ public class Migration { public boolean execute() throws IOException { logger.log(Level.INFO, sm.getString("migration.execute", source.getAbsolutePath(), - destination.getAbsolutePath(), Util.getEESpecProfile().toString())); + destination.getAbsolutePath(), profile.toString())); boolean result = true; long t1 = System.nanoTime(); if (source.isDirectory()) { @@ -157,7 +175,7 @@ public class Migration { logger.log(Level.FINE, sm.getString("migration.skipSignatureFile", sourceName)); continue; } - String destName = Util.convert(sourceName); + String destName = profile.convert(sourceName); JarEntry destEntry = new JarEntry(destName); jarOs.putNextEntry(destEntry); result = result && migrateStream(destEntry.getName(), jarIs, jarOs); @@ -181,7 +199,7 @@ public class Migration { logger.log(Level.FINE, sm.getString("migration.stream", name)); for (Converter converter : converters) { if (converter.accepts(name)) { - converter.convert(src, dest); + converter.convert(src, dest, profile); break; } } @@ -238,6 +256,8 @@ public class Migration { public static void main(String[] args) { System.setProperty("java.util.logging.SimpleFormatter.format", "%5$s%n"); + Migration migration = new Migration(); + boolean valid = false; String source = null; String dest = null; @@ -247,7 +267,7 @@ public class Migration { dest = args[2]; valid = true; try { - Util.setEESpecProfile(args[0].substring(PROFILE_ARG.length())); + migration.setEESpecProfile(EESpecProfile.valueOf(args[0].substring(PROFILE_ARG.length()))); } catch (IllegalArgumentException e) { // Invalid profile value valid = false; @@ -263,7 +283,7 @@ public class Migration { usage(); System.exit(1); } - Migration migration = new Migration(); + migration.setSource(new File(source)); migration.setDestination(new File(dest)); boolean result = false; diff --git a/src/main/java/org/apache/tomcat/jakartaee/NoOpConverter.java b/src/main/java/org/apache/tomcat/jakartaee/NoOpConverter.java index cd1152a..aeedb00 100644 --- a/src/main/java/org/apache/tomcat/jakartaee/NoOpConverter.java +++ b/src/main/java/org/apache/tomcat/jakartaee/NoOpConverter.java @@ -29,7 +29,7 @@ public class NoOpConverter implements Converter { } @Override - public void convert(InputStream src, OutputStream dest) throws IOException { + public void convert(InputStream src, OutputStream dest, EESpecProfile profile) throws IOException { // This simply copies the source to the destination byte[] buf = new byte[8192]; int numRead; diff --git a/src/main/java/org/apache/tomcat/jakartaee/TextConverter.java b/src/main/java/org/apache/tomcat/jakartaee/TextConverter.java index d0a0db2..e0fdc2f 100644 --- a/src/main/java/org/apache/tomcat/jakartaee/TextConverter.java +++ b/src/main/java/org/apache/tomcat/jakartaee/TextConverter.java @@ -59,13 +59,13 @@ public class TextConverter implements Converter { * execution. */ @Override - public void convert(InputStream src, OutputStream dest) throws IOException { + public void convert(InputStream src, OutputStream dest, EESpecProfile profile) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); flow(src, baos); String srcString = new String(baos.toByteArray(), StandardCharsets.ISO_8859_1); - String destString = Util.convert(srcString); + String destString = profile.convert(srcString); ByteArrayInputStream bais = new ByteArrayInputStream(destString.getBytes(StandardCharsets.ISO_8859_1)); flow (bais, dest); diff --git a/src/main/java/org/apache/tomcat/jakartaee/Util.java b/src/main/java/org/apache/tomcat/jakartaee/Util.java index af0bb12..edd7203 100644 --- a/src/main/java/org/apache/tomcat/jakartaee/Util.java +++ b/src/main/java/org/apache/tomcat/jakartaee/Util.java @@ -17,37 +17,9 @@ package org.apache.tomcat.jakartaee; import java.util.Locale; -import java.util.regex.Matcher; -import java.util.regex.Pattern; public class Util { - private static EESpecProfile profile = EESpecProfile.TOMCAT; - - /** - * Set the Jakarta EE specifications that should be used. - * @param profile the Jakarta EE specification profile - */ - public static void setEESpecProfile(String profile) { - setEESpecProfile(EESpecProfile.valueOf(profile)); - } - - /** - * Set the Jakarta EE specifications that should be used. - * @param profile the Jakarta EE specification profile - */ - public static void setEESpecProfile(EESpecProfile profile) { - Util.profile = profile; - } - - /** - * Get the Jakarta EE profile being used. - * @return the profile - */ - public static EESpecProfile getEESpecProfile() { - return profile; - } - /** * Get the extension of a filename * <p> @@ -64,13 +36,6 @@ public class Util { return filename.substring(lastPeriod + 1).toLowerCase(Locale.ENGLISH); } - - public static String convert(String name) { - Matcher m = profile.getPattern().matcher(name); - return m.replaceAll("jakarta$1"); - } - - private Util() { // Hide default constructor. Utility class. } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org