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
48 public class IntegrityListCommand
49 extends AbstractListCommand
50 {
51
52
53
54 @Override
55 public ListScmResult executeListCommand( ScmProviderRepository repository, ScmFileSet fileSet, boolean recursive,
56 ScmVersion scmVersion )
57 throws ScmException
58 {
59 ListScmResult result;
60 IntegrityScmProviderRepository iRepo = (IntegrityScmProviderRepository) repository;
61 getLogger().info( "Listing all files in project " + iRepo.getConfigruationPath() );
62 try
63 {
64
65 List<Member> projectMembers = iRepo.getProject().listFiles( fileSet.getBasedir().getAbsolutePath() );
66
67 List<ScmFile> scmFileList = new ArrayList<ScmFile>();
68 for ( Iterator<Member> it = projectMembers.iterator(); it.hasNext(); )
69 {
70 Member siMember = it.next();
71 scmFileList.add( new ScmFile( siMember.getTargetFilePath(), ScmFileStatus.UNKNOWN ) );
72 }
73 result = new ListScmResult( scmFileList, new ScmResult( "si viewproject", "", "", true ) );
74
75 }
76 catch ( APIException aex )
77 {
78 ExceptionHandler eh = new ExceptionHandler( aex );
79 getLogger().error( "MKS API Exception: " + eh.getMessage() );
80 getLogger().debug( eh.getCommand() + " exited with return code " + eh.getExitCode() );
81 result = new ListScmResult( eh.getCommand(), eh.getMessage(), "Exit Code: " + eh.getExitCode(), false );
82 }
83
84 return result;
85 }
86
87 }