1
2
3
4
5
6 package org.apache.maven.scm.provider.local.metadata.io.xpp3;
7
8
9
10
11
12 import java.io.OutputStream;
13 import java.io.Writer;
14 import java.util.Iterator;
15 import org.apache.maven.scm.provider.local.metadata.LocalScmMetadata;
16 import org.codehaus.plexus.util.xml.pull.MXSerializer;
17 import org.codehaus.plexus.util.xml.pull.XmlSerializer;
18
19
20
21
22
23
24 @SuppressWarnings( "all" )
25 public class LocalScmMetadataXpp3Writer
26 {
27
28
29
30
31
32
33
34
35 private static final String NAMESPACE = null;
36
37
38
39
40
41
42
43
44
45
46
47
48
49 public void write( Writer writer, LocalScmMetadata localScmMetadata )
50 throws java.io.IOException
51 {
52 XmlSerializer serializer = new MXSerializer();
53 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
54 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
55 serializer.setOutput( writer );
56 serializer.startDocument( localScmMetadata.getModelEncoding(), null );
57 writeLocalScmMetadata( localScmMetadata, "localScmMetadata", serializer );
58 serializer.endDocument();
59 }
60
61
62
63
64
65
66
67
68 public void write( OutputStream stream, LocalScmMetadata localScmMetadata )
69 throws java.io.IOException
70 {
71 XmlSerializer serializer = new MXSerializer();
72 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
73 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
74 serializer.setOutput( stream, localScmMetadata.getModelEncoding() );
75 serializer.startDocument( localScmMetadata.getModelEncoding(), null );
76 writeLocalScmMetadata( localScmMetadata, "localScmMetadata", serializer );
77 serializer.endDocument();
78 }
79
80
81
82
83
84
85
86
87
88 private void writeLocalScmMetadata( LocalScmMetadata localScmMetadata, String tagName, XmlSerializer serializer )
89 throws java.io.IOException
90 {
91 serializer.setPrefix( "", "http://maven.apache.org/SCM/LOCAL/1.0.0" );
92 serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
93 serializer.startTag( NAMESPACE, tagName );
94 serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/SCM/LOCAL/1.0.0 http://maven.apache.org/xsd/scm-local-1.0.0.xsd" );
95 if ( ( localScmMetadata.getRepositoryFileNames() != null ) && ( localScmMetadata.getRepositoryFileNames().size() > 0 ) )
96 {
97 serializer.startTag( NAMESPACE, "repositoryFileNames" );
98 for ( Iterator iter = localScmMetadata.getRepositoryFileNames().iterator(); iter.hasNext(); )
99 {
100 String repositoryFileName = (String) iter.next();
101 serializer.startTag( NAMESPACE, "repositoryFileName" ).text( repositoryFileName ).endTag( NAMESPACE, "repositoryFileName" );
102 }
103 serializer.endTag( NAMESPACE, "repositoryFileNames" );
104 }
105 serializer.endTag( NAMESPACE, tagName );
106 }
107
108 }