1 package org.apache.maven.scm.provider.synergy.command.status;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.scm.ScmException;
23 import org.apache.maven.scm.ScmFile;
24 import org.apache.maven.scm.ScmFileSet;
25 import org.apache.maven.scm.ScmFileStatus;
26 import org.apache.maven.scm.command.status.AbstractStatusCommand;
27 import org.apache.maven.scm.command.status.StatusScmResult;
28 import org.apache.maven.scm.provider.ScmProviderRepository;
29 import org.apache.maven.scm.provider.synergy.command.SynergyCommand;
30 import org.apache.maven.scm.provider.synergy.repository.SynergyScmProviderRepository;
31 import org.apache.maven.scm.provider.synergy.util.SynergyUtil;
32
33 import java.util.LinkedList;
34 import java.util.List;
35
36
37
38
39
40 public class SynergyStatusCommand
41 extends AbstractStatusCommand
42 implements SynergyCommand
43 {
44
45 protected StatusScmResult executeStatusCommand( ScmProviderRepository repository, ScmFileSet fileSet )
46 throws ScmException
47 {
48 if ( getLogger().isDebugEnabled() )
49 {
50 getLogger().debug( "executing status command..." );
51 }
52
53 SynergyScmProviderRepository repo = (SynergyScmProviderRepository) repository;
54
55 if ( getLogger().isDebugEnabled() )
56 {
57 getLogger().debug( "basedir: " + fileSet.getBasedir() );
58 }
59
60 String ccmAddr = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
61
62 List<String> l;
63 try
64 {
65 l = SynergyUtil.getWorkingFiles( getLogger(), repo.getProjectSpec(), repo.getProjectRelease(), ccmAddr );
66 }
67 finally
68 {
69 SynergyUtil.stop( getLogger(), ccmAddr );
70 }
71
72 List<ScmFile> result = new LinkedList<ScmFile>();
73 for ( String filename : l )
74 {
75 ScmFile f = new ScmFile( filename, ScmFileStatus.MODIFIED );
76 result.add( f );
77 }
78
79 return new StatusScmResult( "ccm dir", result );
80 }
81
82 }