1
2
3
4
5
6 package org.apache.maven.scm.providers.svn.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.svn.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 SvnXpp3Writer
26 {
27
28
29
30
31
32
33
34
35 private static final String NAMESPACE = null;
36
37
38
39
40 private String fileComment = null;
41
42
43
44
45
46
47
48
49
50
51
52 public void setFileComment( String fileComment )
53 {
54 this.fileComment = fileComment;
55 }
56
57
58
59
60
61
62
63
64 public void write( Writer writer, Settings settings )
65 throws java.io.IOException
66 {
67 XmlSerializer serializer = new MXSerializer();
68 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
69 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
70 serializer.setOutput( writer );
71 serializer.startDocument( settings.getModelEncoding(), null );
72 writeSettings( settings, "svn-settings", serializer );
73 serializer.endDocument();
74 }
75
76
77
78
79
80
81
82
83 public void write( OutputStream stream, Settings settings )
84 throws java.io.IOException
85 {
86 XmlSerializer serializer = new MXSerializer();
87 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
88 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
89 serializer.setOutput( stream, settings.getModelEncoding() );
90 serializer.startDocument( settings.getModelEncoding(), null );
91 writeSettings( settings, "svn-settings", serializer );
92 serializer.endDocument();
93 }
94
95
96
97
98
99
100
101
102
103 private void writeSettings( Settings settings, String tagName, XmlSerializer serializer )
104 throws java.io.IOException
105 {
106 if ( this.fileComment != null )
107 {
108 serializer.comment(this.fileComment);
109 }
110 serializer.setPrefix( "", "http://maven.apache.org/SCM/SVN/1.1.0" );
111 serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
112 serializer.startTag( NAMESPACE, tagName );
113 serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/SCM/SVN/1.1.0 http://maven.apache.org/xsd/svn-settings-1.1.0.xsd" );
114 if ( settings.getConfigDirectory() != null )
115 {
116 serializer.startTag( NAMESPACE, "configDirectory" ).text( settings.getConfigDirectory() ).endTag( NAMESPACE, "configDirectory" );
117 }
118 if ( settings.isUseCygwinPath() != false )
119 {
120 serializer.startTag( NAMESPACE, "useCygwinPath" ).text( String.valueOf( settings.isUseCygwinPath() ) ).endTag( NAMESPACE, "useCygwinPath" );
121 }
122 if ( ( settings.getCygwinMountPath() != null ) && !settings.getCygwinMountPath().equals( "/cygwin" ) )
123 {
124 serializer.startTag( NAMESPACE, "cygwinMountPath" ).text( settings.getCygwinMountPath() ).endTag( NAMESPACE, "cygwinMountPath" );
125 }
126 if ( settings.isUseNonInteractive() != true )
127 {
128 serializer.startTag( NAMESPACE, "useNonInteractive" ).text( String.valueOf( settings.isUseNonInteractive() ) ).endTag( NAMESPACE, "useNonInteractive" );
129 }
130 if ( settings.isUseAuthCache() != false )
131 {
132 serializer.startTag( NAMESPACE, "useAuthCache" ).text( String.valueOf( settings.isUseAuthCache() ) ).endTag( NAMESPACE, "useAuthCache" );
133 }
134 if ( settings.isTrustServerCert() != false )
135 {
136 serializer.startTag( NAMESPACE, "trustServerCert" ).text( String.valueOf( settings.isTrustServerCert() ) ).endTag( NAMESPACE, "trustServerCert" );
137 }
138 serializer.endTag( NAMESPACE, tagName );
139 }
140
141 }