You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2014/02/25 18:24:10 UTC

[1/8] git commit: Replace jakarta-regexp with java.util.regexp for maven-scm-provider-svnexe

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 <eb...@apache.org>
Authored: Mon Feb 24 17:00:23 2014 +0100
Committer: Emmanuel Bourg <eb...@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:evenisse@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 );
     }


[8/8] git commit: Remove the declared dependencies on jakarta-regexp

Posted by hb...@apache.org.
Remove the declared dependencies on jakarta-regexp


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

Branch: refs/heads/master
Commit: 29c1d1d42e2a3278df36021f2f37a1f6cea5ff8a
Parents: 093ca18
Author: Emmanuel Bourg <eb...@apache.org>
Authored: Mon Feb 24 23:10:24 2014 +0100
Committer: Emmanuel Bourg <eb...@apache.org>
Committed: Mon Feb 24 23:10:24 2014 +0100

----------------------------------------------------------------------
 maven-scm-providers/maven-scm-provider-bazaar/pom.xml |  7 -------
 maven-scm-providers/maven-scm-provider-hg/pom.xml     |  7 -------
 maven-scm-providers/pom.xml                           | 10 ----------
 3 files changed, 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/29c1d1d4/maven-scm-providers/maven-scm-provider-bazaar/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/pom.xml b/maven-scm-providers/maven-scm-provider-bazaar/pom.xml
index f62cf8f..6429b50 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-bazaar/pom.xml
@@ -33,13 +33,6 @@
   <name>Maven SCM Bazaar Provider</name>
   <description>SCM Provider implementation for Bazaar (http://bazaar-vcs.org/).</description>
 
-  <dependencies>
-    <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
-  </dependencies>
-
   <build>
     <plugins>
       <plugin>

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/29c1d1d4/maven-scm-providers/maven-scm-provider-hg/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-hg/pom.xml b/maven-scm-providers/maven-scm-provider-hg/pom.xml
index 1fb3093..744bcf0 100644
--- a/maven-scm-providers/maven-scm-provider-hg/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-hg/pom.xml
@@ -48,13 +48,6 @@
     </contributor>
   </contributors>
 
-  <dependencies>
-    <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
-  </dependencies>
-
   <build>
     <plugins>
       <plugin>

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/29c1d1d4/maven-scm-providers/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/pom.xml b/maven-scm-providers/pom.xml
index de32c72..5cca892 100644
--- a/maven-scm-providers/pom.xml
+++ b/maven-scm-providers/pom.xml
@@ -53,16 +53,6 @@
     <module>maven-scm-provider-jazz</module>
   </modules>
 
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>regexp</groupId>
-        <artifactId>regexp</artifactId>
-        <version>1.3</version>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>


[6/8] git commit: Replace jakarta-regexp with java.util.regexp for maven-scm-provider-jazz

Posted by hb...@apache.org.
Replace jakarta-regexp with java.util.regexp for maven-scm-provider-jazz


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

Branch: refs/heads/master
Commit: c0efaf5ef0569ce0bc1c8cc536d449b80139919a
Parents: 0a069f8
Author: Emmanuel Bourg <eb...@apache.org>
Authored: Mon Feb 24 18:25:05 2014 +0100
Committer: Emmanuel Bourg <eb...@apache.org>
Committed: Mon Feb 24 18:25:05 2014 +0100

----------------------------------------------------------------------
 .../maven-scm-provider-jazz/pom.xml             |  5 --
 .../jazz/command/blame/JazzBlameConsumer.java   | 33 +++-----
 .../command/changelog/JazzHistoryConsumer.java  | 27 ++-----
 .../changelog/JazzListChangesetConsumer.java    | 50 ++++--------
 .../command/checkout/JazzCheckOutConsumer.java  | 27 ++-----
 .../jazz/command/status/JazzStatusConsumer.java | 80 ++++++--------------
 6 files changed, 61 insertions(+), 161 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/c0efaf5e/maven-scm-providers/maven-scm-provider-jazz/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-jazz/pom.xml b/maven-scm-providers/maven-scm-provider-jazz/pom.xml
index 4be5f1d..a925616 100644
--- a/maven-scm-providers/maven-scm-provider-jazz/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-jazz/pom.xml
@@ -48,11 +48,6 @@
   </developers>
 
   <dependencies>
-    <!-- For the RE's used to parse command line output -->
-    <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
     <!-- For the tck tests -->
     <dependency>
       <groupId>org.mockito</groupId>

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/c0efaf5e/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/blame/JazzBlameConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/blame/JazzBlameConsumer.java b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/blame/JazzBlameConsumer.java
index 1e87772..6ec0d87 100644
--- a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/blame/JazzBlameConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/blame/JazzBlameConsumer.java
@@ -23,14 +23,14 @@ import org.apache.maven.scm.command.blame.BlameLine;
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.jazz.command.consumer.AbstractRepositoryConsumer;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 
 import java.text.SimpleDateFormat;
 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;
 
 //STATUS: NOT DONE
 
@@ -47,12 +47,7 @@ public class JazzBlameConsumer
 //  1 Deb (1008) 2011-12-14                       Test.txt
 //  2 Deb (1005) 2011-12-14 59 My commit comment.
 
-    private static final String LINE_PATTERN = "(\\d+) (.*) \\((\\d+)\\) (\\d+-\\d+-\\d+) (.*)";
-
-    /**
-     * @see #LINE_PATTERN
-     */
-    private RE lineRegexp;
+    private static final Pattern LINE_PATTERN = Pattern.compile( "(\\d+) (.*) \\((\\d+)\\) (\\d+-\\d+-\\d+) (.*)" );
 
     private List<BlameLine> fLines = new ArrayList<BlameLine>();
 
@@ -70,17 +65,6 @@ public class JazzBlameConsumer
 
         dateFormat = new SimpleDateFormat( JAZZ_TIMESTAMP_PATTERN );
         dateFormat.setTimeZone( TimeZone.getTimeZone( "UTC" ) );
-
-        try
-        {
-            lineRegexp = new RE( LINE_PATTERN );
-        }
-        catch ( RESyntaxException ex )
-        {
-            throw new RuntimeException(
-                "INTERNAL ERROR: Could not create regexp to parse jazz scm blame output. This shouldn't happen. Something is probably wrong with the oro installation.",
-                ex );
-        }
     }
 
     /**
@@ -93,12 +77,13 @@ public class JazzBlameConsumer
     {
         super.consumeLine( line );
 
-        if ( lineRegexp.match( line ) )
+        Matcher matcher = LINE_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
-            String lineNumberStr = lineRegexp.getParen( 1 );
-            String owner = lineRegexp.getParen( 2 );
-            String changeSetNumberStr = lineRegexp.getParen( 3 );
-            String dateStr = lineRegexp.getParen( 4 );
+            String lineNumberStr = matcher.group( 1 );
+            String owner = matcher.group( 2 );
+            String changeSetNumberStr = matcher.group( 3 );
+            String dateStr = matcher.group( 4 );
             Date date = parseDate( dateStr, JAZZ_TIMESTAMP_PATTERN, null );
             fLines.add( new BlameLine( date, changeSetNumberStr, owner ) );
         }

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/c0efaf5e/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzHistoryConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzHistoryConsumer.java b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzHistoryConsumer.java
index 931ba21..04e0c67 100644
--- a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzHistoryConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzHistoryConsumer.java
@@ -23,10 +23,10 @@ import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.jazz.command.consumer.AbstractRepositoryConsumer;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * Consume the output of the scm command for the "history" operation.
@@ -48,12 +48,7 @@ public class JazzHistoryConsumer
 //  (1584)  ---$ Deb "This is my first changeset (2)"
 //  (1583)  ---$ Deb "This is my first changeset (1)"
 
-    private static final String CHANGESET_PATTERN = "\\((\\d+)\\) (.*)";
-
-    /**
-     * @see #CHANGESET_PATTERN
-     */
-    private RE changeSetRegExp;
+    private static final Pattern CHANGESET_PATTERN = Pattern.compile( "\\((\\d+)\\) (.*)" );
 
     private List<ChangeSet> entries;
 
@@ -68,17 +63,6 @@ public class JazzHistoryConsumer
     {
         super( repo, logger );
         this.entries = entries;
-
-        try
-        {
-            changeSetRegExp = new RE( CHANGESET_PATTERN );
-        }
-        catch ( RESyntaxException ex )
-        {
-            throw new RuntimeException(
-                "INTERNAL ERROR: Could not create regexp to parse jazz scm history output. This shouldn't happen. Something is probably wrong with the oro installation.",
-                ex );
-        }
     }
 
     /**
@@ -90,9 +74,10 @@ public class JazzHistoryConsumer
     public void consumeLine( String line )
     {
         super.consumeLine( line );
-        if ( changeSetRegExp.match( line ) )
+        Matcher matcher = CHANGESET_PATTERN.matcher( line );
+        if ( matcher.find() )
         {
-            String changesetAlias = changeSetRegExp.getParen( 1 );
+            String changesetAlias = matcher.group( 1 );
             ChangeSet changeSet = new ChangeSet();
             changeSet.setRevision( changesetAlias );
 

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/c0efaf5e/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzListChangesetConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzListChangesetConsumer.java b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzListChangesetConsumer.java
index dd099fc..0e92f24 100644
--- a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzListChangesetConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzListChangesetConsumer.java
@@ -25,14 +25,14 @@ import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.jazz.command.consumer.AbstractRepositoryConsumer;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.Locale;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * Consume the output of the scm command for the "list changesets" operation.
@@ -146,23 +146,13 @@ public class JazzListChangesetConsumer
 
     //  (1589)  ---$ Deb "[maven-release-plugin] prepare for next development iteration"
     //  (1585)  ---$ Deb "[maven-release-plugin] prepare release GPDB-1.0.21"
-    private static final String CHANGESET_PATTERN = "\\((\\d+)\\)  (....) (\\w+) (.*)";
-
-    /**
-     * @see #CHANGESET_PATTERN
-     */
-    private RE changeSetRegExp;
+    private static final Pattern CHANGESET_PATTERN = Pattern.compile( "\\((\\d+)\\)  (....) (\\w+) (.*)" );
 
     //      ---c- (1170) \GPDB\GPDBEAR\pom.xml
     //      ---c- (1171) \GPDB\GPDBResources\pom.xml
     //      ---c- (1167) \GPDB\GPDBWeb\pom.xml
     //      ---c- (1165) \GPDB\pom.xml
-    private static final String CHANGES_PATTERN = "(.....) \\((\\d+)\\) (.*)";
-
-    /**
-     * @see #CHANGES_PATTERN
-     */
-    private RE changesRegExp;
+    private static final Pattern CHANGES_PATTERN = Pattern.compile( "(.....) \\((\\d+)\\) (.*)" );
 
 
     private List<ChangeSet> entries;
@@ -187,18 +177,6 @@ public class JazzListChangesetConsumer
         super( repo, logger );
         this.entries = entries;
         this.userDateFormat = userDateFormat;
-
-        try
-        {
-            changeSetRegExp = new RE( CHANGESET_PATTERN );
-            changesRegExp = new RE( CHANGES_PATTERN );
-        }
-        catch ( RESyntaxException ex )
-        {
-            throw new RuntimeException(
-                "INTERNAL ERROR: Could not create regexp to parse jazz scm history output. This shouldn't happen. Something is probably wrong with the oro installation.",
-                ex );
-        }
     }
 
     /**
@@ -282,7 +260,8 @@ public class JazzListChangesetConsumer
         // Process the headerless change set line - starts with a '(', eg:
         // (1589)  ---$ Deb "[maven-release-plugin] prepare for next development iteration"
         // (1585)  ---$ Deb "[maven-release-plugin] prepare release GPDB-1.0.21"
-        if ( changeSetRegExp.match( line ) )
+        Matcher matcher = CHANGESET_PATTERN.matcher( line );
+        if ( matcher.find() )
         {
             // This is the only place this gets incremented.
             // It starts at -1, and on first execution is incremented to 0 - which is correct.
@@ -293,10 +272,10 @@ public class JazzListChangesetConsumer
             List<ChangeFile> files = new ArrayList<ChangeFile>();
             currentChangeSet.setFiles( files );
 
-            String changesetAlias = changeSetRegExp.getParen( 1 );
-            String changeFlags = changeSetRegExp.getParen( 2 );     // Not used.
-            String author = changeSetRegExp.getParen( 3 );
-            String comment = changeSetRegExp.getParen( 4 );
+            String changesetAlias = matcher.group( 1 );
+            String changeFlags = matcher.group( 2 );     // Not used.
+            String author = matcher.group( 3 );
+            String comment = matcher.group( 4 );
 
             if ( getLogger().isDebugEnabled() )
             {
@@ -397,13 +376,14 @@ public class JazzListChangesetConsumer
         //      ---c- (1171) \GPDB\GPDBResources\pom.xml
         //      ---c- (1167) \GPDB\GPDBWeb\pom.xml
         //      ---c- (1165) \GPDB\pom.xml
-        if ( changesRegExp.match( line ) )
+        Matcher matcher = CHANGES_PATTERN.matcher( line );
+        if ( matcher.find() )
         {
             ChangeSet currentChangeSet = entries.get( currentChangeSetIndex );
 
-            String changeFlags = changesRegExp.getParen( 1 );     // Not used.
-            String fileAlias = changesRegExp.getParen( 2 );
-            String file = changesRegExp.getParen( 3 );
+            String changeFlags = matcher.group( 1 );     // Not used.
+            String fileAlias = matcher.group( 2 );
+            String file = matcher.group( 3 );
 
             if ( getLogger().isDebugEnabled() )
             {

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/c0efaf5e/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutConsumer.java b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutConsumer.java
index 33f8ed3..e3b2a7f 100644
--- a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutConsumer.java
@@ -24,11 +24,11 @@ import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.jazz.command.consumer.AbstractRepositoryConsumer;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * Consume the output of the scm command for the "load" operation.
@@ -38,12 +38,7 @@ import java.util.List;
 public class JazzCheckOutConsumer
     extends AbstractRepositoryConsumer
 {
-    private static final String DOWNLOAD_PATTERN = "^Downloading\\s(.*)\\s\\s\\(\\d.*B\\)$";
-
-    /**
-     * @see #DOWNLOAD_PATTERN
-     */
-    private RE downloadRegexp;
+    private static final Pattern DOWNLOAD_PATTERN = Pattern.compile( "^Downloading\\s(.*)\\s\\s\\(\\d.*B\\)$" );
 
     protected String fCurrentDir = "";
 
@@ -58,17 +53,6 @@ public class JazzCheckOutConsumer
     public JazzCheckOutConsumer( ScmProviderRepository repository, ScmLogger logger )
     {
         super( repository, logger );
-
-        try
-        {
-            downloadRegexp = new RE( DOWNLOAD_PATTERN );
-        }
-        catch ( RESyntaxException ex )
-        {
-            throw new RuntimeException(
-                "INTERNAL ERROR: Could not create regexp to parse jazz scm checkout output. This shouldn't happen. Something is probably wrong with the oro installation.",
-                ex );
-        }
     }
 
     /**
@@ -82,9 +66,10 @@ public class JazzCheckOutConsumer
         // Examples:
         // Downloading /checkout-test/src/emptyFile.txt (0 B)
         // Downloading /checkout-test/src/folder with spaces/file with spaces.java (24.0 KB)
-        if ( downloadRegexp.match( line ) )
+        Matcher matcher = DOWNLOAD_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
-            fCheckedOutFiles.add( new ScmFile( downloadRegexp.getParen( 1 ), ScmFileStatus.CHECKED_OUT ) );
+            fCheckedOutFiles.add( new ScmFile( matcher.group( 1 ), ScmFileStatus.CHECKED_OUT ) );
         }
     }
 

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/c0efaf5e/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusConsumer.java b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusConsumer.java
index 89a4e27..b0ed02f 100644
--- a/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/status/JazzStatusConsumer.java
@@ -25,11 +25,11 @@ import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.jazz.command.consumer.AbstractRepositoryConsumer;
 import org.apache.maven.scm.provider.jazz.repository.JazzScmProviderRepository;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * Consume the output of the scm command for the "status" operation.
@@ -68,37 +68,17 @@ public class JazzStatusConsumer
 
     //  Workspace: (1000) "BogusRepositoryWorkspace" <-> (1000) "BogusRepositoryWorkspace"
     //  Workspace: (1156) "GPDBWorkspace" <-> (1157) "GPDBStream"
-    private static final String WORKSPACE_PATTERN = "\\((\\d+)\\) \"(.*)\" <-> \\((\\d+)\\) \"(.*)\"";
-
-    /**
-     * @see #WORKSPACE_PATTERN
-     */
-    private RE workspaceRegExp;
+    private static final Pattern WORKSPACE_PATTERN = Pattern.compile( "\\((\\d+)\\) \"(.*)\" <-> \\((\\d+)\\) \"(.*)\"" );
 
     //  Component: (1001) "BogusComponent"
-    private static final String COMPONENT_PATTERN1 = "\\((\\d+)\\) \"(.*)\"";
-
-    /**
-     * @see #COMPONENT_PATTERN1
-     */
-    private RE componentRegExp1;
+    private static final Pattern COMPONENT_PATTERN1 = Pattern.compile( "\\((\\d+)\\) \"(.*)\"" );
 
     //  Component: (1158) "GPDB" <-> (1157) "GPDBStream"
     //  Component: (1002) "FireDragon" <-> (1005) "MavenR3Stream Workspace" (outgoing addition)
-    private static final String COMPONENT_PATTERN2 = "\\((\\d+)\\) \"(.*)\" <.*>";
-
-    /**
-     * @see #COMPONENT_PATTERN2
-     */
-    private RE componentRegExp2;
+    private static final Pattern COMPONENT_PATTERN2 = Pattern.compile( "\\((\\d+)\\) \"(.*)\" <.*>" );
 
     //  Baseline: (1128) 27 "BogusTestJazz-3.0.0.40"
-    private static final String BASELINE_PATTERN = "\\((\\d+)\\) (\\d+) \"(.*)\"";
-
-    /**
-     * @see #BASELINE_PATTERN
-     */
-    private RE baselineRegExp;
+    private static final Pattern BASELINE_PATTERN = Pattern.compile( "\\((\\d+)\\) (\\d+) \"(.*)\"" );
 
     // Additional data we collect. (eye catchers)
 
@@ -154,20 +134,6 @@ public class JazzStatusConsumer
     public JazzStatusConsumer( ScmProviderRepository repo, ScmLogger logger )
     {
         super( repo, logger );
-
-        try
-        {
-            workspaceRegExp = new RE( WORKSPACE_PATTERN );
-            componentRegExp1 = new RE( COMPONENT_PATTERN1 );
-            componentRegExp2 = new RE( COMPONENT_PATTERN2 );
-            baselineRegExp = new RE( BASELINE_PATTERN );
-        }
-        catch ( RESyntaxException ex )
-        {
-            throw new RuntimeException(
-                "INTERNAL ERROR: Could not create regexp to parse jazz scm status output. This shouldn't happen. Something is probably wrong with the oro installation.",
-                ex );
-        }
     }
 
     /**
@@ -209,14 +175,15 @@ public class JazzStatusConsumer
         // With a stream:
         //   Workspace: (1156) "GPDBWorkspace" <-> (1157) "GPDBStream"
 
-        if ( workspaceRegExp.match( line ) )
+        Matcher matcher = WORKSPACE_PATTERN.matcher( line );
+        if ( matcher.find() )
         {
             JazzScmProviderRepository jazzRepository = (JazzScmProviderRepository) getRepository();
 
-            int workspaceAlias = Integer.parseInt( workspaceRegExp.getParen( 1 ) );
-            String workspace = workspaceRegExp.getParen( 2 );
-            int streamAlias = Integer.parseInt( workspaceRegExp.getParen( 3 ) );
-            String stream = workspaceRegExp.getParen( 4 );
+            int workspaceAlias = Integer.parseInt( matcher.group( 1 ) );
+            String workspace = matcher.group( 2 );
+            int streamAlias = Integer.parseInt( matcher.group( 3 ) );
+            String stream = matcher.group( 4 );
             if ( getLogger().isDebugEnabled() )
             {
                 getLogger().debug( "Successfully parsed \"Workspace:\" line:" );
@@ -246,12 +213,13 @@ public class JazzStatusConsumer
         // With some additional information:
         //     Component: (1002) "FireDragon" <-> (1005) "MavenR3Stream Workspace" (outgoing addition)
 
-        if ( componentRegExp1.match( line ) )
+        Matcher matcher = COMPONENT_PATTERN1.matcher( line );
+        if ( matcher.find() )
         {
             //     Component: (1001) "BogusComponent"
             JazzScmProviderRepository jazzRepository = (JazzScmProviderRepository) getRepository();
-            int componentAlias = Integer.parseInt( componentRegExp1.getParen( 1 ) );
-            String component = componentRegExp1.getParen( 2 );
+            int componentAlias = Integer.parseInt( matcher.group( 1 ) );
+            String component = matcher.group( 2 );
             if ( getLogger().isDebugEnabled() )
             {
                 getLogger().debug( "Successfully parsed \"Component:\" line:" );
@@ -261,12 +229,13 @@ public class JazzStatusConsumer
             jazzRepository.setComponent( component );
         }
 
-        if ( componentRegExp2.match( line ) )
+        matcher = COMPONENT_PATTERN2.matcher( line );
+        if ( matcher.find() )
         {
             //     Component: (1158) "GPDB" <-> (1157) "GPDBStream"
             JazzScmProviderRepository jazzRepository = (JazzScmProviderRepository) getRepository();
-            int componentAlias = Integer.parseInt( componentRegExp2.getParen( 1 ) );
-            String component = componentRegExp2.getParen( 2 );
+            int componentAlias = Integer.parseInt( matcher.group( 1 ) );
+            String component = matcher.group( 2 );
             if ( getLogger().isDebugEnabled() )
             {
                 getLogger().debug( "Successfully parsed \"Component:\" line:" );
@@ -286,13 +255,14 @@ public class JazzStatusConsumer
     {
         // Baseline: (1128) 27 "BogusTestJazz-3.0.0.40"
 
-        if ( baselineRegExp.match( line ) )
+        Matcher matcher = BASELINE_PATTERN.matcher( line );
+        if ( matcher.find() )
         {
             JazzScmProviderRepository jazzRepository = (JazzScmProviderRepository) getRepository();
 
-            int baselineAlias = Integer.parseInt( baselineRegExp.getParen( 1 ) );
-            int baselineId = Integer.parseInt( baselineRegExp.getParen( 2 ) );
-            String baseline = baselineRegExp.getParen( 3 );
+            int baselineAlias = Integer.parseInt( matcher.group( 1 ) );
+            int baselineId = Integer.parseInt( matcher.group( 2 ) );
+            String baseline = matcher.group( 3 );
             if ( getLogger().isDebugEnabled() )
             {
                 getLogger().debug( "Successfully parsed \"Baseline:\" line:" );


[2/8] git commit: Replace jakarta-regexp with java.util.regexp for maven-scm-providers-git

Posted by hb...@apache.org.
Replace jakarta-regexp with java.util.regexp for maven-scm-providers-git


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

Branch: refs/heads/master
Commit: 5e8173de60478ca8138bd96b90b01331fa11c708
Parents: fb3714c
Author: Emmanuel Bourg <eb...@apache.org>
Authored: Mon Feb 24 17:49:44 2014 +0100
Committer: Emmanuel Bourg <eb...@apache.org>
Committed: Mon Feb 24 17:49:44 2014 +0100

----------------------------------------------------------------------
 .../maven-scm-provider-git-commons/pom.xml      |   7 -
 .../git/command/diff/GitDiffConsumer.java       |  27 +---
 .../maven-scm-provider-gitexe/pom.xml           |   4 -
 .../command/changelog/GitChangeLogConsumer.java | 128 ++++++-------------
 .../remoteinfo/GitRemoteInfoConsumer.java       |  36 ++----
 .../command/remove/GitRemoveConsumer.java       |  26 +---
 .../command/status/GitStatusConsumer.java       |  22 ++--
 .../GitLatestRevisionCommandConsumer.java       |  32 ++---
 .../changelog/GitChangeLogConsumerTest.java     |  14 +-
 .../maven-scm-provider-jgit/pom.xml             |   5 -
 10 files changed, 88 insertions(+), 213 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
index 743e1a6..9746e4c 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
@@ -33,13 +33,6 @@
   <name>Maven SCM Git Provider - Common library</name>
   <description>Common library for SCM Git Provider.</description>
 
-  <dependencies>
-    <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
-  </dependencies>
-
   <build>
     <plugins>
       <plugin>

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
index b24dce0..c1105bb 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
@@ -22,8 +22,6 @@ package org.apache.maven.scm.provider.git.command.diff;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.log.ScmLogger;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 import java.io.File;
@@ -31,6 +29,8 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
@@ -56,7 +56,7 @@ public class GitDiffConsumer
      * paren.1 matches the first file
      * paren.2 matches the 2nd file
      */
-    private static final String DIFF_FILES_PATTERN = "^diff --git\\sa/(.*)\\sb/(.*)";
+    private static final Pattern DIFF_FILES_PATTERN = Pattern.compile( "^diff --git\\sa/(.*)\\sb/(.*)" );
 
     private static final String START_REVISION_TOKEN = "---";
 
@@ -90,11 +90,6 @@ public class GitDiffConsumer
 
     private StringBuilder patch = new StringBuilder();
 
-    /**
-     * @see #DIFF_FILES_PATTERN
-     */
-    private RE filesRegexp;
-
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
@@ -102,17 +97,6 @@ public class GitDiffConsumer
     public GitDiffConsumer( ScmLogger logger, File workingDirectory )
     {
         this.logger = logger;
-        try
-        {
-            filesRegexp = new RE( DIFF_FILES_PATTERN );
-        }
-        catch ( RESyntaxException ex )
-        {
-            throw new RuntimeException(
-                                        "INTERNAL ERROR: Could not create regexp to parse git log file. Something is probably wrong with the oro installation.",
-                                        ex );
-        }
-
     }
 
     // ----------------------------------------------------------------------
@@ -122,10 +106,11 @@ public class GitDiffConsumer
     /** {@inheritDoc} */
     public void consumeLine( String line )
     {
-        if ( filesRegexp.match( line ) )
+        Matcher matcher = DIFF_FILES_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
             // start a new file
-            currentFile = filesRegexp.getParen( 1 );
+            currentFile = matcher.group( 1 );
 
             changedFiles.add( new ScmFile( currentFile, ScmFileStatus.MODIFIED ) );
 

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
index 2e2d913..1fb3728 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
@@ -35,10 +35,6 @@
 
   <dependencies>
     <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
-    <dependency>
       <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
     </dependency>

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
index af38e0c..607a3f3 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
@@ -24,8 +24,6 @@ import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmFileStatus;
 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.util.ArrayList;
 import java.util.Calendar;
@@ -33,6 +31,8 @@ import java.util.Date;
 import java.util.List;
 import java.util.Locale;
 import java.util.TimeZone;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
@@ -96,43 +96,43 @@ public class GitChangeLogConsumer
     /**
      * The pattern used to match git header lines
      */
-    private static final String HEADER_PATTERN = "^commit (.*)";
+    private static final Pattern HEADER_PATTERN = Pattern.compile( "^commit (.*)" );
 
     /**
      * The pattern used to match git author lines
      */
-    private static final String AUTHOR_PATTERN = "^Author: (.*)";
+    private static final Pattern AUTHOR_PATTERN = Pattern.compile( "^Author: (.*)" );
 
     /**
      * The pattern used to match git tree hash lines (raw mode)
      */
-    private static final String RAW_TREE_PATTERN = "^tree ([:xdigit:]+)";
+    private static final Pattern RAW_TREE_PATTERN = Pattern.compile( "^tree ([A-Fa-f0-9]+)" ); 
 
     /**
      * The pattern used to match git parent hash lines (raw mode)
      */
-    private static final String RAW_PARENT_PATTERN = "^parent ([:xdigit:]+)";
+    private static final Pattern RAW_PARENT_PATTERN = Pattern.compile( "^parent ([A-Fa-f0-9]+)" );
 
     /**
      * The pattern used to match git author lines (raw mode)
      */
-    private static final String RAW_AUTHOR_PATTERN = "^author (.+ <.+>) ([:digit:]+) (.*)";
+    private static final Pattern RAW_AUTHOR_PATTERN = Pattern.compile( "^author (.+ <.+>) ([0-9]+) (.*)" );
 
     /**
      * The pattern used to match git author lines (raw mode)
      */
-    private static final String RAW_COMMITTER_PATTERN = "^committer (.+ <.+>) ([:digit:]+) (.*)";
+    private static final Pattern RAW_COMMITTER_PATTERN = Pattern.compile( "^committer (.+ <.+>) ([0-9]+) (.*)" );
 
     /**
      * The pattern used to match git date lines
      */
-    private static final String DATE_PATTERN = "^Date:\\s*(.*)";
+    private static final Pattern DATE_PATTERN = Pattern.compile( "^Date:\\s*(.*)" );
 
     /**
      * The pattern used to match git file lines
      */
-    private static final String FILE_PATTERN =
-        "^:\\d* \\d* [:xdigit:]*\\.* [:xdigit:]*\\.* ([:upper:])[:digit:]*\\t([^\\t]*)(\\t(.*))?";
+    private static final Pattern FILE_PATTERN =
+        Pattern.compile( "^:\\d* \\d* [A-Fa-f0-9]*\\.* [A-Fa-f0-9]*\\.* ([A-Z])[0-9]*\\t([^\\t]*)(\\t(.*))?" );
 
     /**
      * Current status of the parser
@@ -159,46 +159,6 @@ public class GitChangeLogConsumer
      */
     private StringBuilder currentComment;
 
-    /**
-     * The regular expression used to match header lines
-     */
-    private RE headerRegexp;
-
-    /**
-     * The regular expression used to match author lines
-     */
-    private RE authorRegexp;
-
-    /**
-     * The regular expression used to match tree hash lines in raw mode
-     */
-    private RE rawTreeRegexp;
-
-    /**
-     * The regular expression used to match parent hash lines in raw mode
-     */
-    private RE rawParentRegexp;
-
-    /**
-     * The regular expression used to match author lines in raw mode
-     */
-    private RE rawAuthorRegexp;
-
-    /**
-     * The regular expression used to match committer lines in raw mode
-     */
-    private RE rawCommitterRegexp;
-
-    /**
-     * The regular expression used to match date lines
-     */
-    private RE dateRegexp;
-
-    /**
-     * The regular expression used to match file lines
-     */
-    private RE fileRegexp;
-
     private String userDateFormat;
 
     /**
@@ -209,24 +169,6 @@ public class GitChangeLogConsumer
         super( logger );
 
         this.userDateFormat = userDateFormat;
-
-        try
-        {
-            headerRegexp = new RE( HEADER_PATTERN );
-            authorRegexp = new RE( AUTHOR_PATTERN );
-            dateRegexp = new RE( DATE_PATTERN );
-            fileRegexp = new RE( FILE_PATTERN );
-            rawTreeRegexp = new RE( RAW_TREE_PATTERN );
-            rawParentRegexp = new RE( RAW_PARENT_PATTERN );
-            rawAuthorRegexp = new RE( RAW_AUTHOR_PATTERN );
-            rawCommitterRegexp = new RE( RAW_COMMITTER_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 );
-        }
     }
 
     public List<ChangeSet> getModifications()
@@ -295,12 +237,13 @@ public class GitChangeLogConsumer
      */
     private void processGetHeader( String line )
     {
-        if ( !headerRegexp.match( line ) )
+        Matcher matcher = HEADER_PATTERN.matcher( line );
+        if ( !matcher.matches() )
         {
             return;
         }
 
-        currentRevision = headerRegexp.getParen( 1 );
+        currentRevision = matcher.group( 1 );
 
         currentChange = new ChangeSet();
 
@@ -318,18 +261,19 @@ public class GitChangeLogConsumer
     private void processGetAuthor( String line )
     {
         // this autodetects 'raw' format
-        if ( rawTreeRegexp.match( line ) )
+        if ( RAW_TREE_PATTERN.matcher( line ).matches() )
         {
             status = STATUS_RAW_TREE;
             processGetRawTree( line );
             return;
         }
 
-        if ( !authorRegexp.match( line ) )
+        Matcher matcher = AUTHOR_PATTERN.matcher( line );
+        if ( !matcher.matches() )
         {
             return;
         }
-        String author = authorRegexp.getParen( 1 );
+        String author = matcher.group( 1 );
 
         currentChange.setAuthor( author );
 
@@ -344,11 +288,11 @@ public class GitChangeLogConsumer
      */
     private void processGetRawTree( String line )
     {
-        if ( !rawTreeRegexp.match( line ) )
+        if ( !RAW_TREE_PATTERN.matcher( line ).matches() )
         {
             return;
         }
-        //here we could set treeHash if it appears in the model: currentChange.setTreeHash( rawTreeRegexp.getParen( 1 ) );
+        //here we could set treeHash if it appears in the model: currentChange.setTreeHash( matcher.group( 1 ) );
         status = STATUS_RAW_PARENT;
     }
 
@@ -360,13 +304,14 @@ public class GitChangeLogConsumer
      */
     private void processGetRawParent( String line )
     {
-        if ( !rawParentRegexp.match( line ) )
+        Matcher matcher = RAW_PARENT_PATTERN.matcher( line );
+        if ( !matcher.matches() )
         {
             status = STATUS_RAW_AUTHOR;
             processGetRawAuthor( line );
             return;
         }
-        String parentHash = rawParentRegexp.getParen( 1 );
+        String parentHash = matcher.group( 1 );
 
         addParentRevision( parentHash );
     }
@@ -397,15 +342,16 @@ public class GitChangeLogConsumer
      */
     private void processGetRawAuthor( String line )
     {
-        if ( !rawAuthorRegexp.match( line ) )
+        Matcher matcher = RAW_AUTHOR_PATTERN.matcher( line );
+        if ( !matcher.matches() )
         {
             return;
         }
-        String author = rawAuthorRegexp.getParen( 1 );
+        String author = matcher.group( 1 );
         currentChange.setAuthor( author );
 
-        String datestring = rawAuthorRegexp.getParen( 2 );
-        String tz = rawAuthorRegexp.getParen( 3 );
+        String datestring = matcher.group( 2 );
+        String tz = matcher.group( 3 );
 
         // with --format=raw option (which gets us to this methods), date is always in seconds since beginning of time
         // even explicit --date=iso is ignored, so we ignore both userDateFormat and GIT_TIMESTAMP_PATTERN here
@@ -424,7 +370,7 @@ public class GitChangeLogConsumer
      */
     private void processGetRawCommitter( String line )
     {
-        if ( !rawCommitterRegexp.match( line ) )
+        if ( !RAW_COMMITTER_PATTERN.matcher( line ).matches() )
         {
             return;
         }
@@ -440,12 +386,13 @@ public class GitChangeLogConsumer
      */
     private void processGetDate( String line, Locale locale )
     {
-        if ( !dateRegexp.match( line ) )
+        Matcher matcher = DATE_PATTERN.matcher( line );
+        if ( !matcher.matches() )
         {
             return;
         }
 
-        String datestring = dateRegexp.getParen( 1 );
+        String datestring = matcher.group( 1 );
 
         Date date = parseDate( datestring.trim(), userDateFormat, GIT_TIMESTAMP_PATTERN, locale );
 
@@ -508,14 +455,15 @@ public class GitChangeLogConsumer
         }
         else
         {
-            if ( !fileRegexp.match( line ) )
+            Matcher matcher = FILE_PATTERN.matcher( line );
+            if ( !matcher.matches() )
             {
                 return;
             }
-            final String actionChar = fileRegexp.getParen( 1 );
+            final String actionChar = matcher.group( 1 );
             // action is currently not used
             final ScmFileStatus action;
-            String name = fileRegexp.getParen( 2 );
+            String name = matcher.group( 2 );
             String originalName = null;
             String originalRevision = null;
             if ( "A".equals( actionChar ) )
@@ -534,14 +482,14 @@ public class GitChangeLogConsumer
             {
                 action = ScmFileStatus.RENAMED;
                 originalName = name;
-                name = fileRegexp.getParen( 4 );
+                name = matcher.group( 4 );
                 originalRevision = currentChange.getParentRevision();
             }
             else if ( "C".equals( actionChar ) )
             {
                 action = ScmFileStatus.COPIED;
                 originalName = name;
-                name = fileRegexp.getParen( 4 );
+                name = matcher.group( 4 );
                 originalRevision = currentChange.getParentRevision();
             }
             else

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java
index 36db6ea..b3d022c 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java
@@ -21,11 +21,11 @@ package org.apache.maven.scm.provider.git.gitexe.command.remoteinfo;
 
 import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult;
 import org.apache.maven.scm.log.ScmLogger;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 import java.util.HashMap;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author Bertrand Paquet
@@ -37,21 +37,17 @@ public class GitRemoteInfoConsumer
     /**
      * The pattern used to match branches
      */
-    private static final String BRANCH_PATTERN = "^(.*)\\s+refs/heads/(.*)";
+    private static final Pattern BRANCH_PATTERN = Pattern.compile( "^(.*)\\s+refs/heads/(.*)" );
 
     /**
      * The pattern used to match tags
      */
-    private static final String TAGS_PATTERN = "^(.*)\\s+refs/tags/(.*)";
+    private static final Pattern TAGS_PATTERN = Pattern.compile( "^(.*)\\s+refs/tags/(.*)" );
 
     private ScmLogger logger;
 
     private RemoteInfoScmResult remoteInfoScmResult;
 
-    private RE branchRegexp;
-
-    private RE tagRegexp;
-
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
@@ -61,18 +57,6 @@ public class GitRemoteInfoConsumer
         this.logger = logger;
         this.remoteInfoScmResult =
             new RemoteInfoScmResult( commandLine, new HashMap<String, String>(), new HashMap<String, String>() );
-
-        try
-        {
-            this.branchRegexp = new RE( BRANCH_PATTERN );
-            this.tagRegexp = new RE( TAGS_PATTERN );
-        }
-        catch ( RESyntaxException ex )
-        {
-            throw new RuntimeException(
-                "INTERNAL ERROR: Could not create regexp to parse git ls-remote file. This shouldn't happen. Something is probably wrong with the oro installation.",
-                ex );
-        }
     }
 
     // ----------------------------------------------------------------------
@@ -88,13 +72,17 @@ public class GitRemoteInfoConsumer
         {
             logger.debug( line );
         }
-        if ( branchRegexp.match( line ) )
+        
+        Matcher matcher = BRANCH_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
-            remoteInfoScmResult.getBranches().put( branchRegexp.getParen( 2 ), branchRegexp.getParen( 1 ) );
+            remoteInfoScmResult.getBranches().put( matcher.group( 2 ), matcher.group( 1 ) );
         }
-        if ( tagRegexp.match( line ) )
+        
+        matcher = TAGS_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
-            remoteInfoScmResult.getTags().put( tagRegexp.getParen( 2 ), tagRegexp.getParen( 1 ) );
+            remoteInfoScmResult.getTags().put( matcher.group( 2 ), matcher.group( 1 ) );
         }
 
     }

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
index 012f9fc..730a5aa 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
@@ -22,12 +22,12 @@ package org.apache.maven.scm.provider.git.gitexe.command.remove;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.log.ScmLogger;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
@@ -40,17 +40,12 @@ public class GitRemoveConsumer
     /**
      * The pattern used to match deleted file lines
      */
-    private static final String REMOVED_PATTERN = "^rm\\s'(.*)'";
+    private static final Pattern REMOVED_PATTERN = Pattern.compile( "^rm\\s'(.*)'" );
 
     private ScmLogger logger;
 
     private List<ScmFile> removedFiles = new ArrayList<ScmFile>();
 
-    /**
-     * @see #REMOVED_PATTERN
-     */
-    private RE removedRegexp;
-
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
@@ -58,16 +53,6 @@ public class GitRemoveConsumer
     public GitRemoveConsumer( ScmLogger logger )
     {
         this.logger = logger;
-        try
-        {
-            removedRegexp = new RE( REMOVED_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 );
-        }
     }
 
     // ----------------------------------------------------------------------
@@ -84,9 +69,10 @@ public class GitRemoveConsumer
             return;
         }
 
-        if ( removedRegexp.match( line ) )
+        Matcher matcher = REMOVED_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
-            String file = removedRegexp.getParen( 1 );
+            String file = matcher.group( 1 );
             removedFiles.add( new ScmFile( file, ScmFileStatus.DELETED ) );
         }
         else

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
index b0ac43a..2259223 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
@@ -42,22 +42,22 @@ public class GitStatusConsumer
     /**
      * The pattern used to match added file lines
      */
-    private static final Pattern addedRegexp = Pattern.compile( "^A[ M]* (.*)$" );
+    private static final Pattern ADDED_PATTERN = Pattern.compile( "^A[ M]* (.*)$" );
 
     /**
      * The pattern used to match modified file lines
      */
-    private static final Pattern modifiedRegexp = Pattern.compile( "^ *M[ M]* (.*)$" );
+    private static final Pattern MODIFIED_PATTERN = Pattern.compile( "^ *M[ M]* (.*)$" );
 
     /**
      * The pattern used to match deleted file lines
      */
-    private Pattern deletedRegexp = Pattern.compile( "^ *D * (.*)$" );
+    private static final Pattern DELETED_PATTERN = Pattern.compile( "^ *D * (.*)$" );
 
     /**
      * The pattern used to match renamed file lines
      */
-    private Pattern renamedRegexp = Pattern.compile( "^R  (.*) -> (.*)$" );
+    private static final Pattern RENAMED_PATTERN = Pattern.compile( "^R  (.*) -> (.*)$" );
 
     private ScmLogger logger;
 
@@ -127,22 +127,22 @@ public class GitStatusConsumer
         List<String> files = new ArrayList<String>();
         
         Matcher matcher;
-        if ( ( matcher = addedRegexp.matcher( line ) ).find() )
+        if ( ( matcher = ADDED_PATTERN.matcher( line ) ).find() )
         {
             status = ScmFileStatus.ADDED;
-            files.add( resolvePath( matcher.group( 1 ), relativeRepositoryPath ) );
+            files.add(resolvePath(matcher.group(1), relativeRepositoryPath));
         }
-        else if ( ( matcher = modifiedRegexp.matcher( line ) ).find() )
+        else if ( ( matcher = MODIFIED_PATTERN.matcher( line ) ).find() )
         {
             status = ScmFileStatus.MODIFIED;
-            files.add( resolvePath( matcher.group( 1 ), relativeRepositoryPath ) );
+            files.add(resolvePath(matcher.group(1), relativeRepositoryPath));
         }
-        else if ( ( matcher = deletedRegexp.matcher( line ) ) .find() )
+        else if ( ( matcher = DELETED_PATTERN.matcher( line ) ) .find() )
         {
             status = ScmFileStatus.DELETED;
-            files.add( resolvePath( matcher.group( 1 ), relativeRepositoryPath ) );
+            files.add(resolvePath(matcher.group(1), relativeRepositoryPath));
         }
-        else if ( ( matcher = renamedRegexp.matcher( line ) ).find() )
+        else if ( ( matcher = RENAMED_PATTERN.matcher( line ) ).find() )
         {
             status = ScmFileStatus.RENAMED;
             files.add( resolvePath( matcher.group( 1 ), relativeRepositoryPath ) );

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java
index 186cc81..df222f8 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java
@@ -21,10 +21,11 @@ package org.apache.maven.scm.provider.git.gitexe.command.update;
 
 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 org.codehaus.plexus.util.StringUtils;
 
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  *
@@ -36,30 +37,13 @@ public class GitLatestRevisionCommandConsumer
     /**
      * The pattern used to match git log latest revision lines
      */
-    private static final String LATESTREV_PATTERN = "^commit \\s*(.*)";
-
-    /**
-     * The regular expression used to match git log latest revision lines
-     */
-    private RE latestRevRegexp;
+    private static final Pattern LATESTREV_PATTERN = Pattern.compile( "^commit \\s*(.*)" );
 
     private String latestRevision;
 
     public GitLatestRevisionCommandConsumer( ScmLogger logger )
     {
         super( logger );
-
-        try
-        {
-            latestRevRegexp = new RE( LATESTREV_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 );
-        }
-
     }
 
     /** {@inheritDoc} */
@@ -89,12 +73,12 @@ public class GitLatestRevisionCommandConsumer
      */
     private void processGetLatestRevision( String line )
     {
-        if ( !latestRevRegexp.match( line ) )
+        Matcher matcher = LATESTREV_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
-            return;
-        }
+            latestRevision = matcher.group( 1 );
 
-        latestRevision = latestRevRegexp.getParen( 1 );
+        }
     }
 
 }

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
index 95f0c28..c8365bf 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
@@ -23,7 +23,6 @@ import org.apache.maven.scm.ChangeFile;
 import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.log.DefaultLog;
-import org.apache.regexp.RE;
 import org.codehaus.plexus.PlexusTestCase;
 import org.junit.Assert;
 
@@ -37,6 +36,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.TimeZone;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
@@ -50,12 +51,11 @@ public class GitChangeLogConsumerTest
     {
         //was  Date:   Tue Nov 27 16:16:28 2007 +0100
         //iso  Date:   2007-11-24 01:13:10 +0100
-        RE dateRegexp = new RE( "^Date:\\s*(.*)" );//new RE( "^Date:\\s*\\w-1\\w-1\\w-1\\s(.*)" );
-
-        boolean match = dateRegexp.match( "Date:   2007-11-24 01:13:10 +0100" );
-        String datestring = dateRegexp.getParen( 1 );
-        assertEquals( "2007-11-24 01:13:10 +0100", datestring );
-        assertTrue( match );
+        Pattern datePattern = Pattern.compile( "^Date:\\s*(.*)" );//new RE( "^Date:\\s*\\w-1\\w-1\\w-1\\s(.*)" );
+        Matcher matcher = datePattern.matcher( "Date:   2007-11-24 01:13:10 +0100" );
+        
+        assertTrue( matcher.matches() );
+        assertEquals("2007-11-24 01:13:10 +0100", matcher.group( 1 ));
 
         GitChangeLogConsumer consumer = new GitChangeLogConsumer( new DefaultLog(), null );
 

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
index 41591a6..b14a9d7 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
@@ -36,11 +36,6 @@
   </description>
 
   <dependencies>
-    <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
-
     <!-- Test -->
     <dependency>
       <groupId>org.apache.maven.scm</groupId>


[3/8] git commit: Replace jakarta-regexp with java.util.regexp for maven-scm-provider-tfs

Posted by hb...@apache.org.
Replace jakarta-regexp with java.util.regexp for maven-scm-provider-tfs


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

Branch: refs/heads/master
Commit: 714c6b89afc51d46f03ee29f5c94503a638953ee
Parents: 5e8173d
Author: Emmanuel Bourg <eb...@apache.org>
Authored: Mon Feb 24 17:54:27 2014 +0100
Committer: Emmanuel Bourg <eb...@apache.org>
Committed: Mon Feb 24 17:54:27 2014 +0100

----------------------------------------------------------------------
 .../maven-scm-provider-tfs/pom.xml              |  7 -------
 .../tfs/command/blame/TfsBlameConsumer.java     | 20 ++++++++------------
 2 files changed, 8 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/714c6b89/maven-scm-providers/maven-scm-provider-tfs/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-tfs/pom.xml b/maven-scm-providers/maven-scm-provider-tfs/pom.xml
index d3c2e99..a61cb51 100644
--- a/maven-scm-providers/maven-scm-provider-tfs/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-tfs/pom.xml
@@ -61,13 +61,6 @@
     </developer>
   </developers>
 
-  <dependencies>
-    <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
-  </dependencies>
-
   <build>
     <plugins>
       <plugin>

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/714c6b89/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/blame/TfsBlameConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/blame/TfsBlameConsumer.java b/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/blame/TfsBlameConsumer.java
index 1b911d8..a6a0380 100644
--- a/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/blame/TfsBlameConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/blame/TfsBlameConsumer.java
@@ -22,11 +22,12 @@ package org.apache.maven.scm.provider.tfs.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 java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author Evgeny Mandrikov
@@ -40,28 +41,23 @@ public class TfsBlameConsumer
     /* 3 username 3/13/2006 line */
     // TODO simplify
 
-    private static final String LINE_PATTERN = "([^ ]+)[ ]+([^ ]+)[ ]+([^ ]+)";
-
-    /**
-     * @see #LINE_PATTERN
-     */
-    private RE lineRegexp;
+    private static final Pattern LINE_PATTERN = Pattern.compile( "([^ ]+)[ ]+([^ ]+)[ ]+([^ ]+)" );
 
     private List<BlameLine> lines = new ArrayList<BlameLine>();
 
     public TfsBlameConsumer( ScmLogger logger )
     {
         super( logger );
-        lineRegexp = new RE( LINE_PATTERN );
     }
 
     public void consumeLine( String line )
     {
-        if ( lineRegexp.match( line ) )
+        Matcher matcher = LINE_PATTERN.matcher( line );
+        if ( matcher.find() )
         {
-            String revision = lineRegexp.getParen( 1 ).trim();
-            String author = lineRegexp.getParen( 2 ).trim();
-            String dateStr = lineRegexp.getParen( 3 ).trim();
+            String revision = matcher.group( 1 ).trim();
+            String author = matcher.group( 2 ).trim();
+            String dateStr = matcher.group( 3 ).trim();
 
             Date date = parseDate( dateStr, null, TFS_TIMESTAMP_PATTERN );
 


[7/8] git commit: Replace jakarta-regexp with java.util.regexp for maven-scm-provider-perforce

Posted by hb...@apache.org.
Replace jakarta-regexp with java.util.regexp for maven-scm-provider-perforce


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

Branch: refs/heads/master
Commit: 093ca18ec31072a526981bc9f98d535d4c9fc39e
Parents: c0efaf5
Author: Emmanuel Bourg <eb...@apache.org>
Authored: Mon Feb 24 22:19:12 2014 +0100
Committer: Emmanuel Bourg <eb...@apache.org>
Committed: Mon Feb 24 22:19:12 2014 +0100

----------------------------------------------------------------------
 .../maven-scm-provider-perforce/pom.xml         |  7 ---
 .../command/add/PerforceAddConsumer.java        | 25 +++-------
 .../command/blame/PerforceBlameConsumer.java    | 16 +++----
 .../command/blame/PerforceFilelogConsumer.java  | 17 ++++---
 .../changelog/PerforceChangeLogConsumer.java    | 38 +++++----------
 .../changelog/PerforceChangesConsumer.java      | 27 +++--------
 .../changelog/PerforceDescribeConsumer.java     | 50 +++++++-------------
 .../checkin/PerforceCheckInConsumer.java        | 37 +++++----------
 .../checkout/PerforceCheckOutCommand.java       | 10 ++--
 .../checkout/PerforceCheckOutConsumer.java      | 12 +++--
 .../command/edit/PerforceEditConsumer.java      | 25 +++-------
 .../command/login/PerforceLoginConsumer.java    |  7 +--
 .../command/remove/PerforceRemoveConsumer.java  | 25 +++-------
 .../command/status/PerforceStatusCommand.java   | 12 +++--
 .../command/tag/PerforceTagConsumer.java        | 29 ++++--------
 .../command/unedit/PerforceUnEditConsumer.java  | 25 +++-------
 .../command/update/PerforceHaveConsumer.java    | 28 ++++-------
 17 files changed, 127 insertions(+), 263 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/pom.xml b/maven-scm-providers/maven-scm-provider-perforce/pom.xml
index 7eb6e5d..f87051e 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-perforce/pom.xml
@@ -33,13 +33,6 @@
   <name>Maven SCM Perforce Provider</name>
   <description>SCM Provider implementation for Perforce (http://www.perforce.com/).</description>
 
-  <dependencies>
-    <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
-  </dependencies>
-
   <build>
     <plugins>
       <plugin>

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumer.java
index 31ed10e..be5575b 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumer.java
@@ -21,11 +21,11 @@ package org.apache.maven.scm.provider.perforce.command.add;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 /**
@@ -37,26 +37,12 @@ public class PerforceAddConsumer
     implements StreamConsumer
 {
 
-    private static final String PATTERN = "^([^#]+)#(\\d+) - (.*)";
+    private static final Pattern PATTERN = Pattern.compile( "^([^#]+)#(\\d+) - (.*)" );
 
     private static final String FILE_BEGIN_TOKEN = "//";
 
     private List<ScmFile> additions = new ArrayList<ScmFile>();
 
-    private RE revisionRegexp;
-
-    public PerforceAddConsumer()
-    {
-        try
-        {
-            revisionRegexp = new RE( PATTERN );
-        }
-        catch ( RESyntaxException ignored )
-        {
-            ignored.printStackTrace();
-        }
-    }
-
     public List<ScmFile> getAdditions()
     {
         return additions;
@@ -77,11 +63,12 @@ public class PerforceAddConsumer
             throw new IllegalStateException( "Unknown error: " + line );
         }
 
-        if ( !revisionRegexp.match( line ) )
+        Matcher matcher = PATTERN.matcher( line );
+        if ( !matcher.find() )
         {
             throw new IllegalStateException( "Unknown input: " + line );
         }
 
-        additions.add( new ScmFile( revisionRegexp.getParen( 1 ), ScmFileStatus.ADDED ) );
+        additions.add( new ScmFile( matcher.group( 1 ), ScmFileStatus.ADDED ) );
     }
 }

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumer.java
index f2391f2..95825cd 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumer.java
@@ -22,10 +22,11 @@ package org.apache.maven.scm.provider.perforce.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 java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author Evgeny Mandrikov
@@ -37,27 +38,22 @@ public class PerforceBlameConsumer
 {
 
     /* 151: line */
-    private static final String LINE_PATTERN = "(\\d+):";
-
-    /**
-     * @see #LINE_PATTERN
-     */
-    private RE lineRegexp;
+    private static final Pattern LINE_PATTERN = Pattern.compile( "(\\d+):" );
 
     private List<BlameLine> lines = new ArrayList<BlameLine>();
 
     public PerforceBlameConsumer( ScmLogger logger )
     {
         super( logger );
-        lineRegexp = new RE( LINE_PATTERN );
     }
 
     /** {@inheritDoc} */
     public void consumeLine( String line )
     {
-        if ( lineRegexp.match( line ) )
+        Matcher matcher = LINE_PATTERN.matcher( line );
+        if ( matcher.find() )
         {
-            String revision = lineRegexp.getParen( 1 ).trim();
+            String revision = matcher.group( 1 ).trim();
 
             lines.add( new BlameLine( null, revision, null ) );
         }

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java
index dd5b235..ba03b72 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java
@@ -21,11 +21,12 @@ package org.apache.maven.scm.provider.perforce.command.blame;
 
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
-import org.apache.regexp.RE;
 
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author Evgeny Mandrikov
@@ -36,9 +37,7 @@ public class PerforceFilelogConsumer
 {
     private static final String PERFORCE_TIMESTAMP_PATTERN = "yyyy/MM/dd";
 
-    private static final String LINE_PATTERN = "#(\\d+).*on (.*) by (.*)@";
-
-    private RE lineRegexp;
+    private static final Pattern LINE_PATTERN = Pattern.compile( "#(\\d+).*on (.*) by (.*)@" );
 
     private Map<String, Date> dates = new HashMap<String,Date>();
 
@@ -47,17 +46,17 @@ public class PerforceFilelogConsumer
     public PerforceFilelogConsumer( ScmLogger logger )
     {
         super( logger );
-        lineRegexp = new RE( LINE_PATTERN );
     }
 
     /** {@inheritDoc} */
     public void consumeLine( String line )
     {
-        if ( lineRegexp.match( line ) )
+        Matcher matcher = LINE_PATTERN.matcher( line );
+        if ( matcher.find() )
         {
-            String revision = lineRegexp.getParen( 1 );
-            String dateTimeStr = lineRegexp.getParen( 2 );
-            String author = lineRegexp.getParen( 3 );
+            String revision = matcher.group( 1 );
+            String dateTimeStr = matcher.group( 2 );
+            String author = matcher.group( 3 );
 
             Date dateTime = parseDate( dateTimeStr, null, PERFORCE_TIMESTAMP_PATTERN );
 

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogConsumer.java
index 8aefddc..ae66827 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogConsumer.java
@@ -24,14 +24,14 @@ import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmException;
 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.util.ArrayList;
 import java.util.Date;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
@@ -93,21 +93,19 @@ public class PerforceChangeLogConsumer
      */
     private String repoPath;
 
-    /**
-     * The regular expression used to match header lines
-     */
-    private RE revisionRegexp;
-
     private Date startDate;
 
     private Date endDate;
 
     private String userDatePattern;
 
-    private static final String PATTERN = "^\\.\\.\\. #(\\d+) " + // revision number
+    /**
+     * The regular expression used to match header lines
+     */
+    private static final Pattern PATTERN = Pattern.compile( "^\\.\\.\\. #(\\d+) " + // revision number
         "change (\\d+) .* " + // changelist number
         "on (.*) " + // date
-        "by (.*)@"; // author
+        "by (.*)@" ); // author
 
     public PerforceChangeLogConsumer( String path, Date startDate, Date endDate, String userDatePattern,
                                       ScmLogger logger )
@@ -118,18 +116,6 @@ public class PerforceChangeLogConsumer
         this.endDate = endDate;
         this.userDatePattern = userDatePattern;
         this.repoPath = path;
-
-        try
-        {
-            revisionRegexp = new RE( PATTERN );
-        }
-        catch ( RESyntaxException ignored )
-        {
-            if ( getLogger().isErrorEnabled() )
-            {
-                getLogger().error( "Could not create regexp to parse perforce log file", ignored );
-            }
-        }
     }
 
     // ----------------------------------------------------------------------
@@ -243,14 +229,16 @@ public class PerforceChangeLogConsumer
             return;
         }
 
-        if ( !revisionRegexp.match( line ) )
+        Matcher matcher = PATTERN.matcher( line );
+        if ( !matcher.find() )
         {
             return;
         }
 
         currentChange = new ChangeSet();
-        currentChange.setDate( parseDate( revisionRegexp.getParen( 3 ), userDatePattern, PERFORCE_TIMESTAMP_PATTERN ) );
-        currentChange.setAuthor( revisionRegexp.getParen( 4 ) );
+        currentChange.setRevision( matcher.group( 1 ));
+        currentChange.setDate( parseDate( matcher.group( 3 ), userDatePattern, PERFORCE_TIMESTAMP_PATTERN ) );
+        currentChange.setAuthor( matcher.group( 4 ) );
 
         status = GET_COMMENT_BEGIN;
     }
@@ -265,7 +253,7 @@ public class PerforceChangeLogConsumer
     {
         if ( line.equals( COMMENT_DELIMITER ) )
         {
-            addEntry( currentChange, new ChangeFile( currentFile, revisionRegexp.getParen( 1 ) ) );
+            addEntry( currentChange, new ChangeFile( currentFile, currentChange.getRevision() ) );
 
             status = GET_REVISION;
         }

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangesConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangesConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangesConsumer.java
index 769f154..d6e0ceb 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangesConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangesConsumer.java
@@ -22,11 +22,11 @@ package org.apache.maven.scm.provider.perforce.command.changelog;
 import org.apache.maven.scm.ScmException;
 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.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
@@ -41,27 +41,13 @@ public class PerforceChangesConsumer
     /**
      * The regular expression used to match header lines
      */
-    private RE revisionRegexp;
-
-    private static final String PATTERN = "^Change (\\d+) " + // changelist number
+    private static final Pattern PATTERN = Pattern.compile( "^Change (\\d+) " + // changelist number
         "on (.*) " + // date
-        "by (.*)@"; // author
+        "by (.*)@" ); // author
 
     public PerforceChangesConsumer( ScmLogger logger )
     {
         super( logger );
-
-        try
-        {
-            revisionRegexp = new RE( PATTERN );
-        }
-        catch ( RESyntaxException ignored )
-        {
-            if ( getLogger().isErrorEnabled() )
-            {
-                getLogger().error( "Could not create regexp to parse perforce log file", ignored );
-            }
-        }
     }
 
     public List<String> getChanges() throws ScmException
@@ -76,9 +62,10 @@ public class PerforceChangesConsumer
     /** {@inheritDoc} */
     public void consumeLine( String line )
     {
-        if( revisionRegexp.match( line ) )
+        Matcher matcher = PATTERN.matcher( line );
+        if( matcher.find() )
         {
-            entries.add( revisionRegexp.getParen( 1 ) );
+            entries.add( matcher.group( 1 ) );
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceDescribeConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceDescribeConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceDescribeConsumer.java
index dd094cd..a23cbd6 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceDescribeConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceDescribeConsumer.java
@@ -21,14 +21,14 @@ package org.apache.maven.scm.provider.perforce.command.changelog;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.apache.maven.scm.ChangeFile;
 import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 
 /**
  * Parse the tagged output from "p4 describe -s [change] [change] [...]".
@@ -102,9 +102,12 @@ public class PerforceDescribeConsumer
 
     private String userDatePattern;
 
-    private static final String REVISION_PATTERN = "^Change (\\d+) " + // changelist number
+    /**
+     * The regular expression used to match header lines
+     */
+    private static final Pattern REVISION_PATTERN = Pattern.compile( "^Change (\\d+) " + // changelist number
         "by (.*)@[^ ]+ " + // author
-        "on (.*)"; // date
+        "on (.*)" ); // date
     /**
      * The comment section ends with a blank line
      */
@@ -114,17 +117,10 @@ public class PerforceDescribeConsumer
      */
     private static final String CHANGELIST_DELIMITER = "";
 
-    private static final String FILE_PATTERN = "^\\.\\.\\. (.*)#(\\d+) ";
-
-    /**
-     * The regular expression used to match header lines
-     */
-    private RE revisionRegexp;
-
     /**
      * The regular expression used to match file paths
      */
-    private RE fileRegexp;
+    private static final Pattern FILE_PATTERN = Pattern.compile( "^\\.\\.\\. (.*)#(\\d+) " );
 
     public PerforceDescribeConsumer( String repoPath, String userDatePattern, ScmLogger logger )
     {
@@ -132,19 +128,6 @@ public class PerforceDescribeConsumer
 
         this.repoPath = repoPath;
         this.userDatePattern = userDatePattern;
-
-        try
-        {
-            revisionRegexp = new RE( REVISION_PATTERN );
-            fileRegexp = new RE( FILE_PATTERN );
-        }
-        catch ( RESyntaxException ignored )
-        {
-            if ( getLogger().isErrorEnabled() )
-            {
-                getLogger().error( "Could not create regexps to parse Perforce descriptions", ignored );
-            }
-        }
     }
 
     // ----------------------------------------------------------------------
@@ -217,19 +200,21 @@ public class PerforceDescribeConsumer
             status = GET_REVISION;
             return;
         }
-        if ( !fileRegexp.match( line ) )
+        
+        Matcher matcher = FILE_PATTERN.matcher( line );
+        if ( !matcher.find() )
         {
             return;
         }
 
-        currentFile = fileRegexp.getParen( 1 );
+        currentFile = matcher.group( 1 );
 
 	// Although Perforce allows files to be submitted anywhere in the
 	// repository in a single changelist, we're only concerned about the
 	// local files.
         if( currentFile.startsWith( repoPath ) ) {
             currentFile = currentFile.substring( repoPath.length() + 1 );
-            addEntry( currentChange, new ChangeFile( currentFile, fileRegexp.getParen( 2 ) ) );
+            addEntry( currentChange, new ChangeFile( currentFile, matcher.group( 2 ) ) );
         }
     }
 
@@ -241,14 +226,15 @@ public class PerforceDescribeConsumer
      */
     private void processGetRevision( String line )
     {
-        if ( !revisionRegexp.match( line ) )
+        Matcher matcher = REVISION_PATTERN.matcher( line );
+        if ( !matcher.find() )
         {
             return;
         }
         currentChange = new ChangeSet();
-        currentRevision = revisionRegexp.getParen( 1 );
-        currentChange.setAuthor( revisionRegexp.getParen( 2 ) );
-        currentChange.setDate( revisionRegexp.getParen( 3 ), userDatePattern );
+        currentRevision = matcher.group( 1 );
+        currentChange.setAuthor( matcher.group( 2 ) );
+        currentChange.setDate( matcher.group( 3 ), userDatePattern );
 
         status = GET_COMMENT_BEGIN;
     }

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumer.java
index 39dee1e..ff84dd8 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumer.java
@@ -19,12 +19,11 @@ package org.apache.maven.scm.provider.perforce.command.checkin;
  * under the License.
  */
 
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.util.regex.Pattern;
 
 /**
  * @author Mike Perham
@@ -34,18 +33,18 @@ import java.io.StringWriter;
 public class PerforceCheckInConsumer
     implements StreamConsumer
 {
-    private static final String CREATED_PATTERN = "^Change \\d+ created .+$";
+    private static final Pattern CREATED_PATTERN = Pattern.compile( "^Change \\d+ created .+$" );
 
-    private static final String SUBMITTING_PATTERN = "^Submitting change \\d+\\.$";
+    private static final Pattern SUBMITTING_PATTERN = Pattern.compile( "^Submitting change \\d+\\.$" );
 
-    private static final String LOCKING_PATTERN = "^Locking \\d+ files \\.\\.\\.$";
+    private static final Pattern LOCKING_PATTERN = Pattern.compile( "^Locking \\d+ files \\.\\.\\.$" );
 
-    private static final String OP_PATTERN = "^[a-z]+ //[^#]+#\\d+$";
+    private static final Pattern OPERATION_PATTERN = Pattern.compile( "^[a-z]+ //[^#]+#\\d+$" );
 
     // SCM-181 Two possible messages:
     // "Change 94821 renamed change 94823 and submitted."
     // "Change 94821 submitted."
-    private static final String COMPLETE_PATTERN = "^Change \\d+ .*submitted.$";
+    private static final Pattern COMPLETE_PATTERN = Pattern.compile( "^Change \\d+ .*submitted.$" );
 
     public static final int STATE_CREATED = 1;
 
@@ -65,20 +64,6 @@ public class PerforceCheckInConsumer
 
     private int currentState = STATE_CREATED;
 
-    private RE opRegexp;
-
-    public PerforceCheckInConsumer()
-    {
-        try
-        {
-            opRegexp = new RE( OP_PATTERN );
-        }
-        catch ( RESyntaxException ignored )
-        {
-            ignored.printStackTrace();
-        }
-    }
-
     /*
      * Change 80835 created with 1 open file(s). Submitting change 80835.
      * Locking 1 files ... add //depot/modules/cordoba/runtime-ear/foo.xml#1
@@ -106,7 +91,7 @@ public class PerforceCheckInConsumer
         switch ( currentState )
         {
             case STATE_CREATED:
-                boolean created = new RE( CREATED_PATTERN ).match( line );
+                boolean created = CREATED_PATTERN.matcher( line ).matches();
                 if ( created )
                 {
                     currentState++;
@@ -115,7 +100,7 @@ public class PerforceCheckInConsumer
                 error( line );
                 break;
             case STATE_SUBMITTING:
-                boolean submitting = new RE( SUBMITTING_PATTERN ).match( line );
+                boolean submitting = SUBMITTING_PATTERN.matcher( line ).matches();
                 if ( submitting )
                 {
                     currentState++;
@@ -124,7 +109,7 @@ public class PerforceCheckInConsumer
                 error( line );
                 break;
             case STATE_LOCKING:
-                boolean locked = new RE( LOCKING_PATTERN ).match( line );
+                boolean locked = LOCKING_PATTERN.matcher( line ).matches();
                 if ( locked )
                 {
                     currentState++;
@@ -133,12 +118,12 @@ public class PerforceCheckInConsumer
                 error( line );
                 break;
             case STATE_OP:
-                boolean operation = opRegexp.match( line );
+                boolean operation = OPERATION_PATTERN.matcher( line ).matches();
                 if ( operation )
                 {
                     break;
                 }
-                else if ( new RE( COMPLETE_PATTERN ).match( line ) )
+                else if ( COMPLETE_PATTERN.matcher( line ).matches() )
                 {
                     currentState++;
                     break;

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
index c507fab..a64a487 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
@@ -28,7 +28,6 @@ import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.perforce.PerforceScmProvider;
 import org.apache.maven.scm.provider.perforce.command.PerforceCommand;
 import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository;
-import org.apache.regexp.RE;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineException;
@@ -40,6 +39,8 @@ import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author Mike Perham
@@ -321,10 +322,11 @@ public class PerforceCheckOutCommand
             while ( ( line = br.readLine() ) != null )
             {
                 getLogger().debug( "Consuming: " + line );
-                RE changeRegexp = new RE( "Change (\\d+)" );
-                if ( changeRegexp.match( line ) )
+                Pattern changeRegexp = Pattern.compile( "Change (\\d+)" );
+                Matcher matcher = changeRegexp.matcher( line );
+                if ( matcher.find() )
                 {
-                    lastChangelistStr = changeRegexp.getParen( 1 );
+                    lastChangelistStr = matcher.group( 1 );
                 }
             }
             br.close();

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumer.java
index 7742440..871c71e 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumer.java
@@ -23,11 +23,12 @@ import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.provider.perforce.command.AbstractPerforceConsumer;
 import org.apache.maven.scm.provider.perforce.command.PerforceVerbMapper;
-import org.apache.regexp.RE;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author Mike Perham
@@ -46,7 +47,7 @@ public class PerforceCheckOutConsumer
 
     private int currentState = STATE_CLIENTSPEC;
 
-    private RE fileRegexp = new RE( "([^#]+)#\\d+ - ([a-z]+)" );
+    private Pattern fileRegexp = Pattern.compile( "([^#]+)#\\d+ - ([a-z]+)" );
 
     private List<ScmFile> checkedout = new ArrayList<ScmFile>();
 
@@ -99,14 +100,15 @@ public class PerforceCheckOutConsumer
             return;
         }
 
-        if ( currentState != STATE_ERROR && fileRegexp.match( line ) )
+        Matcher matcher;
+        if ( currentState != STATE_ERROR && ( matcher = fileRegexp.matcher( line ) ).find() )
         {
-            String location = fileRegexp.getParen( 1 );
+            String location = matcher.group( 1 );
             if ( location.startsWith( repo ) )
             {
                 location = location.substring( repo.length() + 1 );
             }
-            ScmFileStatus status = PerforceVerbMapper.toStatus( fileRegexp.getParen( 2 ) );
+            ScmFileStatus status = PerforceVerbMapper.toStatus( matcher.group( 2 ) );
             if ( status != null )
             {
                 // there are cases where Perforce prints out something but the file did not

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditConsumer.java
index 61c7289..5f06f20 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditConsumer.java
@@ -21,12 +21,12 @@ package org.apache.maven.scm.provider.perforce.command.edit;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.provider.perforce.command.AbstractPerforceConsumer;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 /**
@@ -38,29 +38,15 @@ public class PerforceEditConsumer
     implements StreamConsumer
 {
 
-    private static final String PATTERN = "^([^#]+)#\\d+ - (.*)";
+    private static final Pattern PATTERN = Pattern.compile( "^([^#]+)#\\d+ - (.*)" );
 
     private static final String FILE_BEGIN_TOKEN = "//";
 
     private List<ScmFile> edits = new ArrayList<ScmFile>();
 
-    private RE revisionRegexp;
-
     private boolean errors = false;
     private StringBuilder errorMessage = new StringBuilder();
 
-    public PerforceEditConsumer()
-    {
-        try
-        {
-            revisionRegexp = new RE( PATTERN );
-        }
-        catch ( RESyntaxException ignored )
-        {
-            ignored.printStackTrace();
-        }
-    }
-
     public List<ScmFile> getEdits()
     {
         return edits;
@@ -81,12 +67,13 @@ public class PerforceEditConsumer
             error( line );
         }
 
-        if ( !revisionRegexp.match( line ) )
+        Matcher matcher = PATTERN.matcher( line );
+        if ( !matcher.matches() )
         {
             error( line );
         }
 
-        edits.add( new ScmFile( revisionRegexp.getParen( 1 ), ScmFileStatus.EDITED ) );
+        edits.add( new ScmFile( matcher.group( 1 ), ScmFileStatus.EDITED ) );
     }
 
     private void error( String line )

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumer.java
index b7db8bc..bcfbcd9 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumer.java
@@ -19,8 +19,9 @@ package org.apache.maven.scm.provider.perforce.command.login;
  * under the License.
  */
 
+import java.util.regex.Pattern;
+
 import org.apache.maven.scm.provider.perforce.command.AbstractPerforceConsumer;
-import org.apache.regexp.RE;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 /**
@@ -33,7 +34,7 @@ public class PerforceLoginConsumer
     implements StreamConsumer
 {
 
-    private static final String LOGIN_PATTERN = "^User [^ ]+ logged in.$";
+    private static final Pattern LOGIN_PATTERN = Pattern.compile( "^User [^ ]+ logged in.$" );
 
     public static final int STATE_LOGIN = 1;
 
@@ -48,7 +49,7 @@ public class PerforceLoginConsumer
         {
             return;
         }
-        if ( currentState != STATE_ERROR && new RE( LOGIN_PATTERN ).match( line ) )
+        if ( currentState != STATE_ERROR && LOGIN_PATTERN.matcher( line ).matches() )
         {
             return;
         }

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumer.java
index d7f7480..0f63579 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumer.java
@@ -21,12 +21,12 @@ package org.apache.maven.scm.provider.perforce.command.remove;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.provider.perforce.command.AbstractPerforceConsumer;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 /**
@@ -40,26 +40,12 @@ public class PerforceRemoveConsumer
 {
     private static final String FILE_BEGIN_TOKEN = "//";
 
-    private static final String PATTERN = "^([^#]+)#\\d+ - (.*)";
+    private static final Pattern REVISION_PATTERN = Pattern.compile( "^([^#]+)#\\d+ - (.*)" );
 
     private List<ScmFile> removals = new ArrayList<ScmFile>();
 
-    private RE revisionRegexp;
-
     private boolean error = false;
 
-    public PerforceRemoveConsumer()
-    {
-        try
-        {
-            revisionRegexp = new RE( PATTERN );
-        }
-        catch ( RESyntaxException ignored )
-        {
-            ignored.printStackTrace();
-        }
-    }
-
     public List<ScmFile> getRemovals()
     {
         return removals;
@@ -78,12 +64,13 @@ public class PerforceRemoveConsumer
             error( line );
         }
 
-        if ( !revisionRegexp.match( line ) )
+        Matcher matcher = REVISION_PATTERN.matcher( line );
+        if ( !matcher.matches() )
         {
             error( line );
         }
 
-        removals.add( new ScmFile(revisionRegexp.getParen( 1 ), ScmFileStatus.DELETED ) );
+        removals.add( new ScmFile( matcher.group( 1 ), ScmFileStatus.DELETED ) );
     }
 
     private void error( String line )

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommand.java
index da5bf92..ed6fc04 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommand.java
@@ -29,7 +29,6 @@ import org.apache.maven.scm.provider.perforce.PerforceScmProvider;
 import org.apache.maven.scm.provider.perforce.command.PerforceCommand;
 import org.apache.maven.scm.provider.perforce.command.PerforceVerbMapper;
 import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository;
-import org.apache.regexp.RE;
 import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
@@ -38,6 +37,8 @@ import java.io.File;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author Mike Perham
@@ -72,17 +73,18 @@ public class PerforceStatusCommand
     {
         List<ScmFile> results = new ArrayList<ScmFile>();
         List<String> files = consumer.getDepotfiles();
-        RE re = new RE( "([^#]+)#\\d+ - ([^ ]+) .*" );
+        Pattern re = Pattern.compile( "([^#]+)#\\d+ - ([^ ]+) .*" );
         for ( Iterator<String> it = files.iterator(); it.hasNext(); )
         {
             String filepath = it.next();
-            if ( !re.match( filepath ) )
+            Matcher matcher = re.matcher( filepath );
+            if ( !matcher.matches() )
             {
                 System.err.println( "Skipping " + filepath );
                 continue;
             }
-            String path = re.getParen( 1 );
-            String verb = re.getParen( 2 );
+            String path = matcher.group( 1 );
+            String verb = matcher.group( 2 );
 
             ScmFile scmfile = new ScmFile( path.substring( repoPath.length() + 1 ).trim(), PerforceVerbMapper
                 .toStatus( verb ) );

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumer.java
index 7155294..a739cb3 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumer.java
@@ -21,12 +21,12 @@ package org.apache.maven.scm.provider.perforce.command.tag;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.provider.perforce.command.AbstractPerforceConsumer;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 /**
@@ -39,9 +39,9 @@ public class PerforceTagConsumer
     implements StreamConsumer
 {
 
-    private static final String LABEL_PATTERN = "^Label ([^ ]+) saved.$";
+    private static final Pattern LABEL_PATTERN = Pattern.compile( "^Label ([^ ]+) saved.$" );
 
-    private static final String SYNC_PATTERN = "^([^#]+)#\\d+ - (.*)";
+    private static final Pattern SYNC_PATTERN = Pattern.compile( "^([^#]+)#\\d+ - (.*)" );
 
     public static final int STATE_CREATE = 1;
 
@@ -53,20 +53,6 @@ public class PerforceTagConsumer
 
     private List<ScmFile> tagged = new ArrayList<ScmFile>();
 
-    private RE syncRegexp;
-
-    public PerforceTagConsumer()
-    {
-        try
-        {
-            syncRegexp = new RE( SYNC_PATTERN );
-        }
-        catch ( RESyntaxException ignored )
-        {
-            ignored.printStackTrace();
-        }
-    }
-
     /**
      * Return a list of Strings formatted like:
      * <p/>
@@ -97,7 +83,7 @@ public class PerforceTagConsumer
         switch ( currentState )
         {
             case STATE_CREATE:
-                if ( !new RE( LABEL_PATTERN ).match( line ) )
+                if ( !LABEL_PATTERN.matcher( line ).matches() )
                 {
                     error( line );
                     break;
@@ -105,12 +91,13 @@ public class PerforceTagConsumer
                 currentState = STATE_SYNC;
                 break;
             case STATE_SYNC:
-                if ( !syncRegexp.match( line ) )
+                Matcher matcher = SYNC_PATTERN.matcher( line );
+                if ( !matcher.matches() )
                 {
                     error( line );
                     break;
                 }
-                tagged.add( new ScmFile( syncRegexp.getParen( 1 ), ScmFileStatus.TAGGED ) );
+                tagged.add( new ScmFile( matcher.group( 1 ), ScmFileStatus.TAGGED ) );
                 break;
             default:
                 error( line );

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumer.java
index 36be76d..feaceb8 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumer.java
@@ -21,12 +21,12 @@ package org.apache.maven.scm.provider.perforce.command.unedit;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.provider.perforce.command.AbstractPerforceConsumer;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 /**
@@ -40,7 +40,7 @@ public class PerforceUnEditConsumer
     implements StreamConsumer
 {
 
-    private static final String PATTERN = "^([^#]+)#\\d+ - (.*)";
+    private static final Pattern REVISION_PATTERN = Pattern.compile( "^([^#]+)#\\d+ - (.*)" );
 
     private static final int STATE_NORMAL = 1;
 
@@ -50,20 +50,6 @@ public class PerforceUnEditConsumer
 
     private List<ScmFile> edits = new ArrayList<ScmFile>();
 
-    private RE revisionRegexp;
-
-    public PerforceUnEditConsumer()
-    {
-        try
-        {
-            revisionRegexp = new RE( PATTERN );
-        }
-        catch ( RESyntaxException ignored )
-        {
-            ignored.printStackTrace();
-        }
-    }
-
     public List<ScmFile> getEdits()
     {
         return edits;
@@ -72,9 +58,10 @@ public class PerforceUnEditConsumer
     /** {@inheritDoc} */
     public void consumeLine( String line )
     {
-        if ( currentState != STATE_ERROR && revisionRegexp.match( line ) )
+        Matcher matcher = REVISION_PATTERN.matcher( line );
+        if ( currentState != STATE_ERROR && matcher.matches() )
         {
-            edits.add( new ScmFile(revisionRegexp.getParen( 1 ), ScmFileStatus.UNKNOWN ) );
+            edits.add( new ScmFile( matcher.group( 1 ), ScmFileStatus.UNKNOWN ) );
             return;
         }
 

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/093ca18e/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceHaveConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceHaveConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceHaveConsumer.java
index d341d9a..553559f 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceHaveConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceHaveConsumer.java
@@ -19,11 +19,12 @@ package org.apache.maven.scm.provider.perforce.command.update;
  * under the License.
  */
 
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
@@ -37,27 +38,13 @@ public class PerforceHaveConsumer
     /**
      * The regular expression used to match header lines
      */
-    private RE revisionRegexp;
-
-    private static final String PATTERN = "^Change (\\d+) " + // changelist number
+    private static final Pattern REVISION_PATTERN = Pattern.compile( "^Change (\\d+) " + // changelist number
         "on (.*) " + // date
-        "by (.*)@"; // author
+        "by (.*)@" ); // author
 
     public PerforceHaveConsumer( ScmLogger logger )
     {
         super( logger );
-
-        try
-        {
-            revisionRegexp = new RE( PATTERN );
-        }
-        catch ( RESyntaxException ignored )
-        {
-            if ( getLogger().isErrorEnabled() )
-            {
-                getLogger().error( "Could not create regexp to parse perforce log file", ignored );
-            }
-        }
     }
 
     public String getHave() throws ScmException
@@ -72,9 +59,10 @@ public class PerforceHaveConsumer
     /** {@inheritDoc} */
     public void consumeLine( String line )
     {
-        if( revisionRegexp.match( line ) )
+        Matcher matcher = REVISION_PATTERN.matcher( line );
+        if( matcher.find() )
         {
-            have = revisionRegexp.getParen( 1 );
+            have = matcher.group( 1 );
         }
     }
 }


[4/8] git commit: Replace jakarta-regexp with java.util.regexp for maven-scm-provider-cvs-common

Posted by hb...@apache.org.
Replace jakarta-regexp with java.util.regexp for maven-scm-provider-cvs-common


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

Branch: refs/heads/master
Commit: 21221389480cdc0fe4bc296bc5ec4cfbce598624
Parents: 714c6b8
Author: Emmanuel Bourg <eb...@apache.org>
Authored: Mon Feb 24 17:58:58 2014 +0100
Committer: Emmanuel Bourg <eb...@apache.org>
Committed: Mon Feb 24 17:58:58 2014 +0100

----------------------------------------------------------------------
 .../maven-scm-provider-cvs-commons/pom.xml      |  5 -----
 .../cvslib/command/blame/CvsBlameConsumer.java  | 21 ++++++++------------
 2 files changed, 8 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/21221389/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/pom.xml b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/pom.xml
index 1416255..2bd7912 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/pom.xml
@@ -35,11 +35,6 @@
 
   <dependencies>
     <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
-
-    <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvstest</artifactId>
       <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/21221389/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/blame/CvsBlameConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/blame/CvsBlameConsumer.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/blame/CvsBlameConsumer.java
index 13ced91..c0882ef 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/blame/CvsBlameConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/blame/CvsBlameConsumer.java
@@ -23,11 +23,12 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Locale;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 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;
 
 /**
  * @author Evgeny Mandrikov
@@ -41,20 +42,13 @@ public class CvsBlameConsumer
 
     /* 1.1          (tor      24-Mar-03): */
 
-    private static final String LINE_PATTERN = "(.*)\\((.*)\\s+(.*)\\)";
-
-    /**
-     * @see #LINE_PATTERN
-     */
-    private RE lineRegexp;
+    private static final Pattern LINE_PATTERN = Pattern.compile( "(.*)\\((.*)\\s+(.*)\\)" );
 
     private List<BlameLine> lines = new ArrayList<BlameLine>();
 
     public CvsBlameConsumer( ScmLogger logger )
     {
         super( logger );
-
-        lineRegexp = new RE( LINE_PATTERN );
     }
 
     public void consumeLine( String line )
@@ -62,11 +56,12 @@ public class CvsBlameConsumer
         if (line != null && line.indexOf( ':' ) > 0 )
         {
             String annotation = line.substring( 0, line.indexOf( ':' ) );
-            if ( lineRegexp.match( annotation ) )
+            Matcher matcher = LINE_PATTERN.matcher( annotation );
+            if ( matcher.matches() )
             {
-                String revision = lineRegexp.getParen( 1 ).trim();
-                String author = lineRegexp.getParen( 2 ).trim();
-                String dateTimeStr = lineRegexp.getParen( 3 ).trim();
+                String revision = matcher.group( 1 ).trim();
+                String author = matcher.group( 2 ).trim();
+                String dateTimeStr = matcher.group( 3 ).trim();
 
                 Date dateTime = parseDate( dateTimeStr, null, CVS_TIMESTAMP_PATTERN, Locale.US );
                 lines.add( new BlameLine( dateTime, revision, author ) );


[5/8] git commit: Replace jakarta-regexp with java.util.regexp for maven-scm-provider-clearcase

Posted by hb...@apache.org.
Replace jakarta-regexp with java.util.regexp for maven-scm-provider-clearcase


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

Branch: refs/heads/master
Commit: 0a069f8d535d38c389efe06df7a38cabe769ff3a
Parents: 2122138
Author: Emmanuel Bourg <eb...@apache.org>
Authored: Mon Feb 24 18:06:45 2014 +0100
Committer: Emmanuel Bourg <eb...@apache.org>
Committed: Mon Feb 24 18:06:45 2014 +0100

----------------------------------------------------------------------
 .../maven-scm-provider-clearcase/pom.xml           |  7 -------
 .../command/blame/ClearCaseBlameConsumer.java      | 17 ++++++++---------
 2 files changed, 8 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0a069f8d/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/pom.xml b/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
index 3da953a..d97d4e4 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
@@ -33,13 +33,6 @@
   <name>Maven SCM Clearcase Provider</name>
   <description>SCM Provider implementation for Clearcase (http://www-306.ibm.com/software/awdtools/clearcase/).</description>
 
-  <dependencies>
-    <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
-  </dependencies>
-
   <build>
     <plugins>
       <plugin>

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0a069f8d/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/blame/ClearCaseBlameConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/blame/ClearCaseBlameConsumer.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/blame/ClearCaseBlameConsumer.java
index d5a54b2..f98c5fb 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/blame/ClearCaseBlameConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/blame/ClearCaseBlameConsumer.java
@@ -22,11 +22,12 @@ package org.apache.maven.scm.provider.clearcase.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 java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author Jérémie Lagarde
@@ -39,26 +40,24 @@ public class ClearCaseBlameConsumer
 
     private static final String CLEARCASE_TIMESTAMP_PATTERN = "yyyyMMdd.HHmmss";
 
-    private static final String LINE_PATTERN = "VERSION:(.*)@@@USER:(.*)@@@DATE:(.*)@@@(.*)";
-
-    private RE lineRegexp;
+    private static final Pattern LINE_PATTERN = Pattern.compile( "VERSION:(.*)@@@USER:(.*)@@@DATE:(.*)@@@(.*)" );
 
     private List<BlameLine> lines = new ArrayList<BlameLine>();
 
     public ClearCaseBlameConsumer( ScmLogger logger )
     {
         super( logger );
-        lineRegexp = new RE( LINE_PATTERN );
     }
 
     public void consumeLine( String line )
     {
-        if ( lineRegexp.match( line ) )
+        Matcher matcher = LINE_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
-            String revision = lineRegexp.getParen( 1 );
+            String revision = matcher.group( 1 );
             // SCM-613
-            String author = lineRegexp.getParen( 2 ).toLowerCase();
-            String dateTimeStr = lineRegexp.getParen( 3 );
+            String author = matcher.group( 2 ).toLowerCase();
+            String dateTimeStr = matcher.group( 3 );
 
             Date dateTime = parseDate( dateTimeStr, null, CLEARCASE_TIMESTAMP_PATTERN );
             lines.add( new BlameLine( dateTime, revision, author ) );