1
2
3
4
5 package org.apache.maven.scm.providers.vss.settings.io.xpp3;
6
7
8
9
10
11 import java.io.Writer;
12 import java.text.DateFormat;
13 import java.util.Iterator;
14 import java.util.Locale;
15 import org.apache.maven.scm.providers.vss.settings.Settings;
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 public class VssXpp3Writer {
25
26
27
28
29
30
31
32
33
34 private String NAMESPACE;
35
36
37
38
39
40
41
42
43
44
45
46
47
48 public void write(Writer writer, Settings settings)
49 throws java.io.IOException
50 {
51 XmlSerializer serializer = new MXSerializer();
52 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
53 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
54 serializer.setOutput( writer );
55 serializer.startDocument( settings.getModelEncoding(), null );
56 writeSettings( settings, "vss-settings", serializer );
57 serializer.endDocument();
58 }
59
60
61
62
63
64
65
66
67
68 private void writeSettings(Settings settings, String tagName, XmlSerializer serializer)
69 throws java.io.IOException
70 {
71 if ( settings != null )
72 {
73 serializer.startTag( NAMESPACE, tagName );
74 if ( settings.getVssDirectory() != null )
75 {
76 serializer.startTag( NAMESPACE, "vssDirectory" ).text( settings.getVssDirectory() ).endTag( NAMESPACE, "vssDirectory" );
77 }
78 serializer.endTag( NAMESPACE, tagName );
79 }
80 }
81
82
83 }