1 package org.apache.maven.scm.provider.cvslib.command.login;
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.CommandParameters;
23 import org.apache.maven.scm.ScmException;
24 import org.apache.maven.scm.ScmFileSet;
25 import org.apache.maven.scm.command.login.AbstractLoginCommand;
26 import org.apache.maven.scm.command.login.LoginScmResult;
27 import org.apache.maven.scm.provider.ScmProviderRepository;
28 import org.apache.maven.scm.provider.cvslib.command.CvsCommandUtils;
29 import org.apache.maven.scm.provider.cvslib.repository.CvsScmProviderRepository;
30
31 import java.io.IOException;
32
33
34
35
36
37 public class CvsLoginCommand
38 extends AbstractLoginCommand
39 {
40
41 public LoginScmResult executeLoginCommand( ScmProviderRepository repository, ScmFileSet fileSet,
42 CommandParameters parameters )
43 throws ScmException
44 {
45 CvsScmProviderRepository repo = (CvsScmProviderRepository) repository;
46
47 if ( !"pserver".equals( repo.getTransport() ) )
48 {
49 return new LoginScmResult( null, "The cvs login ignored for " + repo.getTransport() + ".", "", true );
50 }
51 else if ( isCvsNT() )
52 {
53
54 return new LoginScmResult( null, "The cvs login ignored for CVSNT.", "", true );
55 }
56
57 CvsPass passGenerator = new CvsPass( getLogger() );
58
59 passGenerator.setCvsroot( repo.getCvsRootForCvsPass() );
60
61 passGenerator.setPassword( repo.getPassword() );
62 try
63 {
64 passGenerator.execute();
65 }
66 catch ( IOException e )
67 {
68 throw new ScmException( "Error while executing cvs login command.", e );
69 }
70
71 return new LoginScmResult( null, "The cvs command succeed.", "", true );
72 }
73
74 public boolean isCvsNT()
75 throws ScmException
76 {
77 return CvsCommandUtils.isCvsNT();
78 }
79 }