1 package org.apache.maven.scm.provider.integrity.command.list;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import com.mks.api.response.APIException;
23 import org.apache.maven.scm.ScmException;
24 import org.apache.maven.scm.ScmFile;
25 import org.apache.maven.scm.ScmFileSet;
26 import org.apache.maven.scm.ScmFileStatus;
27 import org.apache.maven.scm.ScmResult;
28 import org.apache.maven.scm.ScmVersion;
29 import org.apache.maven.scm.command.list.AbstractListCommand;
30 import org.apache.maven.scm.command.list.ListScmResult;
31 import org.apache.maven.scm.provider.ScmProviderRepository;
32 import org.apache.maven.scm.provider.integrity.ExceptionHandler;
33 import org.apache.maven.scm.provider.integrity.Member;
34 import org.apache.maven.scm.provider.integrity.repository.IntegrityScmProviderRepository;
35
36 import java.util.ArrayList;
37 import java.util.Iterator;
38 import java.util.List;
39
40
41
42
43
44
45
46
47 public class IntegrityListCommand
48 extends AbstractListCommand
49 {
50
51
52
53 @Override
54 public ListScmResult executeListCommand( ScmProviderRepository repository, ScmFileSet fileSet, boolean recursive,
55 ScmVersion scmVersion )
56 throws ScmException
57 {
58 ListScmResult result;
59 IntegrityScmProviderRepository iRepo = (IntegrityScmProviderRepository) repository;
60 getLogger().info( "Listing all files in project " + iRepo.getConfigruationPath() );
61 try
62 {
63
64 List<Member> projectMembers = iRepo.getProject().listFiles( fileSet.getBasedir().getAbsolutePath() );
65
66 List<ScmFile> scmFileList = new ArrayList<ScmFile>();
67 for ( Iterator<Member> it = projectMembers.iterator(); it.hasNext(); )
68 {
69 Member siMember = it.next();
70 scmFileList.add( new ScmFile( siMember.getTargetFilePath(), ScmFileStatus.UNKNOWN ) );
71 }
72 result = new ListScmResult( scmFileList, new ScmResult( "si viewproject", "", "", true ) );
73
74 }
75 catch ( APIException aex )
76 {
77 ExceptionHandler eh = new ExceptionHandler( aex );
78 getLogger().error( "MKS API Exception: " + eh.getMessage() );
79 getLogger().debug( eh.getCommand() + " exited with return code " + eh.getExitCode() );
80 result = new ListScmResult( eh.getCommand(), eh.getMessage(), "Exit Code: " + eh.getExitCode(), false );
81 }
82
83 return result;
84 }
85
86 }