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 <ebo...@apache.org> Authored: Mon Feb 24 22:19:12 2014 +0100 Committer: Emmanuel Bourg <ebo...@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:eveni...@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:eveni...@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:eveni...@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 ); } } }