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