1
2
3
4
5
6 package org.apache.maven.model.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.model.Activation;
16 import org.apache.maven.model.ActivationFile;
17 import org.apache.maven.model.ActivationOS;
18 import org.apache.maven.model.ActivationProperty;
19 import org.apache.maven.model.Build;
20 import org.apache.maven.model.BuildBase;
21 import org.apache.maven.model.CiManagement;
22 import org.apache.maven.model.ConfigurationContainer;
23 import org.apache.maven.model.Contributor;
24 import org.apache.maven.model.Dependency;
25 import org.apache.maven.model.DependencyManagement;
26 import org.apache.maven.model.DeploymentRepository;
27 import org.apache.maven.model.Developer;
28 import org.apache.maven.model.DistributionManagement;
29 import org.apache.maven.model.Exclusion;
30 import org.apache.maven.model.Extension;
31 import org.apache.maven.model.FileSet;
32 import org.apache.maven.model.InputLocation;
33 import org.apache.maven.model.InputLocationTracker;
34 import org.apache.maven.model.IssueManagement;
35 import org.apache.maven.model.License;
36 import org.apache.maven.model.MailingList;
37 import org.apache.maven.model.Model;
38 import org.apache.maven.model.ModelBase;
39 import org.apache.maven.model.Notifier;
40 import org.apache.maven.model.Organization;
41 import org.apache.maven.model.Parent;
42 import org.apache.maven.model.PatternSet;
43 import org.apache.maven.model.Plugin;
44 import org.apache.maven.model.PluginConfiguration;
45 import org.apache.maven.model.PluginContainer;
46 import org.apache.maven.model.PluginExecution;
47 import org.apache.maven.model.PluginManagement;
48 import org.apache.maven.model.Prerequisites;
49 import org.apache.maven.model.Profile;
50 import org.apache.maven.model.Relocation;
51 import org.apache.maven.model.ReportPlugin;
52 import org.apache.maven.model.ReportSet;
53 import org.apache.maven.model.Reporting;
54 import org.apache.maven.model.Repository;
55 import org.apache.maven.model.RepositoryBase;
56 import org.apache.maven.model.RepositoryPolicy;
57 import org.apache.maven.model.Resource;
58 import org.apache.maven.model.Scm;
59 import org.apache.maven.model.Site;
60 import org.codehaus.plexus.util.xml.Xpp3Dom;
61 import org.codehaus.plexus.util.xml.pull.MXSerializer;
62 import org.codehaus.plexus.util.xml.pull.XmlSerializer;
63
64
65
66
67
68
69 @SuppressWarnings( "all" )
70 public class MavenXpp3WriterExOldSupport
71 {
72
73
74
75
76
77
78
79
80 private static final String NAMESPACE = null;
81
82
83
84
85 private String fileComment = null;
86
87
88
89
90 protected InputLocation.StringFormatter stringFormatter;
91
92
93
94
95
96
97
98
99
100
101
102 public void setFileComment( String fileComment )
103 {
104 this.fileComment = fileComment;
105 }
106
107
108
109
110
111
112 public void setStringFormatter( InputLocation.StringFormatter stringFormatter )
113 {
114 this.stringFormatter = stringFormatter;
115 }
116
117
118
119
120
121
122
123 protected String toString( InputLocation location )
124 {
125 if ( stringFormatter != null )
126 {
127 return stringFormatter.toString( location );
128 }
129 return ' ' + location.getSource().toString() + ':' + location.getLineNumber() + ' ';
130 }
131
132
133
134
135
136
137
138
139 public void write( Writer writer, Model model )
140 throws java.io.IOException
141 {
142 XmlSerializer serializer = new MXSerializer();
143 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
144 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
145 serializer.setOutput( writer );
146 serializer.startDocument( model.getModelEncoding(), null );
147 writeModel( model, "project", serializer );
148 serializer.endDocument();
149 }
150
151
152
153
154
155
156
157
158 public void write( OutputStream stream, Model model )
159 throws java.io.IOException
160 {
161 XmlSerializer serializer = new MXSerializer();
162 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
163 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
164 serializer.setOutput( stream, model.getModelEncoding() );
165 serializer.startDocument( model.getModelEncoding(), null );
166 writeModel( model, "project", serializer );
167 serializer.endDocument();
168 }
169
170
171
172
173
174
175
176
177 protected void writeXpp3DomToSerializer( Xpp3Dom dom, XmlSerializer serializer )
178 throws java.io.IOException
179 {
180 serializer.startTag( NAMESPACE, dom.getName() );
181
182 String[] attributeNames = dom.getAttributeNames();
183 for ( String attributeName : attributeNames )
184 {
185 serializer.attribute( NAMESPACE, attributeName, dom.getAttribute( attributeName ) );
186 }
187 for ( Xpp3Dom aChild : dom.getChildren() )
188 {
189 writeXpp3DomToSerializer( aChild, serializer );
190 }
191
192 String value = dom.getValue();
193 if ( value != null )
194 {
195 serializer.text( value );
196 }
197
198 serializer.endTag( NAMESPACE, dom.getName() );
199
200 if ( dom.getInputLocation() != null && dom.getChildCount() == 0 )
201 {
202 serializer.comment( toString( (InputLocation) dom.getInputLocation() ) );
203 }
204 }
205
206
207
208
209
210
211
212
213
214 private void writeActivation( Activation activation, String tagName, XmlSerializer serializer )
215 throws java.io.IOException
216 {
217 serializer.startTag( NAMESPACE, tagName );
218 if ( activation.isActiveByDefault() != false )
219 {
220 serializer.startTag( NAMESPACE, "activeByDefault" ).text( String.valueOf( activation.isActiveByDefault() ) ).endTag( NAMESPACE, "activeByDefault" );
221 writeLocationTracking( activation, "activeByDefault", serializer );
222 }
223 if ( activation.getJdk() != null )
224 {
225 serializer.startTag( NAMESPACE, "jdk" ).text( activation.getJdk() ).endTag( NAMESPACE, "jdk" );
226 writeLocationTracking( activation, "jdk", serializer );
227 }
228 if ( activation.getOs() != null )
229 {
230 writeActivationOS( (ActivationOS) activation.getOs(), "os", serializer );
231 }
232 if ( activation.getProperty() != null )
233 {
234 writeActivationProperty( (ActivationProperty) activation.getProperty(), "property", serializer );
235 }
236 if ( activation.getFile() != null )
237 {
238 writeActivationFile( (ActivationFile) activation.getFile(), "file", serializer );
239 }
240 serializer.endTag( NAMESPACE, tagName );
241 }
242
243
244
245
246
247
248
249
250
251 private void writeActivationFile( ActivationFile activationFile, String tagName, XmlSerializer serializer )
252 throws java.io.IOException
253 {
254 serializer.startTag( NAMESPACE, tagName );
255 if ( activationFile.getMissing() != null )
256 {
257 serializer.startTag( NAMESPACE, "missing" ).text( activationFile.getMissing() ).endTag( NAMESPACE, "missing" );
258 writeLocationTracking( activationFile, "missing", serializer );
259 }
260 if ( activationFile.getExists() != null )
261 {
262 serializer.startTag( NAMESPACE, "exists" ).text( activationFile.getExists() ).endTag( NAMESPACE, "exists" );
263 writeLocationTracking( activationFile, "exists", serializer );
264 }
265 serializer.endTag( NAMESPACE, tagName );
266 }
267
268
269
270
271
272
273
274
275
276 private void writeActivationOS( ActivationOS activationOS, String tagName, XmlSerializer serializer )
277 throws java.io.IOException
278 {
279 serializer.startTag( NAMESPACE, tagName );
280 if ( activationOS.getName() != null )
281 {
282 serializer.startTag( NAMESPACE, "name" ).text( activationOS.getName() ).endTag( NAMESPACE, "name" );
283 writeLocationTracking( activationOS, "name", serializer );
284 }
285 if ( activationOS.getFamily() != null )
286 {
287 serializer.startTag( NAMESPACE, "family" ).text( activationOS.getFamily() ).endTag( NAMESPACE, "family" );
288 writeLocationTracking( activationOS, "family", serializer );
289 }
290 if ( activationOS.getArch() != null )
291 {
292 serializer.startTag( NAMESPACE, "arch" ).text( activationOS.getArch() ).endTag( NAMESPACE, "arch" );
293 writeLocationTracking( activationOS, "arch", serializer );
294 }
295 if ( activationOS.getVersion() != null )
296 {
297 serializer.startTag( NAMESPACE, "version" ).text( activationOS.getVersion() ).endTag( NAMESPACE, "version" );
298 writeLocationTracking( activationOS, "version", serializer );
299 }
300 serializer.endTag( NAMESPACE, tagName );
301 }
302
303
304
305
306
307
308
309
310
311 private void writeActivationProperty( ActivationProperty activationProperty, String tagName, XmlSerializer serializer )
312 throws java.io.IOException
313 {
314 serializer.startTag( NAMESPACE, tagName );
315 if ( activationProperty.getName() != null )
316 {
317 serializer.startTag( NAMESPACE, "name" ).text( activationProperty.getName() ).endTag( NAMESPACE, "name" );
318 writeLocationTracking( activationProperty, "name", serializer );
319 }
320 if ( activationProperty.getValue() != null )
321 {
322 serializer.startTag( NAMESPACE, "value" ).text( activationProperty.getValue() ).endTag( NAMESPACE, "value" );
323 writeLocationTracking( activationProperty, "value", serializer );
324 }
325 serializer.endTag( NAMESPACE, tagName );
326 }
327
328
329
330
331
332
333
334
335
336 private void writeBuild( Build build, String tagName, XmlSerializer serializer )
337 throws java.io.IOException
338 {
339 serializer.startTag( NAMESPACE, tagName );
340 if ( build.getSourceDirectory() != null )
341 {
342 serializer.startTag( NAMESPACE, "sourceDirectory" ).text( build.getSourceDirectory() ).endTag( NAMESPACE, "sourceDirectory" );
343 writeLocationTracking( build, "sourceDirectory", serializer );
344 }
345 if ( build.getScriptSourceDirectory() != null )
346 {
347 serializer.startTag( NAMESPACE, "scriptSourceDirectory" ).text( build.getScriptSourceDirectory() ).endTag( NAMESPACE, "scriptSourceDirectory" );
348 writeLocationTracking( build, "scriptSourceDirectory", serializer );
349 }
350 if ( build.getTestSourceDirectory() != null )
351 {
352 serializer.startTag( NAMESPACE, "testSourceDirectory" ).text( build.getTestSourceDirectory() ).endTag( NAMESPACE, "testSourceDirectory" );
353 writeLocationTracking( build, "testSourceDirectory", serializer );
354 }
355 if ( build.getOutputDirectory() != null )
356 {
357 serializer.startTag( NAMESPACE, "outputDirectory" ).text( build.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
358 writeLocationTracking( build, "outputDirectory", serializer );
359 }
360 if ( build.getTestOutputDirectory() != null )
361 {
362 serializer.startTag( NAMESPACE, "testOutputDirectory" ).text( build.getTestOutputDirectory() ).endTag( NAMESPACE, "testOutputDirectory" );
363 writeLocationTracking( build, "testOutputDirectory", serializer );
364 }
365 if ( ( build.getExtensions() != null ) && ( build.getExtensions().size() > 0 ) )
366 {
367 serializer.startTag( NAMESPACE, "extensions" );
368 for ( Iterator iter = build.getExtensions().iterator(); iter.hasNext(); )
369 {
370 Extension o = (Extension) iter.next();
371 writeExtension( o, "extension", serializer );
372 }
373 serializer.endTag( NAMESPACE, "extensions" );
374 }
375 if ( build.getDefaultGoal() != null )
376 {
377 serializer.startTag( NAMESPACE, "defaultGoal" ).text( build.getDefaultGoal() ).endTag( NAMESPACE, "defaultGoal" );
378 writeLocationTracking( build, "defaultGoal", serializer );
379 }
380 if ( ( build.getResources() != null ) && ( build.getResources().size() > 0 ) )
381 {
382 serializer.startTag( NAMESPACE, "resources" );
383 for ( Iterator iter = build.getResources().iterator(); iter.hasNext(); )
384 {
385 Resource o = (Resource) iter.next();
386 writeResource( o, "resource", serializer );
387 }
388 serializer.endTag( NAMESPACE, "resources" );
389 }
390 if ( ( build.getTestResources() != null ) && ( build.getTestResources().size() > 0 ) )
391 {
392 serializer.startTag( NAMESPACE, "testResources" );
393 for ( Iterator iter = build.getTestResources().iterator(); iter.hasNext(); )
394 {
395 Resource o = (Resource) iter.next();
396 writeResource( o, "testResource", serializer );
397 }
398 serializer.endTag( NAMESPACE, "testResources" );
399 }
400 if ( build.getDirectory() != null )
401 {
402 serializer.startTag( NAMESPACE, "directory" ).text( build.getDirectory() ).endTag( NAMESPACE, "directory" );
403 writeLocationTracking( build, "directory", serializer );
404 }
405 if ( build.getFinalName() != null )
406 {
407 serializer.startTag( NAMESPACE, "finalName" ).text( build.getFinalName() ).endTag( NAMESPACE, "finalName" );
408 writeLocationTracking( build, "finalName", serializer );
409 }
410 if ( ( build.getFilters() != null ) && ( build.getFilters().size() > 0 ) )
411 {
412 serializer.startTag( NAMESPACE, "filters" );
413 InputLocation location = build.getLocation( "filters" );
414 int n = 0;
415 for ( Iterator iter = build.getFilters().iterator(); iter.hasNext(); )
416 {
417 String filter = (String) iter.next();
418 serializer.startTag( NAMESPACE, "filter" ).text( filter ).endTag( NAMESPACE, "filter" );
419 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
420 }
421 serializer.endTag( NAMESPACE, "filters" );
422 }
423 if ( build.getPluginManagement() != null )
424 {
425 writePluginManagement( (PluginManagement) build.getPluginManagement(), "pluginManagement", serializer );
426 }
427 if ( ( build.getPlugins() != null ) && ( build.getPlugins().size() > 0 ) )
428 {
429 serializer.startTag( NAMESPACE, "plugins" );
430 for ( Iterator iter = build.getPlugins().iterator(); iter.hasNext(); )
431 {
432 Plugin o = (Plugin) iter.next();
433 writePlugin( o, "plugin", serializer );
434 }
435 serializer.endTag( NAMESPACE, "plugins" );
436 }
437 serializer.endTag( NAMESPACE, tagName );
438 }
439
440
441
442
443
444
445
446
447
448 private void writeBuildBase( BuildBase buildBase, String tagName, XmlSerializer serializer )
449 throws java.io.IOException
450 {
451 serializer.startTag( NAMESPACE, tagName );
452 if ( buildBase.getDefaultGoal() != null )
453 {
454 serializer.startTag( NAMESPACE, "defaultGoal" ).text( buildBase.getDefaultGoal() ).endTag( NAMESPACE, "defaultGoal" );
455 writeLocationTracking( buildBase, "defaultGoal", serializer );
456 }
457 if ( ( buildBase.getResources() != null ) && ( buildBase.getResources().size() > 0 ) )
458 {
459 serializer.startTag( NAMESPACE, "resources" );
460 for ( Iterator iter = buildBase.getResources().iterator(); iter.hasNext(); )
461 {
462 Resource o = (Resource) iter.next();
463 writeResource( o, "resource", serializer );
464 }
465 serializer.endTag( NAMESPACE, "resources" );
466 }
467 if ( ( buildBase.getTestResources() != null ) && ( buildBase.getTestResources().size() > 0 ) )
468 {
469 serializer.startTag( NAMESPACE, "testResources" );
470 for ( Iterator iter = buildBase.getTestResources().iterator(); iter.hasNext(); )
471 {
472 Resource o = (Resource) iter.next();
473 writeResource( o, "testResource", serializer );
474 }
475 serializer.endTag( NAMESPACE, "testResources" );
476 }
477 if ( buildBase.getDirectory() != null )
478 {
479 serializer.startTag( NAMESPACE, "directory" ).text( buildBase.getDirectory() ).endTag( NAMESPACE, "directory" );
480 writeLocationTracking( buildBase, "directory", serializer );
481 }
482 if ( buildBase.getFinalName() != null )
483 {
484 serializer.startTag( NAMESPACE, "finalName" ).text( buildBase.getFinalName() ).endTag( NAMESPACE, "finalName" );
485 writeLocationTracking( buildBase, "finalName", serializer );
486 }
487 if ( ( buildBase.getFilters() != null ) && ( buildBase.getFilters().size() > 0 ) )
488 {
489 serializer.startTag( NAMESPACE, "filters" );
490 InputLocation location = buildBase.getLocation( "filters" );
491 int n = 0;
492 for ( Iterator iter = buildBase.getFilters().iterator(); iter.hasNext(); )
493 {
494 String filter = (String) iter.next();
495 serializer.startTag( NAMESPACE, "filter" ).text( filter ).endTag( NAMESPACE, "filter" );
496 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
497 }
498 serializer.endTag( NAMESPACE, "filters" );
499 }
500 if ( buildBase.getPluginManagement() != null )
501 {
502 writePluginManagement( (PluginManagement) buildBase.getPluginManagement(), "pluginManagement", serializer );
503 }
504 if ( ( buildBase.getPlugins() != null ) && ( buildBase.getPlugins().size() > 0 ) )
505 {
506 serializer.startTag( NAMESPACE, "plugins" );
507 for ( Iterator iter = buildBase.getPlugins().iterator(); iter.hasNext(); )
508 {
509 Plugin o = (Plugin) iter.next();
510 writePlugin( o, "plugin", serializer );
511 }
512 serializer.endTag( NAMESPACE, "plugins" );
513 }
514 serializer.endTag( NAMESPACE, tagName );
515 }
516
517
518
519
520
521
522
523
524
525 private void writeCiManagement( CiManagement ciManagement, String tagName, XmlSerializer serializer )
526 throws java.io.IOException
527 {
528 serializer.startTag( NAMESPACE, tagName );
529 if ( ciManagement.getSystem() != null )
530 {
531 serializer.startTag( NAMESPACE, "system" ).text( ciManagement.getSystem() ).endTag( NAMESPACE, "system" );
532 writeLocationTracking( ciManagement, "system", serializer );
533 }
534 if ( ciManagement.getUrl() != null )
535 {
536 serializer.startTag( NAMESPACE, "url" ).text( ciManagement.getUrl() ).endTag( NAMESPACE, "url" );
537 writeLocationTracking( ciManagement, "url", serializer );
538 }
539 if ( ( ciManagement.getNotifiers() != null ) && ( ciManagement.getNotifiers().size() > 0 ) )
540 {
541 serializer.startTag( NAMESPACE, "notifiers" );
542 for ( Iterator iter = ciManagement.getNotifiers().iterator(); iter.hasNext(); )
543 {
544 Notifier o = (Notifier) iter.next();
545 writeNotifier( o, "notifier", serializer );
546 }
547 serializer.endTag( NAMESPACE, "notifiers" );
548 }
549 serializer.endTag( NAMESPACE, tagName );
550 }
551
552
553
554
555
556
557
558
559
560
561 private void writeConfigurationContainer( ConfigurationContainer configurationContainer, String tagName, XmlSerializer serializer )
562 throws java.io.IOException
563 {
564 serializer.startTag( NAMESPACE, tagName );
565 if ( configurationContainer.getInherited() != null )
566 {
567 serializer.startTag( NAMESPACE, "inherited" ).text( configurationContainer.getInherited() ).endTag( NAMESPACE, "inherited" );
568 writeLocationTracking( configurationContainer, "inherited", serializer );
569 }
570 if ( configurationContainer.getConfiguration() != null )
571 {
572 writeXpp3DomToSerializer( (Xpp3Dom) configurationContainer.getConfiguration(), serializer );
573 }
574 serializer.endTag( NAMESPACE, tagName );
575 }
576
577
578
579
580
581
582
583
584
585 private void writeContributor( Contributor contributor, String tagName, XmlSerializer serializer )
586 throws java.io.IOException
587 {
588 serializer.startTag( NAMESPACE, tagName );
589 if ( contributor.getName() != null )
590 {
591 serializer.startTag( NAMESPACE, "name" ).text( contributor.getName() ).endTag( NAMESPACE, "name" );
592 writeLocationTracking( contributor, "name", serializer );
593 }
594 if ( contributor.getEmail() != null )
595 {
596 serializer.startTag( NAMESPACE, "email" ).text( contributor.getEmail() ).endTag( NAMESPACE, "email" );
597 writeLocationTracking( contributor, "email", serializer );
598 }
599 if ( contributor.getUrl() != null )
600 {
601 serializer.startTag( NAMESPACE, "url" ).text( contributor.getUrl() ).endTag( NAMESPACE, "url" );
602 writeLocationTracking( contributor, "url", serializer );
603 }
604 if ( contributor.getOrganization() != null )
605 {
606 serializer.startTag( NAMESPACE, "organization" ).text( contributor.getOrganization() ).endTag( NAMESPACE, "organization" );
607 writeLocationTracking( contributor, "organization", serializer );
608 }
609 if ( contributor.getOrganizationUrl() != null )
610 {
611 serializer.startTag( NAMESPACE, "organizationUrl" ).text( contributor.getOrganizationUrl() ).endTag( NAMESPACE, "organizationUrl" );
612 writeLocationTracking( contributor, "organizationUrl", serializer );
613 }
614 if ( ( contributor.getRoles() != null ) && ( contributor.getRoles().size() > 0 ) )
615 {
616 serializer.startTag( NAMESPACE, "roles" );
617 InputLocation location = contributor.getLocation( "roles" );
618 int n = 0;
619 for ( Iterator iter = contributor.getRoles().iterator(); iter.hasNext(); )
620 {
621 String role = (String) iter.next();
622 serializer.startTag( NAMESPACE, "role" ).text( role ).endTag( NAMESPACE, "role" );
623 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
624 }
625 serializer.endTag( NAMESPACE, "roles" );
626 }
627 if ( contributor.getTimezone() != null )
628 {
629 serializer.startTag( NAMESPACE, "timezone" ).text( contributor.getTimezone() ).endTag( NAMESPACE, "timezone" );
630 writeLocationTracking( contributor, "timezone", serializer );
631 }
632 if ( ( contributor.getProperties() != null ) && ( contributor.getProperties().size() > 0 ) )
633 {
634 serializer.startTag( NAMESPACE, "properties" );
635 InputLocation location = contributor.getLocation( "properties" );
636 for ( Iterator iter = contributor.getProperties().keySet().iterator(); iter.hasNext(); )
637 {
638 String key = (String) iter.next();
639 String value = (String) contributor.getProperties().get( key );
640 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
641 writeLocationTracking( location, key, serializer );
642 }
643 serializer.endTag( NAMESPACE, "properties" );
644 }
645 serializer.endTag( NAMESPACE, tagName );
646 }
647
648
649
650
651
652
653
654
655
656 private void writeDependency( Dependency dependency, String tagName, XmlSerializer serializer )
657 throws java.io.IOException
658 {
659 serializer.startTag( NAMESPACE, tagName );
660 if ( dependency.getGroupId() != null )
661 {
662 serializer.startTag( NAMESPACE, "groupId" ).text( dependency.getGroupId() ).endTag( NAMESPACE, "groupId" );
663 writeLocationTracking( dependency, "groupId", serializer );
664 }
665 if ( dependency.getArtifactId() != null )
666 {
667 serializer.startTag( NAMESPACE, "artifactId" ).text( dependency.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
668 writeLocationTracking( dependency, "artifactId", serializer );
669 }
670 if ( dependency.getVersion() != null )
671 {
672 serializer.startTag( NAMESPACE, "version" ).text( dependency.getVersion() ).endTag( NAMESPACE, "version" );
673 writeLocationTracking( dependency, "version", serializer );
674 }
675 if ( ( dependency.getType() != null ) && !dependency.getType().equals( "jar" ) )
676 {
677 serializer.startTag( NAMESPACE, "type" ).text( dependency.getType() ).endTag( NAMESPACE, "type" );
678 writeLocationTracking( dependency, "type", serializer );
679 }
680 if ( dependency.getClassifier() != null )
681 {
682 serializer.startTag( NAMESPACE, "classifier" ).text( dependency.getClassifier() ).endTag( NAMESPACE, "classifier" );
683 writeLocationTracking( dependency, "classifier", serializer );
684 }
685 if ( dependency.getScope() != null )
686 {
687 serializer.startTag( NAMESPACE, "scope" ).text( dependency.getScope() ).endTag( NAMESPACE, "scope" );
688 writeLocationTracking( dependency, "scope", serializer );
689 }
690 if ( dependency.getSystemPath() != null )
691 {
692 serializer.startTag( NAMESPACE, "systemPath" ).text( dependency.getSystemPath() ).endTag( NAMESPACE, "systemPath" );
693 writeLocationTracking( dependency, "systemPath", serializer );
694 }
695 if ( ( dependency.getExclusions() != null ) && ( dependency.getExclusions().size() > 0 ) )
696 {
697 serializer.startTag( NAMESPACE, "exclusions" );
698 for ( Iterator iter = dependency.getExclusions().iterator(); iter.hasNext(); )
699 {
700 Exclusion o = (Exclusion) iter.next();
701 writeExclusion( o, "exclusion", serializer );
702 }
703 serializer.endTag( NAMESPACE, "exclusions" );
704 }
705 if ( dependency.getOptional() != null )
706 {
707 serializer.startTag( NAMESPACE, "optional" ).text( dependency.getOptional() ).endTag( NAMESPACE, "optional" );
708 writeLocationTracking( dependency, "optional", serializer );
709 }
710 serializer.endTag( NAMESPACE, tagName );
711 }
712
713
714
715
716
717
718
719
720
721 private void writeDependencyManagement( DependencyManagement dependencyManagement, String tagName, XmlSerializer serializer )
722 throws java.io.IOException
723 {
724 serializer.startTag( NAMESPACE, tagName );
725 if ( ( dependencyManagement.getDependencies() != null ) && ( dependencyManagement.getDependencies().size() > 0 ) )
726 {
727 serializer.startTag( NAMESPACE, "dependencies" );
728 for ( Iterator iter = dependencyManagement.getDependencies().iterator(); iter.hasNext(); )
729 {
730 Dependency o = (Dependency) iter.next();
731 writeDependency( o, "dependency", serializer );
732 }
733 serializer.endTag( NAMESPACE, "dependencies" );
734 }
735 serializer.endTag( NAMESPACE, tagName );
736 }
737
738
739
740
741
742
743
744
745
746 private void writeDeploymentRepository( DeploymentRepository deploymentRepository, String tagName, XmlSerializer serializer )
747 throws java.io.IOException
748 {
749 serializer.startTag( NAMESPACE, tagName );
750 if ( deploymentRepository.isUniqueVersion() != true )
751 {
752 serializer.startTag( NAMESPACE, "uniqueVersion" ).text( String.valueOf( deploymentRepository.isUniqueVersion() ) ).endTag( NAMESPACE, "uniqueVersion" );
753 writeLocationTracking( deploymentRepository, "uniqueVersion", serializer );
754 }
755 if ( deploymentRepository.getReleases() != null )
756 {
757 writeRepositoryPolicy( (RepositoryPolicy) deploymentRepository.getReleases(), "releases", serializer );
758 }
759 if ( deploymentRepository.getSnapshots() != null )
760 {
761 writeRepositoryPolicy( (RepositoryPolicy) deploymentRepository.getSnapshots(), "snapshots", serializer );
762 }
763 if ( deploymentRepository.getId() != null )
764 {
765 serializer.startTag( NAMESPACE, "id" ).text( deploymentRepository.getId() ).endTag( NAMESPACE, "id" );
766 writeLocationTracking( deploymentRepository, "id", serializer );
767 }
768 if ( deploymentRepository.getName() != null )
769 {
770 serializer.startTag( NAMESPACE, "name" ).text( deploymentRepository.getName() ).endTag( NAMESPACE, "name" );
771 writeLocationTracking( deploymentRepository, "name", serializer );
772 }
773 if ( deploymentRepository.getUrl() != null )
774 {
775 serializer.startTag( NAMESPACE, "url" ).text( deploymentRepository.getUrl() ).endTag( NAMESPACE, "url" );
776 writeLocationTracking( deploymentRepository, "url", serializer );
777 }
778 if ( ( deploymentRepository.getLayout() != null ) && !deploymentRepository.getLayout().equals( "default" ) )
779 {
780 serializer.startTag( NAMESPACE, "layout" ).text( deploymentRepository.getLayout() ).endTag( NAMESPACE, "layout" );
781 writeLocationTracking( deploymentRepository, "layout", serializer );
782 }
783 serializer.endTag( NAMESPACE, tagName );
784 }
785
786
787
788
789
790
791
792
793
794 private void writeDeveloper( Developer developer, String tagName, XmlSerializer serializer )
795 throws java.io.IOException
796 {
797 serializer.startTag( NAMESPACE, tagName );
798 if ( developer.getId() != null )
799 {
800 serializer.startTag( NAMESPACE, "id" ).text( developer.getId() ).endTag( NAMESPACE, "id" );
801 writeLocationTracking( developer, "id", serializer );
802 }
803 if ( developer.getName() != null )
804 {
805 serializer.startTag( NAMESPACE, "name" ).text( developer.getName() ).endTag( NAMESPACE, "name" );
806 writeLocationTracking( developer, "name", serializer );
807 }
808 if ( developer.getEmail() != null )
809 {
810 serializer.startTag( NAMESPACE, "email" ).text( developer.getEmail() ).endTag( NAMESPACE, "email" );
811 writeLocationTracking( developer, "email", serializer );
812 }
813 if ( developer.getUrl() != null )
814 {
815 serializer.startTag( NAMESPACE, "url" ).text( developer.getUrl() ).endTag( NAMESPACE, "url" );
816 writeLocationTracking( developer, "url", serializer );
817 }
818 if ( developer.getOrganization() != null )
819 {
820 serializer.startTag( NAMESPACE, "organization" ).text( developer.getOrganization() ).endTag( NAMESPACE, "organization" );
821 writeLocationTracking( developer, "organization", serializer );
822 }
823 if ( developer.getOrganizationUrl() != null )
824 {
825 serializer.startTag( NAMESPACE, "organizationUrl" ).text( developer.getOrganizationUrl() ).endTag( NAMESPACE, "organizationUrl" );
826 writeLocationTracking( developer, "organizationUrl", serializer );
827 }
828 if ( ( developer.getRoles() != null ) && ( developer.getRoles().size() > 0 ) )
829 {
830 serializer.startTag( NAMESPACE, "roles" );
831 InputLocation location = developer.getLocation( "roles" );
832 int n = 0;
833 for ( Iterator iter = developer.getRoles().iterator(); iter.hasNext(); )
834 {
835 String role = (String) iter.next();
836 serializer.startTag( NAMESPACE, "role" ).text( role ).endTag( NAMESPACE, "role" );
837 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
838 }
839 serializer.endTag( NAMESPACE, "roles" );
840 }
841 if ( developer.getTimezone() != null )
842 {
843 serializer.startTag( NAMESPACE, "timezone" ).text( developer.getTimezone() ).endTag( NAMESPACE, "timezone" );
844 writeLocationTracking( developer, "timezone", serializer );
845 }
846 if ( ( developer.getProperties() != null ) && ( developer.getProperties().size() > 0 ) )
847 {
848 serializer.startTag( NAMESPACE, "properties" );
849 InputLocation location = developer.getLocation( "properties" );
850 for ( Iterator iter = developer.getProperties().keySet().iterator(); iter.hasNext(); )
851 {
852 String key = (String) iter.next();
853 String value = (String) developer.getProperties().get( key );
854 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
855 writeLocationTracking( location, key, serializer );
856 }
857 serializer.endTag( NAMESPACE, "properties" );
858 }
859 serializer.endTag( NAMESPACE, tagName );
860 }
861
862
863
864
865
866
867
868
869
870
871 private void writeDistributionManagement( DistributionManagement distributionManagement, String tagName, XmlSerializer serializer )
872 throws java.io.IOException
873 {
874 serializer.startTag( NAMESPACE, tagName );
875 if ( distributionManagement.getRepository() != null )
876 {
877 writeDeploymentRepository( (DeploymentRepository) distributionManagement.getRepository(), "repository", serializer );
878 }
879 if ( distributionManagement.getSnapshotRepository() != null )
880 {
881 writeDeploymentRepository( (DeploymentRepository) distributionManagement.getSnapshotRepository(), "snapshotRepository", serializer );
882 }
883 if ( distributionManagement.getSite() != null )
884 {
885 writeSite( (Site) distributionManagement.getSite(), "site", serializer );
886 }
887 if ( distributionManagement.getDownloadUrl() != null )
888 {
889 serializer.startTag( NAMESPACE, "downloadUrl" ).text( distributionManagement.getDownloadUrl() ).endTag( NAMESPACE, "downloadUrl" );
890 writeLocationTracking( distributionManagement, "downloadUrl", serializer );
891 }
892 if ( distributionManagement.getRelocation() != null )
893 {
894 writeRelocation( (Relocation) distributionManagement.getRelocation(), "relocation", serializer );
895 }
896 if ( distributionManagement.getStatus() != null )
897 {
898 serializer.startTag( NAMESPACE, "status" ).text( distributionManagement.getStatus() ).endTag( NAMESPACE, "status" );
899 writeLocationTracking( distributionManagement, "status", serializer );
900 }
901 serializer.endTag( NAMESPACE, tagName );
902 }
903
904
905
906
907
908
909
910
911
912 private void writeExclusion( Exclusion exclusion, String tagName, XmlSerializer serializer )
913 throws java.io.IOException
914 {
915 serializer.startTag( NAMESPACE, tagName );
916 if ( exclusion.getArtifactId() != null )
917 {
918 serializer.startTag( NAMESPACE, "artifactId" ).text( exclusion.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
919 writeLocationTracking( exclusion, "artifactId", serializer );
920 }
921 if ( exclusion.getGroupId() != null )
922 {
923 serializer.startTag( NAMESPACE, "groupId" ).text( exclusion.getGroupId() ).endTag( NAMESPACE, "groupId" );
924 writeLocationTracking( exclusion, "groupId", serializer );
925 }
926 serializer.endTag( NAMESPACE, tagName );
927 }
928
929
930
931
932
933
934
935
936
937 private void writeExtension( Extension extension, String tagName, XmlSerializer serializer )
938 throws java.io.IOException
939 {
940 serializer.startTag( NAMESPACE, tagName );
941 if ( extension.getGroupId() != null )
942 {
943 serializer.startTag( NAMESPACE, "groupId" ).text( extension.getGroupId() ).endTag( NAMESPACE, "groupId" );
944 writeLocationTracking( extension, "groupId", serializer );
945 }
946 if ( extension.getArtifactId() != null )
947 {
948 serializer.startTag( NAMESPACE, "artifactId" ).text( extension.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
949 writeLocationTracking( extension, "artifactId", serializer );
950 }
951 if ( extension.getVersion() != null )
952 {
953 serializer.startTag( NAMESPACE, "version" ).text( extension.getVersion() ).endTag( NAMESPACE, "version" );
954 writeLocationTracking( extension, "version", serializer );
955 }
956 serializer.endTag( NAMESPACE, tagName );
957 }
958
959
960
961
962
963
964
965
966
967 private void writeFileSet( FileSet fileSet, String tagName, XmlSerializer serializer )
968 throws java.io.IOException
969 {
970 serializer.startTag( NAMESPACE, tagName );
971 if ( fileSet.getDirectory() != null )
972 {
973 serializer.startTag( NAMESPACE, "directory" ).text( fileSet.getDirectory() ).endTag( NAMESPACE, "directory" );
974 writeLocationTracking( fileSet, "directory", serializer );
975 }
976 if ( ( fileSet.getIncludes() != null ) && ( fileSet.getIncludes().size() > 0 ) )
977 {
978 serializer.startTag( NAMESPACE, "includes" );
979 InputLocation location = fileSet.getLocation( "includes" );
980 int n = 0;
981 for ( Iterator iter = fileSet.getIncludes().iterator(); iter.hasNext(); )
982 {
983 String include = (String) iter.next();
984 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
985 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
986 }
987 serializer.endTag( NAMESPACE, "includes" );
988 }
989 if ( ( fileSet.getExcludes() != null ) && ( fileSet.getExcludes().size() > 0 ) )
990 {
991 serializer.startTag( NAMESPACE, "excludes" );
992 InputLocation location = fileSet.getLocation( "excludes" );
993 int n = 0;
994 for ( Iterator iter = fileSet.getExcludes().iterator(); iter.hasNext(); )
995 {
996 String exclude = (String) iter.next();
997 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
998 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
999 }
1000 serializer.endTag( NAMESPACE, "excludes" );
1001 }
1002 serializer.endTag( NAMESPACE, tagName );
1003 }
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013 private void writeIssueManagement( IssueManagement issueManagement, String tagName, XmlSerializer serializer )
1014 throws java.io.IOException
1015 {
1016 serializer.startTag( NAMESPACE, tagName );
1017 if ( issueManagement.getSystem() != null )
1018 {
1019 serializer.startTag( NAMESPACE, "system" ).text( issueManagement.getSystem() ).endTag( NAMESPACE, "system" );
1020 writeLocationTracking( issueManagement, "system", serializer );
1021 }
1022 if ( issueManagement.getUrl() != null )
1023 {
1024 serializer.startTag( NAMESPACE, "url" ).text( issueManagement.getUrl() ).endTag( NAMESPACE, "url" );
1025 writeLocationTracking( issueManagement, "url", serializer );
1026 }
1027 serializer.endTag( NAMESPACE, tagName );
1028 }
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038 private void writeLicense( License license, String tagName, XmlSerializer serializer )
1039 throws java.io.IOException
1040 {
1041 serializer.startTag( NAMESPACE, tagName );
1042 if ( license.getName() != null )
1043 {
1044 serializer.startTag( NAMESPACE, "name" ).text( license.getName() ).endTag( NAMESPACE, "name" );
1045 writeLocationTracking( license, "name", serializer );
1046 }
1047 if ( license.getUrl() != null )
1048 {
1049 serializer.startTag( NAMESPACE, "url" ).text( license.getUrl() ).endTag( NAMESPACE, "url" );
1050 writeLocationTracking( license, "url", serializer );
1051 }
1052 if ( license.getDistribution() != null )
1053 {
1054 serializer.startTag( NAMESPACE, "distribution" ).text( license.getDistribution() ).endTag( NAMESPACE, "distribution" );
1055 writeLocationTracking( license, "distribution", serializer );
1056 }
1057 if ( license.getComments() != null )
1058 {
1059 serializer.startTag( NAMESPACE, "comments" ).text( license.getComments() ).endTag( NAMESPACE, "comments" );
1060 writeLocationTracking( license, "comments", serializer );
1061 }
1062 serializer.endTag( NAMESPACE, tagName );
1063 }
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073 private void writeLocationTracking( InputLocationTracker locationTracker, Object key, XmlSerializer serializer )
1074 throws java.io.IOException
1075 {
1076 InputLocation location = ( locationTracker == null ) ? null : locationTracker.getLocation( key );
1077 if ( location != null )
1078 {
1079 serializer.comment( toString( location ) );
1080 }
1081 }
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091 private void writeMailingList( MailingList mailingList, String tagName, XmlSerializer serializer )
1092 throws java.io.IOException
1093 {
1094 serializer.startTag( NAMESPACE, tagName );
1095 if ( mailingList.getName() != null )
1096 {
1097 serializer.startTag( NAMESPACE, "name" ).text( mailingList.getName() ).endTag( NAMESPACE, "name" );
1098 writeLocationTracking( mailingList, "name", serializer );
1099 }
1100 if ( mailingList.getSubscribe() != null )
1101 {
1102 serializer.startTag( NAMESPACE, "subscribe" ).text( mailingList.getSubscribe() ).endTag( NAMESPACE, "subscribe" );
1103 writeLocationTracking( mailingList, "subscribe", serializer );
1104 }
1105 if ( mailingList.getUnsubscribe() != null )
1106 {
1107 serializer.startTag( NAMESPACE, "unsubscribe" ).text( mailingList.getUnsubscribe() ).endTag( NAMESPACE, "unsubscribe" );
1108 writeLocationTracking( mailingList, "unsubscribe", serializer );
1109 }
1110 if ( mailingList.getPost() != null )
1111 {
1112 serializer.startTag( NAMESPACE, "post" ).text( mailingList.getPost() ).endTag( NAMESPACE, "post" );
1113 writeLocationTracking( mailingList, "post", serializer );
1114 }
1115 if ( mailingList.getArchive() != null )
1116 {
1117 serializer.startTag( NAMESPACE, "archive" ).text( mailingList.getArchive() ).endTag( NAMESPACE, "archive" );
1118 writeLocationTracking( mailingList, "archive", serializer );
1119 }
1120 if ( ( mailingList.getOtherArchives() != null ) && ( mailingList.getOtherArchives().size() > 0 ) )
1121 {
1122 serializer.startTag( NAMESPACE, "otherArchives" );
1123 InputLocation location = mailingList.getLocation( "otherArchives" );
1124 int n = 0;
1125 for ( Iterator iter = mailingList.getOtherArchives().iterator(); iter.hasNext(); )
1126 {
1127 String otherArchive = (String) iter.next();
1128 serializer.startTag( NAMESPACE, "otherArchive" ).text( otherArchive ).endTag( NAMESPACE, "otherArchive" );
1129 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1130 }
1131 serializer.endTag( NAMESPACE, "otherArchives" );
1132 }
1133 serializer.endTag( NAMESPACE, tagName );
1134 }
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144 private void writeModel( Model model, String tagName, XmlSerializer serializer )
1145 throws java.io.IOException
1146 {
1147 if ( this.fileComment != null )
1148 {
1149 serializer.comment(this.fileComment);
1150 }
1151 serializer.setPrefix( "", "http://maven.apache.org/POM/4.0.0" );
1152 serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
1153 serializer.startTag( NAMESPACE, tagName );
1154 serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" );
1155 if ( model.getModelVersion() != null )
1156 {
1157 serializer.startTag( NAMESPACE, "modelVersion" ).text( model.getModelVersion() ).endTag( NAMESPACE, "modelVersion" );
1158 writeLocationTracking( model, "modelVersion", serializer );
1159 }
1160 if ( model.getParent() != null )
1161 {
1162 writeParent( (Parent) model.getParent(), "parent", serializer );
1163 }
1164 if ( model.getGroupId() != null )
1165 {
1166 serializer.startTag( NAMESPACE, "groupId" ).text( model.getGroupId() ).endTag( NAMESPACE, "groupId" );
1167 writeLocationTracking( model, "groupId", serializer );
1168 }
1169 if ( model.getArtifactId() != null )
1170 {
1171 serializer.startTag( NAMESPACE, "artifactId" ).text( model.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
1172 writeLocationTracking( model, "artifactId", serializer );
1173 }
1174 if ( model.getVersion() != null )
1175 {
1176 serializer.startTag( NAMESPACE, "version" ).text( model.getVersion() ).endTag( NAMESPACE, "version" );
1177 writeLocationTracking( model, "version", serializer );
1178 }
1179 if ( ( model.getPackaging() != null ) && !model.getPackaging().equals( "jar" ) )
1180 {
1181 serializer.startTag( NAMESPACE, "packaging" ).text( model.getPackaging() ).endTag( NAMESPACE, "packaging" );
1182 writeLocationTracking( model, "packaging", serializer );
1183 }
1184 if ( model.getName() != null )
1185 {
1186 serializer.startTag( NAMESPACE, "name" ).text( model.getName() ).endTag( NAMESPACE, "name" );
1187 writeLocationTracking( model, "name", serializer );
1188 }
1189 if ( model.getDescription() != null )
1190 {
1191 serializer.startTag( NAMESPACE, "description" ).text( model.getDescription() ).endTag( NAMESPACE, "description" );
1192 writeLocationTracking( model, "description", serializer );
1193 }
1194 if ( model.getUrl() != null )
1195 {
1196 serializer.startTag( NAMESPACE, "url" ).text( model.getUrl() ).endTag( NAMESPACE, "url" );
1197 writeLocationTracking( model, "url", serializer );
1198 }
1199 if ( model.getInceptionYear() != null )
1200 {
1201 serializer.startTag( NAMESPACE, "inceptionYear" ).text( model.getInceptionYear() ).endTag( NAMESPACE, "inceptionYear" );
1202 writeLocationTracking( model, "inceptionYear", serializer );
1203 }
1204 if ( model.getOrganization() != null )
1205 {
1206 writeOrganization( (Organization) model.getOrganization(), "organization", serializer );
1207 }
1208 if ( ( model.getLicenses() != null ) && ( model.getLicenses().size() > 0 ) )
1209 {
1210 serializer.startTag( NAMESPACE, "licenses" );
1211 for ( Iterator iter = model.getLicenses().iterator(); iter.hasNext(); )
1212 {
1213 License o = (License) iter.next();
1214 writeLicense( o, "license", serializer );
1215 }
1216 serializer.endTag( NAMESPACE, "licenses" );
1217 }
1218 if ( ( model.getDevelopers() != null ) && ( model.getDevelopers().size() > 0 ) )
1219 {
1220 serializer.startTag( NAMESPACE, "developers" );
1221 for ( Iterator iter = model.getDevelopers().iterator(); iter.hasNext(); )
1222 {
1223 Developer o = (Developer) iter.next();
1224 writeDeveloper( o, "developer", serializer );
1225 }
1226 serializer.endTag( NAMESPACE, "developers" );
1227 }
1228 if ( ( model.getContributors() != null ) && ( model.getContributors().size() > 0 ) )
1229 {
1230 serializer.startTag( NAMESPACE, "contributors" );
1231 for ( Iterator iter = model.getContributors().iterator(); iter.hasNext(); )
1232 {
1233 Contributor o = (Contributor) iter.next();
1234 writeContributor( o, "contributor", serializer );
1235 }
1236 serializer.endTag( NAMESPACE, "contributors" );
1237 }
1238 if ( ( model.getMailingLists() != null ) && ( model.getMailingLists().size() > 0 ) )
1239 {
1240 serializer.startTag( NAMESPACE, "mailingLists" );
1241 for ( Iterator iter = model.getMailingLists().iterator(); iter.hasNext(); )
1242 {
1243 MailingList o = (MailingList) iter.next();
1244 writeMailingList( o, "mailingList", serializer );
1245 }
1246 serializer.endTag( NAMESPACE, "mailingLists" );
1247 }
1248 if ( model.getPrerequisites() != null )
1249 {
1250 writePrerequisites( (Prerequisites) model.getPrerequisites(), "prerequisites", serializer );
1251 }
1252 if ( ( model.getModules() != null ) && ( model.getModules().size() > 0 ) )
1253 {
1254 serializer.startTag( NAMESPACE, "modules" );
1255 InputLocation location = model.getLocation( "modules" );
1256 int n = 0;
1257 for ( Iterator iter = model.getModules().iterator(); iter.hasNext(); )
1258 {
1259 String module = (String) iter.next();
1260 serializer.startTag( NAMESPACE, "module" ).text( module ).endTag( NAMESPACE, "module" );
1261 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1262 }
1263 serializer.endTag( NAMESPACE, "modules" );
1264 }
1265 if ( model.getScm() != null )
1266 {
1267 writeScm( (Scm) model.getScm(), "scm", serializer );
1268 }
1269 if ( model.getIssueManagement() != null )
1270 {
1271 writeIssueManagement( (IssueManagement) model.getIssueManagement(), "issueManagement", serializer );
1272 }
1273 if ( model.getCiManagement() != null )
1274 {
1275 writeCiManagement( (CiManagement) model.getCiManagement(), "ciManagement", serializer );
1276 }
1277 if ( model.getDistributionManagement() != null )
1278 {
1279 writeDistributionManagement( (DistributionManagement) model.getDistributionManagement(), "distributionManagement", serializer );
1280 }
1281 if ( ( model.getProperties() != null ) && ( model.getProperties().size() > 0 ) )
1282 {
1283 serializer.startTag( NAMESPACE, "properties" );
1284 InputLocation location = model.getLocation( "properties" );
1285 for ( Iterator iter = model.getProperties().keySet().iterator(); iter.hasNext(); )
1286 {
1287 String key = (String) iter.next();
1288 String value = (String) model.getProperties().get( key );
1289 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
1290 writeLocationTracking( location, key, serializer );
1291 }
1292 serializer.endTag( NAMESPACE, "properties" );
1293 }
1294 if ( model.getDependencyManagement() != null )
1295 {
1296 writeDependencyManagement( (DependencyManagement) model.getDependencyManagement(), "dependencyManagement", serializer );
1297 }
1298 if ( ( model.getDependencies() != null ) && ( model.getDependencies().size() > 0 ) )
1299 {
1300 serializer.startTag( NAMESPACE, "dependencies" );
1301 for ( Iterator iter = model.getDependencies().iterator(); iter.hasNext(); )
1302 {
1303 Dependency o = (Dependency) iter.next();
1304 writeDependency( o, "dependency", serializer );
1305 }
1306 serializer.endTag( NAMESPACE, "dependencies" );
1307 }
1308 if ( ( model.getRepositories() != null ) && ( model.getRepositories().size() > 0 ) )
1309 {
1310 serializer.startTag( NAMESPACE, "repositories" );
1311 for ( Iterator iter = model.getRepositories().iterator(); iter.hasNext(); )
1312 {
1313 Repository o = (Repository) iter.next();
1314 writeRepository( o, "repository", serializer );
1315 }
1316 serializer.endTag( NAMESPACE, "repositories" );
1317 }
1318 if ( ( model.getPluginRepositories() != null ) && ( model.getPluginRepositories().size() > 0 ) )
1319 {
1320 serializer.startTag( NAMESPACE, "pluginRepositories" );
1321 for ( Iterator iter = model.getPluginRepositories().iterator(); iter.hasNext(); )
1322 {
1323 Repository o = (Repository) iter.next();
1324 writeRepository( o, "pluginRepository", serializer );
1325 }
1326 serializer.endTag( NAMESPACE, "pluginRepositories" );
1327 }
1328 if ( model.getBuild() != null )
1329 {
1330 writeBuild( (Build) model.getBuild(), "build", serializer );
1331 }
1332 if ( model.getReports() != null )
1333 {
1334 writeXpp3DomToSerializer( (Xpp3Dom) model.getReports(), serializer );
1335 }
1336 if ( model.getReporting() != null )
1337 {
1338 writeReporting( (Reporting) model.getReporting(), "reporting", serializer );
1339 }
1340 if ( ( model.getProfiles() != null ) && ( model.getProfiles().size() > 0 ) )
1341 {
1342 serializer.startTag( NAMESPACE, "profiles" );
1343 for ( Iterator iter = model.getProfiles().iterator(); iter.hasNext(); )
1344 {
1345 Profile o = (Profile) iter.next();
1346 writeProfile( o, "profile", serializer );
1347 }
1348 serializer.endTag( NAMESPACE, "profiles" );
1349 }
1350 serializer.endTag( NAMESPACE, tagName );
1351 }
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361 private void writeModelBase( ModelBase modelBase, String tagName, XmlSerializer serializer )
1362 throws java.io.IOException
1363 {
1364 serializer.startTag( NAMESPACE, tagName );
1365 if ( ( modelBase.getModules() != null ) && ( modelBase.getModules().size() > 0 ) )
1366 {
1367 serializer.startTag( NAMESPACE, "modules" );
1368 InputLocation location = modelBase.getLocation( "modules" );
1369 int n = 0;
1370 for ( Iterator iter = modelBase.getModules().iterator(); iter.hasNext(); )
1371 {
1372 String module = (String) iter.next();
1373 serializer.startTag( NAMESPACE, "module" ).text( module ).endTag( NAMESPACE, "module" );
1374 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1375 }
1376 serializer.endTag( NAMESPACE, "modules" );
1377 }
1378 if ( modelBase.getDistributionManagement() != null )
1379 {
1380 writeDistributionManagement( (DistributionManagement) modelBase.getDistributionManagement(), "distributionManagement", serializer );
1381 }
1382 if ( ( modelBase.getProperties() != null ) && ( modelBase.getProperties().size() > 0 ) )
1383 {
1384 serializer.startTag( NAMESPACE, "properties" );
1385 InputLocation location = modelBase.getLocation( "properties" );
1386 for ( Iterator iter = modelBase.getProperties().keySet().iterator(); iter.hasNext(); )
1387 {
1388 String key = (String) iter.next();
1389 String value = (String) modelBase.getProperties().get( key );
1390 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
1391 writeLocationTracking( location, key, serializer );
1392 }
1393 serializer.endTag( NAMESPACE, "properties" );
1394 }
1395 if ( modelBase.getDependencyManagement() != null )
1396 {
1397 writeDependencyManagement( (DependencyManagement) modelBase.getDependencyManagement(), "dependencyManagement", serializer );
1398 }
1399 if ( ( modelBase.getDependencies() != null ) && ( modelBase.getDependencies().size() > 0 ) )
1400 {
1401 serializer.startTag( NAMESPACE, "dependencies" );
1402 for ( Iterator iter = modelBase.getDependencies().iterator(); iter.hasNext(); )
1403 {
1404 Dependency o = (Dependency) iter.next();
1405 writeDependency( o, "dependency", serializer );
1406 }
1407 serializer.endTag( NAMESPACE, "dependencies" );
1408 }
1409 if ( ( modelBase.getRepositories() != null ) && ( modelBase.getRepositories().size() > 0 ) )
1410 {
1411 serializer.startTag( NAMESPACE, "repositories" );
1412 for ( Iterator iter = modelBase.getRepositories().iterator(); iter.hasNext(); )
1413 {
1414 Repository o = (Repository) iter.next();
1415 writeRepository( o, "repository", serializer );
1416 }
1417 serializer.endTag( NAMESPACE, "repositories" );
1418 }
1419 if ( ( modelBase.getPluginRepositories() != null ) && ( modelBase.getPluginRepositories().size() > 0 ) )
1420 {
1421 serializer.startTag( NAMESPACE, "pluginRepositories" );
1422 for ( Iterator iter = modelBase.getPluginRepositories().iterator(); iter.hasNext(); )
1423 {
1424 Repository o = (Repository) iter.next();
1425 writeRepository( o, "pluginRepository", serializer );
1426 }
1427 serializer.endTag( NAMESPACE, "pluginRepositories" );
1428 }
1429 if ( modelBase.getReports() != null )
1430 {
1431 writeXpp3DomToSerializer( (Xpp3Dom) modelBase.getReports(), serializer );
1432 }
1433 if ( modelBase.getReporting() != null )
1434 {
1435 writeReporting( (Reporting) modelBase.getReporting(), "reporting", serializer );
1436 }
1437 serializer.endTag( NAMESPACE, tagName );
1438 }
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448 private void writeNotifier( Notifier notifier, String tagName, XmlSerializer serializer )
1449 throws java.io.IOException
1450 {
1451 serializer.startTag( NAMESPACE, tagName );
1452 if ( ( notifier.getType() != null ) && !notifier.getType().equals( "mail" ) )
1453 {
1454 serializer.startTag( NAMESPACE, "type" ).text( notifier.getType() ).endTag( NAMESPACE, "type" );
1455 writeLocationTracking( notifier, "type", serializer );
1456 }
1457 if ( notifier.isSendOnError() != true )
1458 {
1459 serializer.startTag( NAMESPACE, "sendOnError" ).text( String.valueOf( notifier.isSendOnError() ) ).endTag( NAMESPACE, "sendOnError" );
1460 writeLocationTracking( notifier, "sendOnError", serializer );
1461 }
1462 if ( notifier.isSendOnFailure() != true )
1463 {
1464 serializer.startTag( NAMESPACE, "sendOnFailure" ).text( String.valueOf( notifier.isSendOnFailure() ) ).endTag( NAMESPACE, "sendOnFailure" );
1465 writeLocationTracking( notifier, "sendOnFailure", serializer );
1466 }
1467 if ( notifier.isSendOnSuccess() != true )
1468 {
1469 serializer.startTag( NAMESPACE, "sendOnSuccess" ).text( String.valueOf( notifier.isSendOnSuccess() ) ).endTag( NAMESPACE, "sendOnSuccess" );
1470 writeLocationTracking( notifier, "sendOnSuccess", serializer );
1471 }
1472 if ( notifier.isSendOnWarning() != true )
1473 {
1474 serializer.startTag( NAMESPACE, "sendOnWarning" ).text( String.valueOf( notifier.isSendOnWarning() ) ).endTag( NAMESPACE, "sendOnWarning" );
1475 writeLocationTracking( notifier, "sendOnWarning", serializer );
1476 }
1477 if ( notifier.getAddress() != null )
1478 {
1479 serializer.startTag( NAMESPACE, "address" ).text( notifier.getAddress() ).endTag( NAMESPACE, "address" );
1480 writeLocationTracking( notifier, "address", serializer );
1481 }
1482 if ( ( notifier.getConfiguration() != null ) && ( notifier.getConfiguration().size() > 0 ) )
1483 {
1484 serializer.startTag( NAMESPACE, "configuration" );
1485 InputLocation location = notifier.getLocation( "configuration" );
1486 for ( Iterator iter = notifier.getConfiguration().keySet().iterator(); iter.hasNext(); )
1487 {
1488 String key = (String) iter.next();
1489 String value = (String) notifier.getConfiguration().get( key );
1490 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
1491 writeLocationTracking( location, key, serializer );
1492 }
1493 serializer.endTag( NAMESPACE, "configuration" );
1494 }
1495 serializer.endTag( NAMESPACE, tagName );
1496 }
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506 private void writeOrganization( Organization organization, String tagName, XmlSerializer serializer )
1507 throws java.io.IOException
1508 {
1509 serializer.startTag( NAMESPACE, tagName );
1510 if ( organization.getName() != null )
1511 {
1512 serializer.startTag( NAMESPACE, "name" ).text( organization.getName() ).endTag( NAMESPACE, "name" );
1513 writeLocationTracking( organization, "name", serializer );
1514 }
1515 if ( organization.getUrl() != null )
1516 {
1517 serializer.startTag( NAMESPACE, "url" ).text( organization.getUrl() ).endTag( NAMESPACE, "url" );
1518 writeLocationTracking( organization, "url", serializer );
1519 }
1520 serializer.endTag( NAMESPACE, tagName );
1521 }
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531 private void writeParent( Parent parent, String tagName, XmlSerializer serializer )
1532 throws java.io.IOException
1533 {
1534 serializer.startTag( NAMESPACE, tagName );
1535 if ( parent.getGroupId() != null )
1536 {
1537 serializer.startTag( NAMESPACE, "groupId" ).text( parent.getGroupId() ).endTag( NAMESPACE, "groupId" );
1538 writeLocationTracking( parent, "groupId", serializer );
1539 }
1540 if ( parent.getArtifactId() != null )
1541 {
1542 serializer.startTag( NAMESPACE, "artifactId" ).text( parent.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
1543 writeLocationTracking( parent, "artifactId", serializer );
1544 }
1545 if ( parent.getVersion() != null )
1546 {
1547 serializer.startTag( NAMESPACE, "version" ).text( parent.getVersion() ).endTag( NAMESPACE, "version" );
1548 writeLocationTracking( parent, "version", serializer );
1549 }
1550 if ( ( parent.getRelativePath() != null ) && !parent.getRelativePath().equals( "../pom.xml" ) )
1551 {
1552 serializer.startTag( NAMESPACE, "relativePath" ).text( parent.getRelativePath() ).endTag( NAMESPACE, "relativePath" );
1553 writeLocationTracking( parent, "relativePath", serializer );
1554 }
1555 serializer.endTag( NAMESPACE, tagName );
1556 }
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566 private void writePatternSet( PatternSet patternSet, String tagName, XmlSerializer serializer )
1567 throws java.io.IOException
1568 {
1569 serializer.startTag( NAMESPACE, tagName );
1570 if ( ( patternSet.getIncludes() != null ) && ( patternSet.getIncludes().size() > 0 ) )
1571 {
1572 serializer.startTag( NAMESPACE, "includes" );
1573 InputLocation location = patternSet.getLocation( "includes" );
1574 int n = 0;
1575 for ( Iterator iter = patternSet.getIncludes().iterator(); iter.hasNext(); )
1576 {
1577 String include = (String) iter.next();
1578 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
1579 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1580 }
1581 serializer.endTag( NAMESPACE, "includes" );
1582 }
1583 if ( ( patternSet.getExcludes() != null ) && ( patternSet.getExcludes().size() > 0 ) )
1584 {
1585 serializer.startTag( NAMESPACE, "excludes" );
1586 InputLocation location = patternSet.getLocation( "excludes" );
1587 int n = 0;
1588 for ( Iterator iter = patternSet.getExcludes().iterator(); iter.hasNext(); )
1589 {
1590 String exclude = (String) iter.next();
1591 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
1592 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1593 }
1594 serializer.endTag( NAMESPACE, "excludes" );
1595 }
1596 serializer.endTag( NAMESPACE, tagName );
1597 }
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607 private void writePlugin( Plugin plugin, String tagName, XmlSerializer serializer )
1608 throws java.io.IOException
1609 {
1610 serializer.startTag( NAMESPACE, tagName );
1611 if ( ( plugin.getGroupId() != null ) && !plugin.getGroupId().equals( "org.apache.maven.plugins" ) )
1612 {
1613 serializer.startTag( NAMESPACE, "groupId" ).text( plugin.getGroupId() ).endTag( NAMESPACE, "groupId" );
1614 writeLocationTracking( plugin, "groupId", serializer );
1615 }
1616 if ( plugin.getArtifactId() != null )
1617 {
1618 serializer.startTag( NAMESPACE, "artifactId" ).text( plugin.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
1619 writeLocationTracking( plugin, "artifactId", serializer );
1620 }
1621 if ( plugin.getVersion() != null )
1622 {
1623 serializer.startTag( NAMESPACE, "version" ).text( plugin.getVersion() ).endTag( NAMESPACE, "version" );
1624 writeLocationTracking( plugin, "version", serializer );
1625 }
1626 if ( plugin.getExtensions() != null )
1627 {
1628 serializer.startTag( NAMESPACE, "extensions" ).text( plugin.getExtensions() ).endTag( NAMESPACE, "extensions" );
1629 writeLocationTracking( plugin, "extensions", serializer );
1630 }
1631 if ( ( plugin.getExecutions() != null ) && ( plugin.getExecutions().size() > 0 ) )
1632 {
1633 serializer.startTag( NAMESPACE, "executions" );
1634 for ( Iterator iter = plugin.getExecutions().iterator(); iter.hasNext(); )
1635 {
1636 PluginExecution o = (PluginExecution) iter.next();
1637 writePluginExecution( o, "execution", serializer );
1638 }
1639 serializer.endTag( NAMESPACE, "executions" );
1640 }
1641 if ( ( plugin.getDependencies() != null ) && ( plugin.getDependencies().size() > 0 ) )
1642 {
1643 serializer.startTag( NAMESPACE, "dependencies" );
1644 for ( Iterator iter = plugin.getDependencies().iterator(); iter.hasNext(); )
1645 {
1646 Dependency o = (Dependency) iter.next();
1647 writeDependency( o, "dependency", serializer );
1648 }
1649 serializer.endTag( NAMESPACE, "dependencies" );
1650 }
1651 if ( plugin.getGoals() != null )
1652 {
1653 writeXpp3DomToSerializer( (Xpp3Dom) plugin.getGoals(), serializer );
1654 }
1655 if ( plugin.getInherited() != null )
1656 {
1657 serializer.startTag( NAMESPACE, "inherited" ).text( plugin.getInherited() ).endTag( NAMESPACE, "inherited" );
1658 writeLocationTracking( plugin, "inherited", serializer );
1659 }
1660 if ( plugin.getConfiguration() != null )
1661 {
1662 writeXpp3DomToSerializer( (Xpp3Dom) plugin.getConfiguration(), serializer );
1663 }
1664 serializer.endTag( NAMESPACE, tagName );
1665 }
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675 private void writePluginConfiguration( PluginConfiguration pluginConfiguration, String tagName, XmlSerializer serializer )
1676 throws java.io.IOException
1677 {
1678 serializer.startTag( NAMESPACE, tagName );
1679 if ( pluginConfiguration.getPluginManagement() != null )
1680 {
1681 writePluginManagement( (PluginManagement) pluginConfiguration.getPluginManagement(), "pluginManagement", serializer );
1682 }
1683 if ( ( pluginConfiguration.getPlugins() != null ) && ( pluginConfiguration.getPlugins().size() > 0 ) )
1684 {
1685 serializer.startTag( NAMESPACE, "plugins" );
1686 for ( Iterator iter = pluginConfiguration.getPlugins().iterator(); iter.hasNext(); )
1687 {
1688 Plugin o = (Plugin) iter.next();
1689 writePlugin( o, "plugin", serializer );
1690 }
1691 serializer.endTag( NAMESPACE, "plugins" );
1692 }
1693 serializer.endTag( NAMESPACE, tagName );
1694 }
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704 private void writePluginContainer( PluginContainer pluginContainer, String tagName, XmlSerializer serializer )
1705 throws java.io.IOException
1706 {
1707 serializer.startTag( NAMESPACE, tagName );
1708 if ( ( pluginContainer.getPlugins() != null ) && ( pluginContainer.getPlugins().size() > 0 ) )
1709 {
1710 serializer.startTag( NAMESPACE, "plugins" );
1711 for ( Iterator iter = pluginContainer.getPlugins().iterator(); iter.hasNext(); )
1712 {
1713 Plugin o = (Plugin) iter.next();
1714 writePlugin( o, "plugin", serializer );
1715 }
1716 serializer.endTag( NAMESPACE, "plugins" );
1717 }
1718 serializer.endTag( NAMESPACE, tagName );
1719 }
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729 private void writePluginExecution( PluginExecution pluginExecution, String tagName, XmlSerializer serializer )
1730 throws java.io.IOException
1731 {
1732 serializer.startTag( NAMESPACE, tagName );
1733 if ( ( pluginExecution.getId() != null ) && !pluginExecution.getId().equals( "default" ) )
1734 {
1735 serializer.startTag( NAMESPACE, "id" ).text( pluginExecution.getId() ).endTag( NAMESPACE, "id" );
1736 writeLocationTracking( pluginExecution, "id", serializer );
1737 }
1738 if ( pluginExecution.getPhase() != null )
1739 {
1740 serializer.startTag( NAMESPACE, "phase" ).text( pluginExecution.getPhase() ).endTag( NAMESPACE, "phase" );
1741 writeLocationTracking( pluginExecution, "phase", serializer );
1742 }
1743 if ( ( pluginExecution.getGoals() != null ) && ( pluginExecution.getGoals().size() > 0 ) )
1744 {
1745 serializer.startTag( NAMESPACE, "goals" );
1746 InputLocation location = pluginExecution.getLocation( "goals" );
1747 int n = 0;
1748 for ( Iterator iter = pluginExecution.getGoals().iterator(); iter.hasNext(); )
1749 {
1750 String goal = (String) iter.next();
1751 serializer.startTag( NAMESPACE, "goal" ).text( goal ).endTag( NAMESPACE, "goal" );
1752 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1753 }
1754 serializer.endTag( NAMESPACE, "goals" );
1755 }
1756 if ( pluginExecution.getInherited() != null )
1757 {
1758 serializer.startTag( NAMESPACE, "inherited" ).text( pluginExecution.getInherited() ).endTag( NAMESPACE, "inherited" );
1759 writeLocationTracking( pluginExecution, "inherited", serializer );
1760 }
1761 if ( pluginExecution.getConfiguration() != null )
1762 {
1763 writeXpp3DomToSerializer( (Xpp3Dom) pluginExecution.getConfiguration(), serializer );
1764 }
1765 serializer.endTag( NAMESPACE, tagName );
1766 }
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776 private void writePluginManagement( PluginManagement pluginManagement, String tagName, XmlSerializer serializer )
1777 throws java.io.IOException
1778 {
1779 serializer.startTag( NAMESPACE, tagName );
1780 if ( ( pluginManagement.getPlugins() != null ) && ( pluginManagement.getPlugins().size() > 0 ) )
1781 {
1782 serializer.startTag( NAMESPACE, "plugins" );
1783 for ( Iterator iter = pluginManagement.getPlugins().iterator(); iter.hasNext(); )
1784 {
1785 Plugin o = (Plugin) iter.next();
1786 writePlugin( o, "plugin", serializer );
1787 }
1788 serializer.endTag( NAMESPACE, "plugins" );
1789 }
1790 serializer.endTag( NAMESPACE, tagName );
1791 }
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801 private void writePrerequisites( Prerequisites prerequisites, String tagName, XmlSerializer serializer )
1802 throws java.io.IOException
1803 {
1804 serializer.startTag( NAMESPACE, tagName );
1805 if ( ( prerequisites.getMaven() != null ) && !prerequisites.getMaven().equals( "2.0" ) )
1806 {
1807 serializer.startTag( NAMESPACE, "maven" ).text( prerequisites.getMaven() ).endTag( NAMESPACE, "maven" );
1808 writeLocationTracking( prerequisites, "maven", serializer );
1809 }
1810 serializer.endTag( NAMESPACE, tagName );
1811 }
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821 private void writeProfile( Profile profile, String tagName, XmlSerializer serializer )
1822 throws java.io.IOException
1823 {
1824 serializer.startTag( NAMESPACE, tagName );
1825 if ( ( profile.getId() != null ) && !profile.getId().equals( "default" ) )
1826 {
1827 serializer.startTag( NAMESPACE, "id" ).text( profile.getId() ).endTag( NAMESPACE, "id" );
1828 writeLocationTracking( profile, "id", serializer );
1829 }
1830 if ( profile.getActivation() != null )
1831 {
1832 writeActivation( (Activation) profile.getActivation(), "activation", serializer );
1833 }
1834 if ( profile.getBuild() != null )
1835 {
1836 writeBuildBase( (BuildBase) profile.getBuild(), "build", serializer );
1837 }
1838 if ( ( profile.getModules() != null ) && ( profile.getModules().size() > 0 ) )
1839 {
1840 serializer.startTag( NAMESPACE, "modules" );
1841 InputLocation location = profile.getLocation( "modules" );
1842 int n = 0;
1843 for ( Iterator iter = profile.getModules().iterator(); iter.hasNext(); )
1844 {
1845 String module = (String) iter.next();
1846 serializer.startTag( NAMESPACE, "module" ).text( module ).endTag( NAMESPACE, "module" );
1847 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1848 }
1849 serializer.endTag( NAMESPACE, "modules" );
1850 }
1851 if ( profile.getDistributionManagement() != null )
1852 {
1853 writeDistributionManagement( (DistributionManagement) profile.getDistributionManagement(), "distributionManagement", serializer );
1854 }
1855 if ( ( profile.getProperties() != null ) && ( profile.getProperties().size() > 0 ) )
1856 {
1857 serializer.startTag( NAMESPACE, "properties" );
1858 InputLocation location = profile.getLocation( "properties" );
1859 for ( Iterator iter = profile.getProperties().keySet().iterator(); iter.hasNext(); )
1860 {
1861 String key = (String) iter.next();
1862 String value = (String) profile.getProperties().get( key );
1863 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
1864 writeLocationTracking( location, key, serializer );
1865 }
1866 serializer.endTag( NAMESPACE, "properties" );
1867 }
1868 if ( profile.getDependencyManagement() != null )
1869 {
1870 writeDependencyManagement( (DependencyManagement) profile.getDependencyManagement(), "dependencyManagement", serializer );
1871 }
1872 if ( ( profile.getDependencies() != null ) && ( profile.getDependencies().size() > 0 ) )
1873 {
1874 serializer.startTag( NAMESPACE, "dependencies" );
1875 for ( Iterator iter = profile.getDependencies().iterator(); iter.hasNext(); )
1876 {
1877 Dependency o = (Dependency) iter.next();
1878 writeDependency( o, "dependency", serializer );
1879 }
1880 serializer.endTag( NAMESPACE, "dependencies" );
1881 }
1882 if ( ( profile.getRepositories() != null ) && ( profile.getRepositories().size() > 0 ) )
1883 {
1884 serializer.startTag( NAMESPACE, "repositories" );
1885 for ( Iterator iter = profile.getRepositories().iterator(); iter.hasNext(); )
1886 {
1887 Repository o = (Repository) iter.next();
1888 writeRepository( o, "repository", serializer );
1889 }
1890 serializer.endTag( NAMESPACE, "repositories" );
1891 }
1892 if ( ( profile.getPluginRepositories() != null ) && ( profile.getPluginRepositories().size() > 0 ) )
1893 {
1894 serializer.startTag( NAMESPACE, "pluginRepositories" );
1895 for ( Iterator iter = profile.getPluginRepositories().iterator(); iter.hasNext(); )
1896 {
1897 Repository o = (Repository) iter.next();
1898 writeRepository( o, "pluginRepository", serializer );
1899 }
1900 serializer.endTag( NAMESPACE, "pluginRepositories" );
1901 }
1902 if ( profile.getReports() != null )
1903 {
1904 writeXpp3DomToSerializer( (Xpp3Dom) profile.getReports(), serializer );
1905 }
1906 if ( profile.getReporting() != null )
1907 {
1908 writeReporting( (Reporting) profile.getReporting(), "reporting", serializer );
1909 }
1910 serializer.endTag( NAMESPACE, tagName );
1911 }
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921 private void writeRelocation( Relocation relocation, String tagName, XmlSerializer serializer )
1922 throws java.io.IOException
1923 {
1924 serializer.startTag( NAMESPACE, tagName );
1925 if ( relocation.getGroupId() != null )
1926 {
1927 serializer.startTag( NAMESPACE, "groupId" ).text( relocation.getGroupId() ).endTag( NAMESPACE, "groupId" );
1928 writeLocationTracking( relocation, "groupId", serializer );
1929 }
1930 if ( relocation.getArtifactId() != null )
1931 {
1932 serializer.startTag( NAMESPACE, "artifactId" ).text( relocation.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
1933 writeLocationTracking( relocation, "artifactId", serializer );
1934 }
1935 if ( relocation.getVersion() != null )
1936 {
1937 serializer.startTag( NAMESPACE, "version" ).text( relocation.getVersion() ).endTag( NAMESPACE, "version" );
1938 writeLocationTracking( relocation, "version", serializer );
1939 }
1940 if ( relocation.getMessage() != null )
1941 {
1942 serializer.startTag( NAMESPACE, "message" ).text( relocation.getMessage() ).endTag( NAMESPACE, "message" );
1943 writeLocationTracking( relocation, "message", serializer );
1944 }
1945 serializer.endTag( NAMESPACE, tagName );
1946 }
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956 private void writeReportPlugin( ReportPlugin reportPlugin, String tagName, XmlSerializer serializer )
1957 throws java.io.IOException
1958 {
1959 serializer.startTag( NAMESPACE, tagName );
1960 if ( ( reportPlugin.getGroupId() != null ) && !reportPlugin.getGroupId().equals( "org.apache.maven.plugins" ) )
1961 {
1962 serializer.startTag( NAMESPACE, "groupId" ).text( reportPlugin.getGroupId() ).endTag( NAMESPACE, "groupId" );
1963 writeLocationTracking( reportPlugin, "groupId", serializer );
1964 }
1965 if ( reportPlugin.getArtifactId() != null )
1966 {
1967 serializer.startTag( NAMESPACE, "artifactId" ).text( reportPlugin.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
1968 writeLocationTracking( reportPlugin, "artifactId", serializer );
1969 }
1970 if ( reportPlugin.getVersion() != null )
1971 {
1972 serializer.startTag( NAMESPACE, "version" ).text( reportPlugin.getVersion() ).endTag( NAMESPACE, "version" );
1973 writeLocationTracking( reportPlugin, "version", serializer );
1974 }
1975 if ( ( reportPlugin.getReportSets() != null ) && ( reportPlugin.getReportSets().size() > 0 ) )
1976 {
1977 serializer.startTag( NAMESPACE, "reportSets" );
1978 for ( Iterator iter = reportPlugin.getReportSets().iterator(); iter.hasNext(); )
1979 {
1980 ReportSet o = (ReportSet) iter.next();
1981 writeReportSet( o, "reportSet", serializer );
1982 }
1983 serializer.endTag( NAMESPACE, "reportSets" );
1984 }
1985 if ( reportPlugin.getInherited() != null )
1986 {
1987 serializer.startTag( NAMESPACE, "inherited" ).text( reportPlugin.getInherited() ).endTag( NAMESPACE, "inherited" );
1988 writeLocationTracking( reportPlugin, "inherited", serializer );
1989 }
1990 if ( reportPlugin.getConfiguration() != null )
1991 {
1992 writeXpp3DomToSerializer( (Xpp3Dom) reportPlugin.getConfiguration(), serializer );
1993 }
1994 serializer.endTag( NAMESPACE, tagName );
1995 }
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005 private void writeReportSet( ReportSet reportSet, String tagName, XmlSerializer serializer )
2006 throws java.io.IOException
2007 {
2008 serializer.startTag( NAMESPACE, tagName );
2009 if ( ( reportSet.getId() != null ) && !reportSet.getId().equals( "default" ) )
2010 {
2011 serializer.startTag( NAMESPACE, "id" ).text( reportSet.getId() ).endTag( NAMESPACE, "id" );
2012 writeLocationTracking( reportSet, "id", serializer );
2013 }
2014 if ( ( reportSet.getReports() != null ) && ( reportSet.getReports().size() > 0 ) )
2015 {
2016 serializer.startTag( NAMESPACE, "reports" );
2017 InputLocation location = reportSet.getLocation( "reports" );
2018 int n = 0;
2019 for ( Iterator iter = reportSet.getReports().iterator(); iter.hasNext(); )
2020 {
2021 String report = (String) iter.next();
2022 serializer.startTag( NAMESPACE, "report" ).text( report ).endTag( NAMESPACE, "report" );
2023 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
2024 }
2025 serializer.endTag( NAMESPACE, "reports" );
2026 }
2027 if ( reportSet.getInherited() != null )
2028 {
2029 serializer.startTag( NAMESPACE, "inherited" ).text( reportSet.getInherited() ).endTag( NAMESPACE, "inherited" );
2030 writeLocationTracking( reportSet, "inherited", serializer );
2031 }
2032 if ( reportSet.getConfiguration() != null )
2033 {
2034 writeXpp3DomToSerializer( (Xpp3Dom) reportSet.getConfiguration(), serializer );
2035 }
2036 serializer.endTag( NAMESPACE, tagName );
2037 }
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047 private void writeReporting( Reporting reporting, String tagName, XmlSerializer serializer )
2048 throws java.io.IOException
2049 {
2050 serializer.startTag( NAMESPACE, tagName );
2051 if ( reporting.getExcludeDefaults() != null )
2052 {
2053 serializer.startTag( NAMESPACE, "excludeDefaults" ).text( reporting.getExcludeDefaults() ).endTag( NAMESPACE, "excludeDefaults" );
2054 writeLocationTracking( reporting, "excludeDefaults", serializer );
2055 }
2056 if ( reporting.getOutputDirectory() != null )
2057 {
2058 serializer.startTag( NAMESPACE, "outputDirectory" ).text( reporting.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
2059 writeLocationTracking( reporting, "outputDirectory", serializer );
2060 }
2061 if ( ( reporting.getPlugins() != null ) && ( reporting.getPlugins().size() > 0 ) )
2062 {
2063 serializer.startTag( NAMESPACE, "plugins" );
2064 for ( Iterator iter = reporting.getPlugins().iterator(); iter.hasNext(); )
2065 {
2066 ReportPlugin o = (ReportPlugin) iter.next();
2067 writeReportPlugin( o, "plugin", serializer );
2068 }
2069 serializer.endTag( NAMESPACE, "plugins" );
2070 }
2071 serializer.endTag( NAMESPACE, tagName );
2072 }
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082 private void writeRepository( Repository repository, String tagName, XmlSerializer serializer )
2083 throws java.io.IOException
2084 {
2085 serializer.startTag( NAMESPACE, tagName );
2086 if ( repository.getReleases() != null )
2087 {
2088 writeRepositoryPolicy( (RepositoryPolicy) repository.getReleases(), "releases", serializer );
2089 }
2090 if ( repository.getSnapshots() != null )
2091 {
2092 writeRepositoryPolicy( (RepositoryPolicy) repository.getSnapshots(), "snapshots", serializer );
2093 }
2094 if ( repository.getId() != null )
2095 {
2096 serializer.startTag( NAMESPACE, "id" ).text( repository.getId() ).endTag( NAMESPACE, "id" );
2097 writeLocationTracking( repository, "id", serializer );
2098 }
2099 if ( repository.getName() != null )
2100 {
2101 serializer.startTag( NAMESPACE, "name" ).text( repository.getName() ).endTag( NAMESPACE, "name" );
2102 writeLocationTracking( repository, "name", serializer );
2103 }
2104 if ( repository.getUrl() != null )
2105 {
2106 serializer.startTag( NAMESPACE, "url" ).text( repository.getUrl() ).endTag( NAMESPACE, "url" );
2107 writeLocationTracking( repository, "url", serializer );
2108 }
2109 if ( ( repository.getLayout() != null ) && !repository.getLayout().equals( "default" ) )
2110 {
2111 serializer.startTag( NAMESPACE, "layout" ).text( repository.getLayout() ).endTag( NAMESPACE, "layout" );
2112 writeLocationTracking( repository, "layout", serializer );
2113 }
2114 serializer.endTag( NAMESPACE, tagName );
2115 }
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125 private void writeRepositoryBase( RepositoryBase repositoryBase, String tagName, XmlSerializer serializer )
2126 throws java.io.IOException
2127 {
2128 serializer.startTag( NAMESPACE, tagName );
2129 if ( repositoryBase.getId() != null )
2130 {
2131 serializer.startTag( NAMESPACE, "id" ).text( repositoryBase.getId() ).endTag( NAMESPACE, "id" );
2132 writeLocationTracking( repositoryBase, "id", serializer );
2133 }
2134 if ( repositoryBase.getName() != null )
2135 {
2136 serializer.startTag( NAMESPACE, "name" ).text( repositoryBase.getName() ).endTag( NAMESPACE, "name" );
2137 writeLocationTracking( repositoryBase, "name", serializer );
2138 }
2139 if ( repositoryBase.getUrl() != null )
2140 {
2141 serializer.startTag( NAMESPACE, "url" ).text( repositoryBase.getUrl() ).endTag( NAMESPACE, "url" );
2142 writeLocationTracking( repositoryBase, "url", serializer );
2143 }
2144 if ( ( repositoryBase.getLayout() != null ) && !repositoryBase.getLayout().equals( "default" ) )
2145 {
2146 serializer.startTag( NAMESPACE, "layout" ).text( repositoryBase.getLayout() ).endTag( NAMESPACE, "layout" );
2147 writeLocationTracking( repositoryBase, "layout", serializer );
2148 }
2149 serializer.endTag( NAMESPACE, tagName );
2150 }
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160 private void writeRepositoryPolicy( RepositoryPolicy repositoryPolicy, String tagName, XmlSerializer serializer )
2161 throws java.io.IOException
2162 {
2163 serializer.startTag( NAMESPACE, tagName );
2164 if ( repositoryPolicy.getEnabled() != null )
2165 {
2166 serializer.startTag( NAMESPACE, "enabled" ).text( repositoryPolicy.getEnabled() ).endTag( NAMESPACE, "enabled" );
2167 writeLocationTracking( repositoryPolicy, "enabled", serializer );
2168 }
2169 if ( repositoryPolicy.getUpdatePolicy() != null )
2170 {
2171 serializer.startTag( NAMESPACE, "updatePolicy" ).text( repositoryPolicy.getUpdatePolicy() ).endTag( NAMESPACE, "updatePolicy" );
2172 writeLocationTracking( repositoryPolicy, "updatePolicy", serializer );
2173 }
2174 if ( repositoryPolicy.getChecksumPolicy() != null )
2175 {
2176 serializer.startTag( NAMESPACE, "checksumPolicy" ).text( repositoryPolicy.getChecksumPolicy() ).endTag( NAMESPACE, "checksumPolicy" );
2177 writeLocationTracking( repositoryPolicy, "checksumPolicy", serializer );
2178 }
2179 serializer.endTag( NAMESPACE, tagName );
2180 }
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190 private void writeResource( Resource resource, String tagName, XmlSerializer serializer )
2191 throws java.io.IOException
2192 {
2193 serializer.startTag( NAMESPACE, tagName );
2194 if ( resource.getTargetPath() != null )
2195 {
2196 serializer.startTag( NAMESPACE, "targetPath" ).text( resource.getTargetPath() ).endTag( NAMESPACE, "targetPath" );
2197 writeLocationTracking( resource, "targetPath", serializer );
2198 }
2199 if ( resource.getFiltering() != null )
2200 {
2201 serializer.startTag( NAMESPACE, "filtering" ).text( resource.getFiltering() ).endTag( NAMESPACE, "filtering" );
2202 writeLocationTracking( resource, "filtering", serializer );
2203 }
2204 if ( resource.getDirectory() != null )
2205 {
2206 serializer.startTag( NAMESPACE, "directory" ).text( resource.getDirectory() ).endTag( NAMESPACE, "directory" );
2207 writeLocationTracking( resource, "directory", serializer );
2208 }
2209 if ( ( resource.getIncludes() != null ) && ( resource.getIncludes().size() > 0 ) )
2210 {
2211 serializer.startTag( NAMESPACE, "includes" );
2212 InputLocation location = resource.getLocation( "includes" );
2213 int n = 0;
2214 for ( Iterator iter = resource.getIncludes().iterator(); iter.hasNext(); )
2215 {
2216 String include = (String) iter.next();
2217 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
2218 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
2219 }
2220 serializer.endTag( NAMESPACE, "includes" );
2221 }
2222 if ( ( resource.getExcludes() != null ) && ( resource.getExcludes().size() > 0 ) )
2223 {
2224 serializer.startTag( NAMESPACE, "excludes" );
2225 InputLocation location = resource.getLocation( "excludes" );
2226 int n = 0;
2227 for ( Iterator iter = resource.getExcludes().iterator(); iter.hasNext(); )
2228 {
2229 String exclude = (String) iter.next();
2230 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
2231 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
2232 }
2233 serializer.endTag( NAMESPACE, "excludes" );
2234 }
2235 serializer.endTag( NAMESPACE, tagName );
2236 }
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246 private void writeScm( Scm scm, String tagName, XmlSerializer serializer )
2247 throws java.io.IOException
2248 {
2249 serializer.startTag( NAMESPACE, tagName );
2250 if ( scm.getConnection() != null )
2251 {
2252 serializer.startTag( NAMESPACE, "connection" ).text( scm.getConnection() ).endTag( NAMESPACE, "connection" );
2253 writeLocationTracking( scm, "connection", serializer );
2254 }
2255 if ( scm.getDeveloperConnection() != null )
2256 {
2257 serializer.startTag( NAMESPACE, "developerConnection" ).text( scm.getDeveloperConnection() ).endTag( NAMESPACE, "developerConnection" );
2258 writeLocationTracking( scm, "developerConnection", serializer );
2259 }
2260 if ( ( scm.getTag() != null ) && !scm.getTag().equals( "HEAD" ) )
2261 {
2262 serializer.startTag( NAMESPACE, "tag" ).text( scm.getTag() ).endTag( NAMESPACE, "tag" );
2263 writeLocationTracking( scm, "tag", serializer );
2264 }
2265 if ( scm.getUrl() != null )
2266 {
2267 serializer.startTag( NAMESPACE, "url" ).text( scm.getUrl() ).endTag( NAMESPACE, "url" );
2268 writeLocationTracking( scm, "url", serializer );
2269 }
2270 serializer.endTag( NAMESPACE, tagName );
2271 }
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281 private void writeSite( Site site, String tagName, XmlSerializer serializer )
2282 throws java.io.IOException
2283 {
2284 serializer.startTag( NAMESPACE, tagName );
2285 if ( site.getId() != null )
2286 {
2287 serializer.startTag( NAMESPACE, "id" ).text( site.getId() ).endTag( NAMESPACE, "id" );
2288 writeLocationTracking( site, "id", serializer );
2289 }
2290 if ( site.getName() != null )
2291 {
2292 serializer.startTag( NAMESPACE, "name" ).text( site.getName() ).endTag( NAMESPACE, "name" );
2293 writeLocationTracking( site, "name", serializer );
2294 }
2295 if ( site.getUrl() != null )
2296 {
2297 serializer.startTag( NAMESPACE, "url" ).text( site.getUrl() ).endTag( NAMESPACE, "url" );
2298 writeLocationTracking( site, "url", serializer );
2299 }
2300 serializer.endTag( NAMESPACE, tagName );
2301 }
2302
2303 }