1
2
3
4
5
6 package org.apache.maven.scm.providers.starteam.settings.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.providers.starteam.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 @SuppressWarnings( "all" )
25 public class StarteamXpp3Writer
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, Settings settings )
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( settings.getModelEncoding(), null );
57 writeSettings( settings, "starteam-settings", serializer );
58 serializer.endDocument();
59 }
60
61
62
63
64
65
66
67
68 public void write( OutputStream stream, Settings settings )
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, settings.getModelEncoding() );
75 serializer.startDocument( settings.getModelEncoding(), null );
76 writeSettings( settings, "starteam-settings", serializer );
77 serializer.endDocument();
78 }
79
80
81
82
83
84
85
86
87
88 private void writeSettings( Settings settings, String tagName, XmlSerializer serializer )
89 throws java.io.IOException
90 {
91 serializer.setPrefix( "", "http://maven.apache.org/SCM/STARTEAM/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/STARTEAM/1.0.0 http://maven.apache.org/xsd/scm-starteam-1.0.0.xsd" );
95 if ( settings.isCompressionEnable() != false )
96 {
97 serializer.startTag( NAMESPACE, "compressionEnable" ).text( String.valueOf( settings.isCompressionEnable() ) ).endTag( NAMESPACE, "compressionEnable" );
98 }
99 if ( ( settings.getEol() != null ) && !settings.getEol().equals( "on" ) )
100 {
101 serializer.startTag( NAMESPACE, "eol" ).text( settings.getEol() ).endTag( NAMESPACE, "eol" );
102 }
103 serializer.endTag( NAMESPACE, tagName );
104 }
105
106 }