1 package org.apache.maven.cvslib;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import org.netbeans.lib.cvsclient.event.CVSAdapter;
22 import org.netbeans.lib.cvsclient.event.MessageEvent;
23
24
25 /**
26 * A basic implementation of a CVS listener. It merely saves up
27 * into StringBuffers the stdout and stderr printstreams.
28 *
29 * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
30 */
31 public class CvsLogListener extends CVSAdapter
32 {
33 private final StringBuffer taggedLine = new StringBuffer();
34 private StringBuffer stdout = new StringBuffer();
35 private StringBuffer stderr = new StringBuffer();
36
37 /**
38 * Called when the server wants to send a message to be displayed to the
39 * user. The message is only for information purposes and clients can
40 * choose to ignore these messages if they wish.
41 *
42 * @param e the event
43 */
44 public void messageSent( MessageEvent e )
45 {
46 String line = e.getMessage();
47 StringBuffer stream = e.isError() ? stderr : stdout;
48
49 if ( e.isTagged() )
50 {
51 String message =
52 MessageEvent.parseTaggedMessage( taggedLine, e.getMessage() );
53
54 if ( message != null )
55 {
56
57 stream.append( message + "\n" );
58 }
59 }
60 else
61 {
62
63 stream.append( line + "\n" );
64 }
65 }
66
67 /**
68 * @return Returns the standard output from cvs as a StringBuffer..
69 */
70 public StringBuffer getStdout()
71 {
72 return stdout;
73 }
74 }