1
2
3
4
5
6
7
8 package org.apache.continuum.configuration.model.io.xpp3;
9
10
11
12
13
14 import java.io.Writer;
15 import java.text.DateFormat;
16 import java.util.Iterator;
17 import java.util.Locale;
18 import org.apache.continuum.configuration.model.BuildAgentConfiguration;
19 import org.apache.continuum.configuration.model.BuildAgentGroupConfiguration;
20 import org.apache.continuum.configuration.model.ContinuumConfigurationModel;
21 import org.apache.continuum.configuration.model.ProxyConfiguration;
22 import org.codehaus.plexus.util.xml.pull.MXSerializer;
23 import org.codehaus.plexus.util.xml.pull.XmlSerializer;
24
25
26
27
28
29
30 @SuppressWarnings( "all" )
31 public class ContinuumConfigurationModelXpp3Writer
32 {
33
34
35
36
37
38
39
40
41 private static final String NAMESPACE = null;
42
43
44
45
46
47
48
49
50
51
52
53
54
55 public void write( Writer writer, ContinuumConfigurationModel continuumConfigurationModel )
56 throws java.io.IOException
57 {
58 XmlSerializer serializer = new MXSerializer();
59 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
60 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
61 serializer.setOutput( writer );
62 serializer.startDocument( continuumConfigurationModel.getModelEncoding(), null );
63 writeContinuumConfigurationModel( continuumConfigurationModel, "continuum-configuration", serializer );
64 serializer.endDocument();
65 }
66
67
68
69
70
71
72
73
74
75 private void writeBuildAgentConfiguration( BuildAgentConfiguration buildAgentConfiguration, String tagName, XmlSerializer serializer )
76 throws java.io.IOException
77 {
78 if ( buildAgentConfiguration != null )
79 {
80 serializer.startTag( NAMESPACE, tagName );
81 if ( buildAgentConfiguration.getUrl() != null )
82 {
83 serializer.startTag( NAMESPACE, "url" ).text( buildAgentConfiguration.getUrl() ).endTag( NAMESPACE, "url" );
84 }
85 if ( buildAgentConfiguration.getDescription() != null )
86 {
87 serializer.startTag( NAMESPACE, "description" ).text( buildAgentConfiguration.getDescription() ).endTag( NAMESPACE, "description" );
88 }
89 if ( buildAgentConfiguration.isEnabled() != false )
90 {
91 serializer.startTag( NAMESPACE, "enabled" ).text( String.valueOf( buildAgentConfiguration.isEnabled() ) ).endTag( NAMESPACE, "enabled" );
92 }
93 serializer.endTag( NAMESPACE, tagName );
94 }
95 }
96
97
98
99
100
101
102
103
104
105 private void writeBuildAgentGroupConfiguration( BuildAgentGroupConfiguration buildAgentGroupConfiguration, String tagName, XmlSerializer serializer )
106 throws java.io.IOException
107 {
108 if ( buildAgentGroupConfiguration != null )
109 {
110 serializer.startTag( NAMESPACE, tagName );
111 if ( buildAgentGroupConfiguration.getName() != null )
112 {
113 serializer.startTag( NAMESPACE, "name" ).text( buildAgentGroupConfiguration.getName() ).endTag( NAMESPACE, "name" );
114 }
115 if ( ( buildAgentGroupConfiguration.getBuildAgents() != null ) && ( buildAgentGroupConfiguration.getBuildAgents().size() > 0 ) )
116 {
117 serializer.startTag( NAMESPACE, "buildAgents" );
118 for ( Iterator iter = buildAgentGroupConfiguration.getBuildAgents().iterator(); iter.hasNext(); )
119 {
120 BuildAgentConfiguration o = (BuildAgentConfiguration) iter.next();
121 writeBuildAgentConfiguration( o, "buildAgent", serializer );
122 }
123 serializer.endTag( NAMESPACE, "buildAgents" );
124 }
125 serializer.endTag( NAMESPACE, tagName );
126 }
127 }
128
129
130
131
132
133
134
135
136
137 private void writeContinuumConfigurationModel( ContinuumConfigurationModel continuumConfigurationModel, String tagName, XmlSerializer serializer )
138 throws java.io.IOException
139 {
140 if ( continuumConfigurationModel != null )
141 {
142 serializer.startTag( NAMESPACE, tagName );
143 if ( continuumConfigurationModel.getBaseUrl() != null )
144 {
145 serializer.startTag( NAMESPACE, "baseUrl" ).text( continuumConfigurationModel.getBaseUrl() ).endTag( NAMESPACE, "baseUrl" );
146 }
147 if ( continuumConfigurationModel.getBuildOutputDirectory() != null )
148 {
149 serializer.startTag( NAMESPACE, "buildOutputDirectory" ).text( continuumConfigurationModel.getBuildOutputDirectory() ).endTag( NAMESPACE, "buildOutputDirectory" );
150 }
151 if ( continuumConfigurationModel.getDeploymentRepositoryDirectory() != null )
152 {
153 serializer.startTag( NAMESPACE, "deploymentRepositoryDirectory" ).text( continuumConfigurationModel.getDeploymentRepositoryDirectory() ).endTag( NAMESPACE, "deploymentRepositoryDirectory" );
154 }
155 if ( continuumConfigurationModel.getWorkingDirectory() != null )
156 {
157 serializer.startTag( NAMESPACE, "workingDirectory" ).text( continuumConfigurationModel.getWorkingDirectory() ).endTag( NAMESPACE, "workingDirectory" );
158 }
159 if ( continuumConfigurationModel.getProxyConfiguration() != null )
160 {
161 writeProxyConfiguration( (ProxyConfiguration) continuumConfigurationModel.getProxyConfiguration(), "proxyConfiguration", serializer );
162 }
163 if ( continuumConfigurationModel.getReleaseOutputDirectory() != null )
164 {
165 serializer.startTag( NAMESPACE, "releaseOutputDirectory" ).text( continuumConfigurationModel.getReleaseOutputDirectory() ).endTag( NAMESPACE, "releaseOutputDirectory" );
166 }
167 if ( continuumConfigurationModel.getNumberOfBuildsInParallel() != 0 )
168 {
169 serializer.startTag( NAMESPACE, "numberOfBuildsInParallel" ).text( String.valueOf( continuumConfigurationModel.getNumberOfBuildsInParallel() ) ).endTag( NAMESPACE, "numberOfBuildsInParallel" );
170 }
171 if ( ( continuumConfigurationModel.getBuildAgents() != null ) && ( continuumConfigurationModel.getBuildAgents().size() > 0 ) )
172 {
173 serializer.startTag( NAMESPACE, "buildAgents" );
174 for ( Iterator iter = continuumConfigurationModel.getBuildAgents().iterator(); iter.hasNext(); )
175 {
176 BuildAgentConfiguration o = (BuildAgentConfiguration) iter.next();
177 writeBuildAgentConfiguration( o, "buildAgent", serializer );
178 }
179 serializer.endTag( NAMESPACE, "buildAgents" );
180 }
181 if ( ( continuumConfigurationModel.getBuildAgentGroups() != null ) && ( continuumConfigurationModel.getBuildAgentGroups().size() > 0 ) )
182 {
183 serializer.startTag( NAMESPACE, "buildAgentGroups" );
184 for ( Iterator iter = continuumConfigurationModel.getBuildAgentGroups().iterator(); iter.hasNext(); )
185 {
186 BuildAgentGroupConfiguration o = (BuildAgentGroupConfiguration) iter.next();
187 writeBuildAgentGroupConfiguration( o, "buildAgentGroup", serializer );
188 }
189 serializer.endTag( NAMESPACE, "buildAgentGroups" );
190 }
191 serializer.endTag( NAMESPACE, tagName );
192 }
193 }
194
195
196
197
198
199
200
201
202
203 private void writeProxyConfiguration( ProxyConfiguration proxyConfiguration, String tagName, XmlSerializer serializer )
204 throws java.io.IOException
205 {
206 if ( proxyConfiguration != null )
207 {
208 serializer.startTag( NAMESPACE, tagName );
209 if ( proxyConfiguration.getProxyHost() != null )
210 {
211 serializer.startTag( NAMESPACE, "proxyHost" ).text( proxyConfiguration.getProxyHost() ).endTag( NAMESPACE, "proxyHost" );
212 }
213 if ( proxyConfiguration.getProxyPort() != 0 )
214 {
215 serializer.startTag( NAMESPACE, "proxyPort" ).text( String.valueOf( proxyConfiguration.getProxyPort() ) ).endTag( NAMESPACE, "proxyPort" );
216 }
217 if ( proxyConfiguration.getProxyUser() != null )
218 {
219 serializer.startTag( NAMESPACE, "proxyUser" ).text( proxyConfiguration.getProxyUser() ).endTag( NAMESPACE, "proxyUser" );
220 }
221 if ( proxyConfiguration.getProxyPassword() != null )
222 {
223 serializer.startTag( NAMESPACE, "proxyPassword" ).text( proxyConfiguration.getProxyPassword() ).endTag( NAMESPACE, "proxyPassword" );
224 }
225 serializer.endTag( NAMESPACE, tagName );
226 }
227 }
228
229 }