001 // =================== DO NOT EDIT THIS FILE ====================
002 // Generated by Modello 1.7,
003 // any modifications will be overwritten.
004 // ==============================================================
005
006 package org.apache.maven.profiles.io.xpp3;
007
008 //---------------------------------/
009 //- Imported classes and packages -/
010 //---------------------------------/
011
012 import java.io.OutputStream;
013 import java.io.Writer;
014 import java.util.Iterator;
015 import org.apache.maven.profiles.Activation;
016 import org.apache.maven.profiles.ActivationFile;
017 import org.apache.maven.profiles.ActivationOS;
018 import org.apache.maven.profiles.ActivationProperty;
019 import org.apache.maven.profiles.Profile;
020 import org.apache.maven.profiles.ProfilesRoot;
021 import org.apache.maven.profiles.Repository;
022 import org.apache.maven.profiles.RepositoryBase;
023 import org.apache.maven.profiles.RepositoryPolicy;
024 import org.codehaus.plexus.util.xml.pull.MXSerializer;
025 import org.codehaus.plexus.util.xml.pull.XmlSerializer;
026
027 /**
028 * Class ProfilesXpp3Writer.
029 *
030 * @version $Revision$ $Date$
031 */
032 @SuppressWarnings( "all" )
033 public class ProfilesXpp3Writer
034 {
035
036 //--------------------------/
037 //- Class/Member Variables -/
038 //--------------------------/
039
040 /**
041 * Field NAMESPACE.
042 */
043 private static final String NAMESPACE = null;
044
045
046 //-----------/
047 //- Methods -/
048 //-----------/
049
050 /**
051 * Method write.
052 *
053 * @param writer
054 * @param profilesRoot
055 * @throws java.io.IOException
056 */
057 public void write( Writer writer, ProfilesRoot profilesRoot )
058 throws java.io.IOException
059 {
060 XmlSerializer serializer = new MXSerializer();
061 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
062 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
063 serializer.setOutput( writer );
064 serializer.startDocument( profilesRoot.getModelEncoding(), null );
065 writeProfilesRoot( profilesRoot, "profilesXml", serializer );
066 serializer.endDocument();
067 } //-- void write( Writer, ProfilesRoot )
068
069 /**
070 * Method write.
071 *
072 * @param stream
073 * @param profilesRoot
074 * @throws java.io.IOException
075 */
076 public void write( OutputStream stream, ProfilesRoot profilesRoot )
077 throws java.io.IOException
078 {
079 XmlSerializer serializer = new MXSerializer();
080 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
081 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
082 serializer.setOutput( stream, profilesRoot.getModelEncoding() );
083 serializer.startDocument( profilesRoot.getModelEncoding(), null );
084 writeProfilesRoot( profilesRoot, "profilesXml", serializer );
085 serializer.endDocument();
086 } //-- void write( OutputStream, ProfilesRoot )
087
088 /**
089 * Method writeActivation.
090 *
091 * @param activation
092 * @param serializer
093 * @param tagName
094 * @throws java.io.IOException
095 */
096 private void writeActivation( Activation activation, String tagName, XmlSerializer serializer )
097 throws java.io.IOException
098 {
099 serializer.startTag( NAMESPACE, tagName );
100 if ( activation.isActiveByDefault() != false )
101 {
102 serializer.startTag( NAMESPACE, "activeByDefault" ).text( String.valueOf( activation.isActiveByDefault() ) ).endTag( NAMESPACE, "activeByDefault" );
103 }
104 if ( activation.getJdk() != null )
105 {
106 serializer.startTag( NAMESPACE, "jdk" ).text( activation.getJdk() ).endTag( NAMESPACE, "jdk" );
107 }
108 if ( activation.getOs() != null )
109 {
110 writeActivationOS( (ActivationOS) activation.getOs(), "os", serializer );
111 }
112 if ( activation.getProperty() != null )
113 {
114 writeActivationProperty( (ActivationProperty) activation.getProperty(), "property", serializer );
115 }
116 if ( activation.getFile() != null )
117 {
118 writeActivationFile( (ActivationFile) activation.getFile(), "file", serializer );
119 }
120 serializer.endTag( NAMESPACE, tagName );
121 } //-- void writeActivation( Activation, String, XmlSerializer )
122
123 /**
124 * Method writeActivationFile.
125 *
126 * @param activationFile
127 * @param serializer
128 * @param tagName
129 * @throws java.io.IOException
130 */
131 private void writeActivationFile( ActivationFile activationFile, String tagName, XmlSerializer serializer )
132 throws java.io.IOException
133 {
134 serializer.startTag( NAMESPACE, tagName );
135 if ( activationFile.getMissing() != null )
136 {
137 serializer.startTag( NAMESPACE, "missing" ).text( activationFile.getMissing() ).endTag( NAMESPACE, "missing" );
138 }
139 if ( activationFile.getExists() != null )
140 {
141 serializer.startTag( NAMESPACE, "exists" ).text( activationFile.getExists() ).endTag( NAMESPACE, "exists" );
142 }
143 serializer.endTag( NAMESPACE, tagName );
144 } //-- void writeActivationFile( ActivationFile, String, XmlSerializer )
145
146 /**
147 * Method writeActivationOS.
148 *
149 * @param activationOS
150 * @param serializer
151 * @param tagName
152 * @throws java.io.IOException
153 */
154 private void writeActivationOS( ActivationOS activationOS, String tagName, XmlSerializer serializer )
155 throws java.io.IOException
156 {
157 serializer.startTag( NAMESPACE, tagName );
158 if ( activationOS.getName() != null )
159 {
160 serializer.startTag( NAMESPACE, "name" ).text( activationOS.getName() ).endTag( NAMESPACE, "name" );
161 }
162 if ( activationOS.getFamily() != null )
163 {
164 serializer.startTag( NAMESPACE, "family" ).text( activationOS.getFamily() ).endTag( NAMESPACE, "family" );
165 }
166 if ( activationOS.getArch() != null )
167 {
168 serializer.startTag( NAMESPACE, "arch" ).text( activationOS.getArch() ).endTag( NAMESPACE, "arch" );
169 }
170 if ( activationOS.getVersion() != null )
171 {
172 serializer.startTag( NAMESPACE, "version" ).text( activationOS.getVersion() ).endTag( NAMESPACE, "version" );
173 }
174 serializer.endTag( NAMESPACE, tagName );
175 } //-- void writeActivationOS( ActivationOS, String, XmlSerializer )
176
177 /**
178 * Method writeActivationProperty.
179 *
180 * @param activationProperty
181 * @param serializer
182 * @param tagName
183 * @throws java.io.IOException
184 */
185 private void writeActivationProperty( ActivationProperty activationProperty, String tagName, XmlSerializer serializer )
186 throws java.io.IOException
187 {
188 serializer.startTag( NAMESPACE, tagName );
189 if ( activationProperty.getName() != null )
190 {
191 serializer.startTag( NAMESPACE, "name" ).text( activationProperty.getName() ).endTag( NAMESPACE, "name" );
192 }
193 if ( activationProperty.getValue() != null )
194 {
195 serializer.startTag( NAMESPACE, "value" ).text( activationProperty.getValue() ).endTag( NAMESPACE, "value" );
196 }
197 serializer.endTag( NAMESPACE, tagName );
198 } //-- void writeActivationProperty( ActivationProperty, String, XmlSerializer )
199
200 /**
201 * Method writeProfile.
202 *
203 * @param profile
204 * @param serializer
205 * @param tagName
206 * @throws java.io.IOException
207 */
208 private void writeProfile( Profile profile, String tagName, XmlSerializer serializer )
209 throws java.io.IOException
210 {
211 serializer.startTag( NAMESPACE, tagName );
212 if ( profile.getId() != null )
213 {
214 serializer.startTag( NAMESPACE, "id" ).text( profile.getId() ).endTag( NAMESPACE, "id" );
215 }
216 if ( profile.getActivation() != null )
217 {
218 writeActivation( (Activation) profile.getActivation(), "activation", serializer );
219 }
220 if ( ( profile.getProperties() != null ) && ( profile.getProperties().size() > 0 ) )
221 {
222 serializer.startTag( NAMESPACE, "properties" );
223 for ( Iterator iter = profile.getProperties().keySet().iterator(); iter.hasNext(); )
224 {
225 String key = (String) iter.next();
226 String value = (String) profile.getProperties().get( key );
227 serializer.startTag( NAMESPACE, "" + key + "" ).text( value ).endTag( NAMESPACE, "" + key + "" );
228 }
229 serializer.endTag( NAMESPACE, "properties" );
230 }
231 if ( ( profile.getRepositories() != null ) && ( profile.getRepositories().size() > 0 ) )
232 {
233 serializer.startTag( NAMESPACE, "repositories" );
234 for ( Iterator iter = profile.getRepositories().iterator(); iter.hasNext(); )
235 {
236 Repository o = (Repository) iter.next();
237 writeRepository( o, "repository", serializer );
238 }
239 serializer.endTag( NAMESPACE, "repositories" );
240 }
241 if ( ( profile.getPluginRepositories() != null ) && ( profile.getPluginRepositories().size() > 0 ) )
242 {
243 serializer.startTag( NAMESPACE, "pluginRepositories" );
244 for ( Iterator iter = profile.getPluginRepositories().iterator(); iter.hasNext(); )
245 {
246 Repository o = (Repository) iter.next();
247 writeRepository( o, "pluginRepository", serializer );
248 }
249 serializer.endTag( NAMESPACE, "pluginRepositories" );
250 }
251 serializer.endTag( NAMESPACE, tagName );
252 } //-- void writeProfile( Profile, String, XmlSerializer )
253
254 /**
255 * Method writeProfilesRoot.
256 *
257 * @param profilesRoot
258 * @param serializer
259 * @param tagName
260 * @throws java.io.IOException
261 */
262 private void writeProfilesRoot( ProfilesRoot profilesRoot, String tagName, XmlSerializer serializer )
263 throws java.io.IOException
264 {
265 serializer.setPrefix( "", "http://maven.apache.org/PROFILES/1.0.0" );
266 serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
267 serializer.startTag( NAMESPACE, tagName );
268 serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/PROFILES/1.0.0 http://maven.apache.org/xsd/profiles-1.0.0.xsd" );
269 if ( ( profilesRoot.getProfiles() != null ) && ( profilesRoot.getProfiles().size() > 0 ) )
270 {
271 serializer.startTag( NAMESPACE, "profiles" );
272 for ( Iterator iter = profilesRoot.getProfiles().iterator(); iter.hasNext(); )
273 {
274 Profile o = (Profile) iter.next();
275 writeProfile( o, "profile", serializer );
276 }
277 serializer.endTag( NAMESPACE, "profiles" );
278 }
279 if ( ( profilesRoot.getActiveProfiles() != null ) && ( profilesRoot.getActiveProfiles().size() > 0 ) )
280 {
281 serializer.startTag( NAMESPACE, "activeProfiles" );
282 for ( Iterator iter = profilesRoot.getActiveProfiles().iterator(); iter.hasNext(); )
283 {
284 String activeProfile = (String) iter.next();
285 serializer.startTag( NAMESPACE, "activeProfile" ).text( activeProfile ).endTag( NAMESPACE, "activeProfile" );
286 }
287 serializer.endTag( NAMESPACE, "activeProfiles" );
288 }
289 serializer.endTag( NAMESPACE, tagName );
290 } //-- void writeProfilesRoot( ProfilesRoot, String, XmlSerializer )
291
292 /**
293 * Method writeRepository.
294 *
295 * @param repository
296 * @param serializer
297 * @param tagName
298 * @throws java.io.IOException
299 */
300 private void writeRepository( Repository repository, String tagName, XmlSerializer serializer )
301 throws java.io.IOException
302 {
303 serializer.startTag( NAMESPACE, tagName );
304 if ( repository.getReleases() != null )
305 {
306 writeRepositoryPolicy( (RepositoryPolicy) repository.getReleases(), "releases", serializer );
307 }
308 if ( repository.getSnapshots() != null )
309 {
310 writeRepositoryPolicy( (RepositoryPolicy) repository.getSnapshots(), "snapshots", serializer );
311 }
312 if ( repository.getId() != null )
313 {
314 serializer.startTag( NAMESPACE, "id" ).text( repository.getId() ).endTag( NAMESPACE, "id" );
315 }
316 if ( repository.getName() != null )
317 {
318 serializer.startTag( NAMESPACE, "name" ).text( repository.getName() ).endTag( NAMESPACE, "name" );
319 }
320 if ( repository.getUrl() != null )
321 {
322 serializer.startTag( NAMESPACE, "url" ).text( repository.getUrl() ).endTag( NAMESPACE, "url" );
323 }
324 if ( ( repository.getLayout() != null ) && !repository.getLayout().equals( "default" ) )
325 {
326 serializer.startTag( NAMESPACE, "layout" ).text( repository.getLayout() ).endTag( NAMESPACE, "layout" );
327 }
328 serializer.endTag( NAMESPACE, tagName );
329 } //-- void writeRepository( Repository, String, XmlSerializer )
330
331 /**
332 * Method writeRepositoryBase.
333 *
334 * @param repositoryBase
335 * @param serializer
336 * @param tagName
337 * @throws java.io.IOException
338 */
339 private void writeRepositoryBase( RepositoryBase repositoryBase, String tagName, XmlSerializer serializer )
340 throws java.io.IOException
341 {
342 serializer.startTag( NAMESPACE, tagName );
343 if ( repositoryBase.getId() != null )
344 {
345 serializer.startTag( NAMESPACE, "id" ).text( repositoryBase.getId() ).endTag( NAMESPACE, "id" );
346 }
347 if ( repositoryBase.getName() != null )
348 {
349 serializer.startTag( NAMESPACE, "name" ).text( repositoryBase.getName() ).endTag( NAMESPACE, "name" );
350 }
351 if ( repositoryBase.getUrl() != null )
352 {
353 serializer.startTag( NAMESPACE, "url" ).text( repositoryBase.getUrl() ).endTag( NAMESPACE, "url" );
354 }
355 if ( ( repositoryBase.getLayout() != null ) && !repositoryBase.getLayout().equals( "default" ) )
356 {
357 serializer.startTag( NAMESPACE, "layout" ).text( repositoryBase.getLayout() ).endTag( NAMESPACE, "layout" );
358 }
359 serializer.endTag( NAMESPACE, tagName );
360 } //-- void writeRepositoryBase( RepositoryBase, String, XmlSerializer )
361
362 /**
363 * Method writeRepositoryPolicy.
364 *
365 * @param repositoryPolicy
366 * @param serializer
367 * @param tagName
368 * @throws java.io.IOException
369 */
370 private void writeRepositoryPolicy( RepositoryPolicy repositoryPolicy, String tagName, XmlSerializer serializer )
371 throws java.io.IOException
372 {
373 serializer.startTag( NAMESPACE, tagName );
374 if ( repositoryPolicy.isEnabled() != true )
375 {
376 serializer.startTag( NAMESPACE, "enabled" ).text( String.valueOf( repositoryPolicy.isEnabled() ) ).endTag( NAMESPACE, "enabled" );
377 }
378 if ( repositoryPolicy.getUpdatePolicy() != null )
379 {
380 serializer.startTag( NAMESPACE, "updatePolicy" ).text( repositoryPolicy.getUpdatePolicy() ).endTag( NAMESPACE, "updatePolicy" );
381 }
382 if ( repositoryPolicy.getChecksumPolicy() != null )
383 {
384 serializer.startTag( NAMESPACE, "checksumPolicy" ).text( repositoryPolicy.getChecksumPolicy() ).endTag( NAMESPACE, "checksumPolicy" );
385 }
386 serializer.endTag( NAMESPACE, tagName );
387 } //-- void writeRepositoryPolicy( RepositoryPolicy, String, XmlSerializer )
388
389 }