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

Reply via email to