1 package org.apache.maven.scm.provider.accurev.cli;
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.IOException;
24 import java.io.InputStream;
25 import java.io.InputStreamReader;
26
27 import org.apache.maven.scm.log.ScmLogger;
28 import org.apache.maven.scm.manager.ScmManager;
29 import org.apache.maven.scm.manager.plexus.PlexusLogger;
30 import org.codehaus.plexus.PlexusContainer;
31 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
32 import org.codehaus.plexus.logging.Logger;
33 import org.codehaus.plexus.logging.LoggerManager;
34 import org.codehaus.plexus.util.cli.StreamConsumer;
35
36 public class AccuRevJUnitUtil
37 {
38
39 public static void consume( String resource, StreamConsumer consumer )
40 throws IOException
41 {
42 BufferedReader reader = new BufferedReader( new InputStreamReader( consumer.getClass()
43 .getResourceAsStream( resource ) ) );
44
45 String line = reader.readLine();
46 while ( line != null )
47 {
48 consumer.consumeLine( line );
49 line = reader.readLine();
50 }
51
52 if ( consumer instanceof XppStreamConsumer )
53 {
54 ( (XppStreamConsumer) consumer ).waitComplete();
55 }
56 }
57
58 public static ScmLogger getLogger( PlexusContainer plexusContainer )
59 throws ComponentLookupException
60 {
61 LoggerManager loggerManager = (LoggerManager) plexusContainer.lookup( LoggerManager.ROLE );
62 Logger logger = loggerManager.getLoggerForComponent( ScmManager.ROLE );
63 return new PlexusLogger( logger );
64 }
65
66 public static InputStream getPlexusConfiguration()
67 {
68 return AccuRevJUnitUtil.class.getResourceAsStream( "/PlexusTestContainerConfig.xml" );
69 }
70
71 }