Repository: maven-scm
Updated Branches:
  refs/heads/master 03b1907a6 -> 29c1d1d42


Replace jakarta-regexp with java.util.regexp for maven-scm-provider-svnexe


Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/fb3714ca
Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/fb3714ca
Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/fb3714ca

Branch: refs/heads/master
Commit: fb3714caf721668104170abbe010821e029f2758
Parents: 03b1907
Author: Emmanuel Bourg <ebo...@apache.org>
Authored: Mon Feb 24 17:00:23 2014 +0100
Committer: Emmanuel Bourg <ebo...@apache.org>
Committed: Mon Feb 24 17:10:43 2014 +0100

----------------------------------------------------------------------
 .../maven-scm-provider-svnexe/pom.xml           |  4 --
 .../svnexe/command/blame/SvnBlameConsumer.java  | 64 +++++---------------
 .../command/changelog/SvnChangeLogConsumer.java | 60 +++++++++---------
 3 files changed, 49 insertions(+), 79 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/fb3714ca/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
----------------------------------------------------------------------
diff --git 
a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml 
b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
index 8ee891f..d884a07 100644
--- 
a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
+++ 
b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
@@ -45,10 +45,6 @@
       <artifactId>maven-scm-provider-svn-commons</artifactId>
     </dependency>
     <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
-    <dependency>
       <groupId>commons-lang</groupId>
       <artifactId>commons-lang</artifactId>
     </dependency>

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/fb3714ca/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnBlameConsumer.java
----------------------------------------------------------------------
diff --git 
a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnBlameConsumer.java
 
b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnBlameConsumer.java
index f6d5fbe..d73cf8b 100644
--- 
a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnBlameConsumer.java
+++ 
b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnBlameConsumer.java
@@ -22,8 +22,6 @@ package 
org.apache.maven.scm.provider.svn.svnexe.command.blame;
 import org.apache.maven.scm.command.blame.BlameLine;
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -31,6 +29,8 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.TimeZone;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author Evgeny Mandrikov
@@ -42,33 +42,14 @@ public class SvnBlameConsumer
 {
     private static final String SVN_TIMESTAMP_PATTERN = "yyyy-MM-dd HH:mm:ss";
 
-    private static final String LINE_PATTERN = "line-number=\"(.*)\"";
+    private static final Pattern LINE_PATTERN = Pattern.compile( 
"line-number=\"(.*)\"" );
 
-    private static final String REVISION_PATTERN = "revision=\"(.*)\"";
+    private static final Pattern REVISION_PATTERN = Pattern.compile( 
"revision=\"(.*)\"" );
 
-    private static final String AUTHOR_PATTERN = "<author>(.*)</author>";
+    private static final Pattern AUTHOR_PATTERN = Pattern.compile( 
"<author>(.*)</author>" );
 
-    private static final String DATE_PATTERN = 
"<date>(.*)T(.*)\\.(.*)Z</date>";
+    private static final Pattern DATE_PATTERN = Pattern.compile( 
"<date>(.*)T(.*)\\.(.*)Z</date>" );
 
-    /**
-     * @see #LINE_PATTERN
-     */
-    private RE lineRegexp;
-
-    /**
-     * @see #REVISION_PATTERN
-     */
-    private RE revisionRegexp;
-
-    /**
-     * @see #AUTHOR_PATTERN
-     */
-    private RE authorRegexp;
-
-    /**
-     * @see #DATE_PATTERN
-     */
-    private RE dateRegexp;
 
     private SimpleDateFormat dateFormat;
 
@@ -80,20 +61,6 @@ public class SvnBlameConsumer
 
         dateFormat = new SimpleDateFormat( SVN_TIMESTAMP_PATTERN );
         dateFormat.setTimeZone( TimeZone.getTimeZone( "UTC" ) );
-
-        try
-        {
-            lineRegexp = new RE( LINE_PATTERN );
-            revisionRegexp = new RE( REVISION_PATTERN );
-            authorRegexp = new RE( AUTHOR_PATTERN );
-            dateRegexp = new RE( DATE_PATTERN );
-        }
-        catch ( RESyntaxException ex )
-        {
-            throw new RuntimeException(
-                "INTERNAL ERROR: Could not create regexp to parse git log 
file. This shouldn't happen. Something is probably wrong with the oro 
installation.",
-                ex );
-        }
     }
 
     private int lineNumber;
@@ -104,23 +71,24 @@ public class SvnBlameConsumer
 
     public void consumeLine( String line )
     {
-        if ( lineRegexp.match( line ) )
+        Matcher matcher;
+        if ( ( matcher = LINE_PATTERN.matcher( line ) ).matches() )
         {
-            String lineNumberStr = lineRegexp.getParen( 1 );
+            String lineNumberStr = matcher.group( 1 );
             lineNumber = Integer.parseInt( lineNumberStr );
         }
-        else if ( revisionRegexp.match( line ) )
+        else if ( ( matcher = REVISION_PATTERN.matcher( line ) ).matches() )
         {
-            revision = revisionRegexp.getParen( 1 );
+            revision = matcher.group( 1 );
         }
-        else if ( authorRegexp.match( line ) )
+        else if ( ( matcher = AUTHOR_PATTERN.matcher( line ) ).matches() )
         {
-            author = authorRegexp.getParen( 1 );
+            author = matcher.group( 1 );
         }
-        else if ( dateRegexp.match( line ) )
+        else if ( ( matcher = DATE_PATTERN.matcher( line ) ).matches() )
         {
-            String date = dateRegexp.getParen( 1 );
-            String time = dateRegexp.getParen( 2 );
+            String date = matcher.group( 1 );
+            String time = matcher.group( 2 );
             Date dateTime = parseDateTime( date + " " + time );
             lines.add( new BlameLine( dateTime, revision, author ) );
             if ( getLogger().isDebugEnabled() )

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/fb3714ca/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java
----------------------------------------------------------------------
diff --git 
a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java
 
b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java
index 76d0271..43dd2ae 100644
--- 
a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java
+++ 
b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java
@@ -25,11 +25,12 @@ import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.svn.SvnChangeSet;
 import org.apache.maven.scm.util.AbstractConsumer;
-import org.apache.regexp.RE;
 
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author <a href="mailto:eveni...@apache.org";>Emmanuel Venisse</a>
@@ -61,13 +62,13 @@ public class SvnChangeLogConsumer
     /**
      * There is always action and affected path; when copying/moving, 
recognize also original path and revision
      */
-    private static final RE FILE_PATTERN = new RE( 
"^\\s\\s\\s([:upper:])\\s(.+)$" );
+    private static final Pattern FILE_PATTERN = 
Pattern.compile("^\\s\\s\\s([A-Z])\\s(.+)$");
 
     /**
      * This matches the 'original file info' part of the complete file line.
      * Note the use of [:alpha:] instead of literal 'from' - this is meant to 
allow non-English localizations.
      */
-    private static final RE ORIG_FILE_PATTERN = new RE( "\\([:alpha:]+ 
(.+):(\\d+)\\)" );
+    private static final Pattern ORIG_FILE_PATTERN = Pattern.compile( 
"\\([A-Za-z]+ (.+):(\\d+)\\)" );
 
     /**
      * The file section ends with a blank line
@@ -108,7 +109,7 @@ public class SvnChangeLogConsumer
     /**
      * The regular expression used to match header lines
      */
-    private static final RE HEADER_REG_EXP = new RE( "^(.+) \\| (.+) \\| (.+) 
\\|.*$" );
+    private static final Pattern HEADER_REG_EXP = Pattern.compile( "^(.+) \\| 
(.+) \\| (.+) \\|.*$" );
 
     private static final int REVISION_GROUP = 1;
 
@@ -116,13 +117,13 @@ public class SvnChangeLogConsumer
 
     private static final int DATE_GROUP = 3;
 
-    private static final RE REVISION_REG_EXP1 = new RE( "rev (\\d+):" );
+    private static final Pattern REVISION_REG_EXP1 = Pattern.compile( "rev 
(\\d+):" );
 
-    private static final RE REVISION_REG_EXP2 = new RE( "r(\\d+)" );
+    private static final Pattern REVISION_REG_EXP2 = Pattern.compile( 
"r(\\d+)" );
 
-    private static final RE DATE_REG_EXP = new RE( "(\\d+-\\d+-\\d+ " +        
     // date 2002-08-24
+    private static final Pattern DATE_REG_EXP = Pattern.compile( 
"(\\d+-\\d+-\\d+ " +   // date 2002-08-24
                                                        "\\d+:\\d+:\\d+) " +    
         // time 16:01:00
-                                                       
"([\\-+])(\\d\\d)(\\d\\d)" );     // gmt offset -0400);)
+                                                       
"([\\-+])(\\d\\d)(\\d\\d)" );    // gmt offset -0400);)
 
     private final String userDateFormat;
 
@@ -185,19 +186,20 @@ public class SvnChangeLogConsumer
      */
     private void processGetHeader( String line )
     {
-        if ( !HEADER_REG_EXP.match( line ) )
+        Matcher matcher = HEADER_REG_EXP.matcher( line );
+        if ( !matcher.matches() )
         {
             // The header line is not found. Intentionally do nothing.
             return;
         }
 
-        currentRevision = getRevision( HEADER_REG_EXP.getParen( REVISION_GROUP 
) );
+        currentRevision = getRevision( matcher.group( REVISION_GROUP ) );
 
         currentChange = new SvnChangeSet();
 
-        currentChange.setAuthor( HEADER_REG_EXP.getParen( AUTHOR_GROUP ) );
+        currentChange.setAuthor( matcher.group( AUTHOR_GROUP ) );
 
-        currentChange.setDate( getDate( HEADER_REG_EXP.getParen( DATE_GROUP ) 
) );
+        currentChange.setDate( getDate( matcher.group( DATE_GROUP ) ) );
 
         currentChange.setRevision( currentRevision );
 
@@ -212,13 +214,14 @@ public class SvnChangeLogConsumer
      */
     private String getRevision( final String revisionOutput )
     {
-        if ( REVISION_REG_EXP1.match( revisionOutput ) )
+        Matcher matcher;
+        if ( ( matcher = REVISION_REG_EXP1.matcher( revisionOutput ) 
).matches() )
         {
-            return REVISION_REG_EXP1.getParen( 1 );
+            return matcher.group( 1 );
         }
-        else if ( REVISION_REG_EXP2.match( revisionOutput ) )
+        else if ( ( matcher = REVISION_REG_EXP2.matcher( revisionOutput 
)).matches() )
         {
-            return REVISION_REG_EXP2.getParen( 1 );
+            return matcher.group( 1 );
         }
         else
         {
@@ -236,9 +239,10 @@ public class SvnChangeLogConsumer
      */
     private void processGetFile( String line )
     {
-        if ( FILE_PATTERN.match( line ) )
+        Matcher matcher = FILE_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
-            final String fileinfo = FILE_PATTERN.getParen( 2 );
+            final String fileinfo = matcher.group( 2 );
             String name = fileinfo;
             String originalName = null;
             String originalRev = null;
@@ -246,15 +250,16 @@ public class SvnChangeLogConsumer
             if ( n > 1 && fileinfo.endsWith( ")" ) )
             {
                 final String origFileInfo = fileinfo.substring( n );
-                if ( ORIG_FILE_PATTERN.match( origFileInfo ) )
+                Matcher matcher2 = ORIG_FILE_PATTERN.matcher( origFileInfo );
+                if ( matcher2.find() )
                 {
                     // if original file is present, we must extract the 
affected one from the beginning
                     name = fileinfo.substring( 0, n );
-                    originalName = ORIG_FILE_PATTERN.getParen( 1 );
-                    originalRev = ORIG_FILE_PATTERN.getParen( 2 );
+                    originalName = matcher2.group( 1 );
+                    originalRev = matcher2.group( 2 );
                 }
             }
-            final String actionStr = FILE_PATTERN.getParen( 1 );
+            final String actionStr = matcher.group( 1 );
             final ScmFileStatus action;
             if ( "A".equals( actionStr ) )
             {
@@ -327,18 +332,19 @@ public class SvnChangeLogConsumer
      */
     private Date getDate( final String dateOutput )
     {
-        if ( !DATE_REG_EXP.match( dateOutput ) )
+        Matcher matcher = DATE_REG_EXP.matcher( dateOutput );
+        if ( !matcher.find() )
         {
             throw new IllegalOutputException( dateOutput );
         }
 
         final StringBuilder date = new StringBuilder();
-        date.append( DATE_REG_EXP.getParen( 1 ) );
+        date.append( matcher.group( 1 ) );
         date.append( " GMT" );
-        date.append( DATE_REG_EXP.getParen( 2 ) );
-        date.append( DATE_REG_EXP.getParen( 3 ) );
+        date.append( matcher.group( 2 ) );
+        date.append( matcher.group( 3 ) );
         date.append( ':' );
-        date.append( DATE_REG_EXP.getParen( 4 ) );
+        date.append( matcher.group( 4 ) );
 
         return parseDate( date.toString(), userDateFormat, 
SVN_TIMESTAMP_PATTERN );
     }

Reply via email to