1 package org.apache.maven.scm.provider.cvslib.cvsjava.command.remove;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.BufferedReader;
23 import java.io.ByteArrayInputStream;
24 import java.io.InputStreamReader;
25 import java.util.List;
26
27 import org.apache.maven.scm.ScmException;
28 import org.apache.maven.scm.ScmFile;
29 import org.apache.maven.scm.command.remove.RemoveScmResult;
30 import org.apache.maven.scm.provider.cvslib.command.remove.AbstractCvsRemoveCommand;
31 import org.apache.maven.scm.provider.cvslib.cvsjava.util.CvsConnection;
32 import org.apache.maven.scm.provider.cvslib.cvsjava.util.CvsLogListener;
33 import org.codehaus.plexus.util.cli.Commandline;
34
35
36
37
38
39
40 public class CvsJavaRemoveCommand
41 extends AbstractCvsRemoveCommand
42 {
43
44 protected RemoveScmResult executeCvsCommand( Commandline cl, List<ScmFile> removedFiles )
45 throws ScmException
46 {
47 CvsLogListener logListener = new CvsLogListener();
48
49 try
50 {
51 boolean isSuccess = CvsConnection.processCommand( cl.getArguments(),
52 cl.getWorkingDirectory().getAbsolutePath(), logListener,
53 getLogger() );
54
55 if ( !isSuccess )
56 {
57 return new RemoveScmResult( cl.toString(), "The cvs command failed.",
58 logListener.getStderr().toString(), false );
59 }
60 BufferedReader stream = new BufferedReader(
61 new InputStreamReader( new ByteArrayInputStream( logListener.getStdout().toString().getBytes() ) ) );
62
63 if ( getLogger().isDebugEnabled() )
64 {
65 String line;
66 while ( ( line = stream.readLine() ) != null )
67 {
68 getLogger().debug( line );
69 }
70 }
71 }
72 catch ( Exception e )
73 {
74 e.printStackTrace();
75 return new RemoveScmResult( cl.toString(), "The cvs command failed.", logListener.getStderr().toString(),
76 false );
77 }
78
79 return new RemoveScmResult( cl.toString(), removedFiles );
80 }
81 }