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:16 UTC
[7/8] git commit: Replace jakarta-regexp with java.util.regexp for
maven-scm-provider-perforce
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 );
}
}
}