Author: olamy Date: Sat Apr 9 08:28:49 2011 New Revision: 1090544 URL: http://svn.apache.org/viewvc?rev=1090544&view=rev Log: rethrow exception with chaining in case of CommandLineException in Perforce remove command
Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommand.java Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommand.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommand.java?rev=1090544&r1=1090543&r2=1090544&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommand.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommand.java Sat Apr 9 08:28:49 2011 @@ -41,53 +41,45 @@ import java.util.List; * @version $Id$ */ public class PerforceRemoveCommand - extends AbstractRemoveCommand - implements PerforceCommand -{ - /** {@inheritDoc} */ - protected ScmResult executeRemoveCommand( ScmProviderRepository repo, ScmFileSet files, String message ) - throws ScmException - { - Commandline cl = createCommandLine( (PerforceScmProviderRepository) repo, files.getBasedir(), files ); + extends AbstractRemoveCommand + implements PerforceCommand { + /** + * {@inheritDoc} + */ + protected ScmResult executeRemoveCommand(ScmProviderRepository repo, ScmFileSet files, String message) + throws ScmException { + Commandline cl = createCommandLine((PerforceScmProviderRepository) repo, files.getBasedir(), files); PerforceRemoveConsumer consumer = new PerforceRemoveConsumer(); - try - { + try { CommandLineUtils.StringStreamConsumer err = new CommandLineUtils.StringStreamConsumer(); - int exitCode = CommandLineUtils.executeCommandLine( cl, consumer, err ); + int exitCode = CommandLineUtils.executeCommandLine(cl, consumer, err); - if ( exitCode != 0 ) - { - String cmdLine = CommandLineUtils.toString( cl.getCommandline() ); + if (exitCode != 0) { + String cmdLine = CommandLineUtils.toString(cl.getCommandline()); - StringBuilder msg = new StringBuilder( "Exit code: " + exitCode + " - " + err.getOutput() ); - msg.append( '\n' ); - msg.append( "Command line was:" + cmdLine ); + StringBuilder msg = new StringBuilder("Exit code: " + exitCode + " - " + err.getOutput()); + msg.append('\n'); + msg.append("Command line was:" + cmdLine); - throw new CommandLineException( msg.toString() ); - } - } - catch ( CommandLineException e ) - { - if ( getLogger().isErrorEnabled() ) - { - getLogger().error( "CommandLineException " + e.getMessage(), e ); + throw new CommandLineException(msg.toString()); } + } catch (CommandLineException e) { + throw new ScmException("CommandLineException " + e.getMessage(), e); + } - return new RemoveScmResult( cl.toString(), consumer.getRemovals() ); + return new RemoveScmResult(cl.toString(), consumer.getRemovals()); } - public static Commandline createCommandLine( PerforceScmProviderRepository repo, File workingDirectory, - ScmFileSet files ) - { - Commandline command = PerforceScmProvider.createP4Command( repo, workingDirectory ); - command.createArg().setValue( "delete" ); + public static Commandline createCommandLine(PerforceScmProviderRepository repo, File workingDirectory, + ScmFileSet files) { + Commandline command = PerforceScmProvider.createP4Command(repo, workingDirectory); + command.createArg().setValue("delete"); List<File> fs = files.getFileList(); - for ( int i = 0; i < fs.size(); i++ ) - { - File file = (File) fs.get( i ); - command.createArg().setValue( file.getName() ); + for (int i = 0; i < fs.size(); i++) { + File file = (File) fs.get(i); + command.createArg().setValue(file.getName()); } return command; }