Class BazaarDiffConsumer
- java.lang.Object
-
- org.apache.maven.scm.util.AbstractConsumer
-
- org.apache.maven.scm.provider.bazaar.command.BazaarConsumer
-
- org.apache.maven.scm.provider.bazaar.command.diff.BazaarDiffConsumer
-
- All Implemented Interfaces:
org.codehaus.plexus.util.cli.StreamConsumer
public class BazaarDiffConsumer extends BazaarConsumer
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringADDED_FILE_TOKENprivate static java.lang.StringADDED_LINE_TOKENprivate java.util.List<ScmFile>changedFilesprivate java.lang.StringBuildercurrentDifferenceprivate java.lang.StringcurrentFileprivate static java.lang.StringDELETED_FILE_TOKENprivate java.util.Map<java.lang.String,java.lang.CharSequence>differencesprivate static java.lang.StringFROM_FILE_TOKENprivate ScmLoggerloggerprivate static java.lang.StringMODIFIED_FILE_TOKENprivate static java.lang.StringNO_NEWLINE_TOKENprivate java.lang.StringBuilderpatchprivate static java.lang.StringRANGE_TOKENprivate static java.lang.StringREMOVED_LINE_TOKENprivate static java.lang.StringTO_FILE_TOKENprivate static java.lang.StringUNCHANGED_LINE_TOKENprivate java.io.FileworkingDirectory
-
Constructor Summary
Constructors Constructor Description BazaarDiffConsumer(ScmLogger logger, java.io.File workingDirectory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleanaddChangedFile(ScmFileStatus status, java.lang.String tmpLine)private voidaddChangedFile(ScmFileStatus status, java.lang.String line, java.lang.String tmpLine)This method takes into account two types of diff output.voiddoConsume(ScmFileStatus status, java.lang.String line)java.util.List<ScmFile>getChangedFiles()java.util.Map<java.lang.String,java.lang.CharSequence>getDifferences()java.lang.StringgetPatch()-
Methods inherited from class org.apache.maven.scm.provider.bazaar.command.BazaarConsumer
consumeLine, getStdErr
-
Methods inherited from class org.apache.maven.scm.util.AbstractConsumer
getLogger, parseDate, parseDate, setLogger
-
-
-
-
Field Detail
-
MODIFIED_FILE_TOKEN
private static final java.lang.String MODIFIED_FILE_TOKEN
- See Also:
- Constant Field Values
-
ADDED_FILE_TOKEN
private static final java.lang.String ADDED_FILE_TOKEN
- See Also:
- Constant Field Values
-
DELETED_FILE_TOKEN
private static final java.lang.String DELETED_FILE_TOKEN
- See Also:
- Constant Field Values
-
NO_NEWLINE_TOKEN
private static final java.lang.String NO_NEWLINE_TOKEN
- See Also:
- Constant Field Values
-
FROM_FILE_TOKEN
private static final java.lang.String FROM_FILE_TOKEN
- See Also:
- Constant Field Values
-
TO_FILE_TOKEN
private static final java.lang.String TO_FILE_TOKEN
- See Also:
- Constant Field Values
-
ADDED_LINE_TOKEN
private static final java.lang.String ADDED_LINE_TOKEN
- See Also:
- Constant Field Values
-
REMOVED_LINE_TOKEN
private static final java.lang.String REMOVED_LINE_TOKEN
- See Also:
- Constant Field Values
-
UNCHANGED_LINE_TOKEN
private static final java.lang.String UNCHANGED_LINE_TOKEN
- See Also:
- Constant Field Values
-
RANGE_TOKEN
private static final java.lang.String RANGE_TOKEN
- See Also:
- Constant Field Values
-
logger
private ScmLogger logger
-
workingDirectory
private java.io.File workingDirectory
-
currentFile
private java.lang.String currentFile
-
currentDifference
private java.lang.StringBuilder currentDifference
-
changedFiles
private java.util.List<ScmFile> changedFiles
-
differences
private java.util.Map<java.lang.String,java.lang.CharSequence> differences
-
patch
private java.lang.StringBuilder patch
-
-
Constructor Detail
-
BazaarDiffConsumer
public BazaarDiffConsumer(ScmLogger logger, java.io.File workingDirectory)
-
-
Method Detail
-
doConsume
public void doConsume(ScmFileStatus status, java.lang.String line)
- Overrides:
doConsumein classBazaarConsumer
-
addChangedFile
private void addChangedFile(ScmFileStatus status, java.lang.String line, java.lang.String tmpLine)
This method takes into account two types of diff output.
- Bazaar 0.7 format: dir/dir/myfile
- Bazaar 0.8 format: a/dir/dir/myfile- Parameters:
status- Eg. modified or addedline- The original bazaar output to process (for logging)tmpLine- The bazaar output to process
-
addChangedFile
private boolean addChangedFile(ScmFileStatus status, java.lang.String tmpLine)
- Parameters:
status-tmpLine-- Returns:
- True if tmpLine was a valid file and thus added to the changeset
-
getChangedFiles
public java.util.List<ScmFile> getChangedFiles()
-
getDifferences
public java.util.Map<java.lang.String,java.lang.CharSequence> getDifferences()
-
getPatch
public java.lang.String getPatch()
-
-