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