This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat-jakartaee-migration.git


The following commit(s) were added to refs/heads/master by this push:
     new 5050d9c  Add configuration for patterns
5050d9c is described below

commit 5050d9c48f35b3fd226378ad1cce797073694972
Author: remm <r...@apache.org>
AuthorDate: Mon Mar 16 17:51:39 2020 +0100

    Add configuration for patterns
    
    This allows configuring the list of javax packages that will be migrated
    to jakarta. The names and pattern names will be updated according to
    what makes sense.
---
 .../org/apache/tomcat/jakartaee/Migration.java     | 28 ++++++++++++++++++----
 .../java/org/apache/tomcat/jakartaee/Util.java     | 26 ++++++++++++++++++--
 .../tomcat/jakartaee/LocalStrings.properties       |  4 ++--
 3 files changed, 50 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/apache/tomcat/jakartaee/Migration.java 
b/src/main/java/org/apache/tomcat/jakartaee/Migration.java
index 1140f26..a7e2f0c 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/Migration.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/Migration.java
@@ -73,7 +73,7 @@ public class Migration {
 
     public boolean execute() throws IOException {
         logger.log(Level.INFO, sm.getString("migration.execute", 
source.getAbsolutePath(),
-                destination.getAbsolutePath()));
+                destination.getAbsolutePath(), 
Util.getEESpecLevel().toString()));
         boolean result = true;
         long t1 = System.nanoTime();
         if (source.isDirectory()) {
@@ -232,13 +232,33 @@ public class Migration {
 
 
     public static void main(String[] args) {
-        if (args.length != 2) {
+        boolean valid = false;
+        String source = null;
+        String dest = null;
+        Util.EESpecLevel level = Util.EESpecLevel.TOMCAT;
+        if (args.length == 3) {
+            if (args[0].startsWith("-level")) {
+                level = 
Util.EESpecLevel.valueOf(args[0].substring("-level".length()));
+                if (level != null) {
+                    source = args[1];
+                    dest = args[2];
+                    valid = true;
+                }
+            }
+        }
+        if (args.length == 2) {
+            source = args[0];
+            dest = args[1];
+            valid = true;
+        }
+        if (!valid) {
             usage();
             System.exit(1);
         }
+        Util.setEESpecLevel(level);
         Migration migration = new Migration();
-        migration.setSource(new File(args[0]));
-        migration.setDestination(new File(args[1]));
+        migration.setSource(new File(source));
+        migration.setDestination(new File(dest));
         boolean result = false;
         try {
             result = migration.execute();
diff --git a/src/main/java/org/apache/tomcat/jakartaee/Util.java 
b/src/main/java/org/apache/tomcat/jakartaee/Util.java
index 21e0fbf..9bc0712 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/Util.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/Util.java
@@ -22,9 +22,31 @@ import java.util.regex.Pattern;
 
 public class Util {
 
-    private static Pattern PATTERN = Pattern.compile(
+    public enum EESpecLevel { TOMCAT, EE };
+
+    private static final Pattern TOMCAT_PATTERN = Pattern.compile(
             
"javax([/\\.](annotation|ejb|el|mail|persistence|security[/\\.]auth[/\\.]message|servlet|transaction|websocket))");
 
+    private static final Pattern EE_PATTERN = Pattern.compile(
+            
"javax([/\\.](annotation|decorator|ejb|el|enterprise|inject|mail|persistence|security[/\\.]auth[/\\"
+            + ".]message|servlet|transaction|websocket))");
+
+    private static EESpecLevel level = EESpecLevel.TOMCAT;
+    private static Pattern pattern = TOMCAT_PATTERN;
+
+    public static void setEESpecLevel(EESpecLevel level) {
+        Util.level = level;
+        if (level == EESpecLevel.TOMCAT) {
+            pattern = TOMCAT_PATTERN;
+        } else if (level == EESpecLevel.EE) {
+            pattern = EE_PATTERN;
+        }
+    }
+
+    public static EESpecLevel getEESpecLevel() {
+        return level;
+    }
+
     /**
      * Get the extension of a filename
      * <p>
@@ -43,7 +65,7 @@ public class Util {
 
 
     public static String convert(String name) {
-        Matcher m = PATTERN.matcher(name);
+        Matcher m = pattern.matcher(name);
         return m.replaceAll("jakarta$1");
     }
 
diff --git 
a/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.properties 
b/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.properties
index d13091f..f7b8e03 100644
--- a/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.properties
+++ b/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.properties
@@ -18,10 +18,10 @@ migration.cannotReadSource=Cannot read source location [{0}]
 migration.done=Migration completed successfully [{1}] in [{0}] milliseconds
 migration.entry=Migrating Jar entry [{0}]
 migration.error=Error performing migration
-migration.execute=Performing migration from source [{0}] to destination [{1}]
+migration.execute=Performing migration from source [{0}] to destination [{1}] 
with EE specification level [{2}]
 migration.mkdirError=Error creating destination directory [{0}]
 migration.removeSignature=Remove cryptographic signature for [{0}]
 migration.skipSignatureFile=Drop cryptographic signature file [{0}]
 migration.stream=Migrating stream [{0}]
-migration.usage=Usage: Migration <source> <destination>
+migration.usage=Usage: Migration [-levelTOMCAT|-levelEE] <source> <destination>
 migration.warnSignatureRemoval=Removed cryptographic signature from JAR file
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to