/** * Copyright (c) 2010 Perforce Software. All rights reserved. */ package com.perforce.maven.scm.provider.p4.command.status; import java.util.List; import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.command.status.AbstractStatusCommand; import org.apache.maven.scm.command.status.StatusScmResult; import org.apache.maven.scm.provider.ScmProviderRepository; import com.perforce.maven.scm.provider.p4.command.P4Command; import com.perforce.maven.scm.provider.p4.util.P4Utils; import com.perforce.p4java.client.IClient; import com.perforce.p4java.core.file.IFileSpec; import com.perforce.p4java.exception.P4JavaException; import com.perforce.p4java.option.server.OpenedFilesOptions; /** * The class uses the Perforce opened command to list opened files and display file status. */ public class P4StatusCommand extends AbstractStatusCommand implements P4Command { /** The Constant command. */ public static final String command = "Perforce opened command"; private IClient client; public void setClient( IClient client ) { this.client = client; } /** * @see org.apache.maven.scm.command.status.AbstractStatusCommand * executeStatusCommand(org.apache.maven.scm.provider.ScmProviderRepository, org.apache.maven.scm.ScmFileSet) */ protected StatusScmResult executeStatusCommand( ScmProviderRepository repo, ScmFileSet files ) throws ScmException { P4StatusResult p4Result = new P4StatusResult(); List<IFileSpec> fileSpecs = P4Utils.scmFileSet2P4FileSpecs( files ); if ( !fileSpecs.isEmpty() ) { try { OpenedFilesOptions openedFilesOptions = new OpenedFilesOptions(); List<IFileSpec> retFileSpecs = client.openedFiles( fileSpecs, openedFilesOptions ); p4Result.process( retFileSpecs ); } catch ( P4JavaException e ) { throw new ScmException( e.getLocalizedMessage(), e ); } } if ( !p4Result.isSuccess() ) { return new StatusScmResult( command, "The opened command failed.", p4Result.getCommandOutput(), p4Result.isSuccess() ); } return new StatusScmResult( command, p4Result.getCommandResult() ); } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 11272 | jkovisto |
Populate //guest/joel_kovisto/p4maven/... from //guest/perforce_software/p4maven/.... |
||
//guest/perforce_software/p4maven/main/p4maven-provider/src/main/java/com/perforce/maven/scm/provider/p4/command/status/P4StatusCommand.java | |||||
#1 | 10055 | Matt Attaway | Pull over numerous changes from @dantran's branch. | ||
//guest/perforce_software/p4maven/main/com.perforce.maven/src/main/java/com/perforce/maven/scm/provider/p4/command/status/P4StatusCommand.java | |||||
#1 | 8496 | Matt Attaway | Move P4Ant and P4Maven into their proper homes | ||
//public/perforce/p4maven/main/com.perforce.maven/src/main/java/com/perforce/maven/scm/provider/p4/command/status/P4StatusCommand.java | |||||
#1 | 8270 | Matt Attaway | Initial add of P4Maven source code |