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.util.Date;
23 import java.util.List;
24 import java.util.Map;
25
26 import org.apache.maven.scm.log.ScmLogger;
27 import org.apache.maven.scm.provider.accurev.Stream;
28
29
30
31
32 public class StreamsConsumer
33 extends XppStreamConsumer
34 {
35
36 private List<Stream> streams;
37
38 public StreamsConsumer( ScmLogger logger, List<Stream> streams )
39 {
40 super( logger );
41 this.streams = streams;
42 }
43
44 @Override
45 protected void startTag( List<String> tagPath, Map<String, String> attributes )
46 {
47 String tagName = getTagName( tagPath );
48 if ( "stream".equals( tagName ) )
49 {
50 String name = attributes.get( "name" );
51 long streamId = Long.parseLong( attributes.get( "streamNumber" ) );
52 String basis = attributes.get( "basis" );
53 String basisStreamNumber = attributes.get( "basisStreamNumber" );
54 long basisStreamId = basisStreamNumber == null ? 0 : Long.parseLong( basisStreamNumber );
55 String depot = attributes.get( "depotName" );
56 Date startTime = new Date( Long.parseLong( attributes.get( "startTime" ) ) * 1000 );
57 String streamType = attributes.get( "type" );
58 streams.add( new Stream( name, streamId, basis, basisStreamId, depot, startTime, streamType ) );
59 }
60 }
61 }