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 MavenXpp3WriterEx
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 private void writeConfigurationContainer( ConfigurationContainer configurationContainer, String tagName, XmlSerializer serializer )
561 throws java.io.IOException
562 {
563 serializer.startTag( NAMESPACE, tagName );
564 if ( configurationContainer.getInherited() != null )
565 {
566 serializer.startTag( NAMESPACE, "inherited" ).text( configurationContainer.getInherited() ).endTag( NAMESPACE, "inherited" );
567 writeLocationTracking( configurationContainer, "inherited", serializer );
568 }
569 if ( configurationContainer.getConfiguration() != null )
570 {
571 writeXpp3DomToSerializer( (Xpp3Dom) configurationContainer.getConfiguration(), serializer );
572 }
573 serializer.endTag( NAMESPACE, tagName );
574 }
575
576
577
578
579
580
581
582
583
584 private void writeContributor( Contributor contributor, String tagName, XmlSerializer serializer )
585 throws java.io.IOException
586 {
587 serializer.startTag( NAMESPACE, tagName );
588 if ( contributor.getName() != null )
589 {
590 serializer.startTag( NAMESPACE, "name" ).text( contributor.getName() ).endTag( NAMESPACE, "name" );
591 writeLocationTracking( contributor, "name", serializer );
592 }
593 if ( contributor.getEmail() != null )
594 {
595 serializer.startTag( NAMESPACE, "email" ).text( contributor.getEmail() ).endTag( NAMESPACE, "email" );
596 writeLocationTracking( contributor, "email", serializer );
597 }
598 if ( contributor.getUrl() != null )
599 {
600 serializer.startTag( NAMESPACE, "url" ).text( contributor.getUrl() ).endTag( NAMESPACE, "url" );
601 writeLocationTracking( contributor, "url", serializer );
602 }
603 if ( contributor.getOrganization() != null )
604 {
605 serializer.startTag( NAMESPACE, "organization" ).text( contributor.getOrganization() ).endTag( NAMESPACE, "organization" );
606 writeLocationTracking( contributor, "organization", serializer );
607 }
608 if ( contributor.getOrganizationUrl() != null )
609 {
610 serializer.startTag( NAMESPACE, "organizationUrl" ).text( contributor.getOrganizationUrl() ).endTag( NAMESPACE, "organizationUrl" );
611 writeLocationTracking( contributor, "organizationUrl", serializer );
612 }
613 if ( ( contributor.getRoles() != null ) && ( contributor.getRoles().size() > 0 ) )
614 {
615 serializer.startTag( NAMESPACE, "roles" );
616 InputLocation location = contributor.getLocation( "roles" );
617 int n = 0;
618 for ( Iterator iter = contributor.getRoles().iterator(); iter.hasNext(); )
619 {
620 String role = (String) iter.next();
621 serializer.startTag( NAMESPACE, "role" ).text( role ).endTag( NAMESPACE, "role" );
622 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
623 }
624 serializer.endTag( NAMESPACE, "roles" );
625 }
626 if ( contributor.getTimezone() != null )
627 {
628 serializer.startTag( NAMESPACE, "timezone" ).text( contributor.getTimezone() ).endTag( NAMESPACE, "timezone" );
629 writeLocationTracking( contributor, "timezone", serializer );
630 }
631 if ( ( contributor.getProperties() != null ) && ( contributor.getProperties().size() > 0 ) )
632 {
633 serializer.startTag( NAMESPACE, "properties" );
634 InputLocation location = contributor.getLocation( "properties" );
635 for ( Iterator iter = contributor.getProperties().keySet().iterator(); iter.hasNext(); )
636 {
637 String key = (String) iter.next();
638 String value = (String) contributor.getProperties().get( key );
639 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
640 writeLocationTracking( location, key, serializer );
641 }
642 serializer.endTag( NAMESPACE, "properties" );
643 }
644 serializer.endTag( NAMESPACE, tagName );
645 }
646
647
648
649
650
651
652
653
654
655 private void writeDependency( Dependency dependency, String tagName, XmlSerializer serializer )
656 throws java.io.IOException
657 {
658 serializer.startTag( NAMESPACE, tagName );
659 if ( dependency.getGroupId() != null )
660 {
661 serializer.startTag( NAMESPACE, "groupId" ).text( dependency.getGroupId() ).endTag( NAMESPACE, "groupId" );
662 writeLocationTracking( dependency, "groupId", serializer );
663 }
664 if ( dependency.getArtifactId() != null )
665 {
666 serializer.startTag( NAMESPACE, "artifactId" ).text( dependency.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
667 writeLocationTracking( dependency, "artifactId", serializer );
668 }
669 if ( dependency.getVersion() != null )
670 {
671 serializer.startTag( NAMESPACE, "version" ).text( dependency.getVersion() ).endTag( NAMESPACE, "version" );
672 writeLocationTracking( dependency, "version", serializer );
673 }
674 if ( ( dependency.getType() != null ) && !dependency.getType().equals( "jar" ) )
675 {
676 serializer.startTag( NAMESPACE, "type" ).text( dependency.getType() ).endTag( NAMESPACE, "type" );
677 writeLocationTracking( dependency, "type", serializer );
678 }
679 if ( dependency.getClassifier() != null )
680 {
681 serializer.startTag( NAMESPACE, "classifier" ).text( dependency.getClassifier() ).endTag( NAMESPACE, "classifier" );
682 writeLocationTracking( dependency, "classifier", serializer );
683 }
684 if ( dependency.getScope() != null )
685 {
686 serializer.startTag( NAMESPACE, "scope" ).text( dependency.getScope() ).endTag( NAMESPACE, "scope" );
687 writeLocationTracking( dependency, "scope", serializer );
688 }
689 if ( dependency.getSystemPath() != null )
690 {
691 serializer.startTag( NAMESPACE, "systemPath" ).text( dependency.getSystemPath() ).endTag( NAMESPACE, "systemPath" );
692 writeLocationTracking( dependency, "systemPath", serializer );
693 }
694 if ( ( dependency.getExclusions() != null ) && ( dependency.getExclusions().size() > 0 ) )
695 {
696 serializer.startTag( NAMESPACE, "exclusions" );
697 for ( Iterator iter = dependency.getExclusions().iterator(); iter.hasNext(); )
698 {
699 Exclusion o = (Exclusion) iter.next();
700 writeExclusion( o, "exclusion", serializer );
701 }
702 serializer.endTag( NAMESPACE, "exclusions" );
703 }
704 if ( dependency.getOptional() != null )
705 {
706 serializer.startTag( NAMESPACE, "optional" ).text( dependency.getOptional() ).endTag( NAMESPACE, "optional" );
707 writeLocationTracking( dependency, "optional", serializer );
708 }
709 serializer.endTag( NAMESPACE, tagName );
710 }
711
712
713
714
715
716
717
718
719
720 private void writeDependencyManagement( DependencyManagement dependencyManagement, String tagName, XmlSerializer serializer )
721 throws java.io.IOException
722 {
723 serializer.startTag( NAMESPACE, tagName );
724 if ( ( dependencyManagement.getDependencies() != null ) && ( dependencyManagement.getDependencies().size() > 0 ) )
725 {
726 serializer.startTag( NAMESPACE, "dependencies" );
727 for ( Iterator iter = dependencyManagement.getDependencies().iterator(); iter.hasNext(); )
728 {
729 Dependency o = (Dependency) iter.next();
730 writeDependency( o, "dependency", serializer );
731 }
732 serializer.endTag( NAMESPACE, "dependencies" );
733 }
734 serializer.endTag( NAMESPACE, tagName );
735 }
736
737
738
739
740
741
742
743
744
745 private void writeDeploymentRepository( DeploymentRepository deploymentRepository, String tagName, XmlSerializer serializer )
746 throws java.io.IOException
747 {
748 serializer.startTag( NAMESPACE, tagName );
749 if ( deploymentRepository.isUniqueVersion() != true )
750 {
751 serializer.startTag( NAMESPACE, "uniqueVersion" ).text( String.valueOf( deploymentRepository.isUniqueVersion() ) ).endTag( NAMESPACE, "uniqueVersion" );
752 writeLocationTracking( deploymentRepository, "uniqueVersion", serializer );
753 }
754 if ( deploymentRepository.getReleases() != null )
755 {
756 writeRepositoryPolicy( (RepositoryPolicy) deploymentRepository.getReleases(), "releases", serializer );
757 }
758 if ( deploymentRepository.getSnapshots() != null )
759 {
760 writeRepositoryPolicy( (RepositoryPolicy) deploymentRepository.getSnapshots(), "snapshots", serializer );
761 }
762 if ( deploymentRepository.getId() != null )
763 {
764 serializer.startTag( NAMESPACE, "id" ).text( deploymentRepository.getId() ).endTag( NAMESPACE, "id" );
765 writeLocationTracking( deploymentRepository, "id", serializer );
766 }
767 if ( deploymentRepository.getName() != null )
768 {
769 serializer.startTag( NAMESPACE, "name" ).text( deploymentRepository.getName() ).endTag( NAMESPACE, "name" );
770 writeLocationTracking( deploymentRepository, "name", serializer );
771 }
772 if ( deploymentRepository.getUrl() != null )
773 {
774 serializer.startTag( NAMESPACE, "url" ).text( deploymentRepository.getUrl() ).endTag( NAMESPACE, "url" );
775 writeLocationTracking( deploymentRepository, "url", serializer );
776 }
777 if ( ( deploymentRepository.getLayout() != null ) && !deploymentRepository.getLayout().equals( "default" ) )
778 {
779 serializer.startTag( NAMESPACE, "layout" ).text( deploymentRepository.getLayout() ).endTag( NAMESPACE, "layout" );
780 writeLocationTracking( deploymentRepository, "layout", serializer );
781 }
782 serializer.endTag( NAMESPACE, tagName );
783 }
784
785
786
787
788
789
790
791
792
793 private void writeDeveloper( Developer developer, String tagName, XmlSerializer serializer )
794 throws java.io.IOException
795 {
796 serializer.startTag( NAMESPACE, tagName );
797 if ( developer.getId() != null )
798 {
799 serializer.startTag( NAMESPACE, "id" ).text( developer.getId() ).endTag( NAMESPACE, "id" );
800 writeLocationTracking( developer, "id", serializer );
801 }
802 if ( developer.getName() != null )
803 {
804 serializer.startTag( NAMESPACE, "name" ).text( developer.getName() ).endTag( NAMESPACE, "name" );
805 writeLocationTracking( developer, "name", serializer );
806 }
807 if ( developer.getEmail() != null )
808 {
809 serializer.startTag( NAMESPACE, "email" ).text( developer.getEmail() ).endTag( NAMESPACE, "email" );
810 writeLocationTracking( developer, "email", serializer );
811 }
812 if ( developer.getUrl() != null )
813 {
814 serializer.startTag( NAMESPACE, "url" ).text( developer.getUrl() ).endTag( NAMESPACE, "url" );
815 writeLocationTracking( developer, "url", serializer );
816 }
817 if ( developer.getOrganization() != null )
818 {
819 serializer.startTag( NAMESPACE, "organization" ).text( developer.getOrganization() ).endTag( NAMESPACE, "organization" );
820 writeLocationTracking( developer, "organization", serializer );
821 }
822 if ( developer.getOrganizationUrl() != null )
823 {
824 serializer.startTag( NAMESPACE, "organizationUrl" ).text( developer.getOrganizationUrl() ).endTag( NAMESPACE, "organizationUrl" );
825 writeLocationTracking( developer, "organizationUrl", serializer );
826 }
827 if ( ( developer.getRoles() != null ) && ( developer.getRoles().size() > 0 ) )
828 {
829 serializer.startTag( NAMESPACE, "roles" );
830 InputLocation location = developer.getLocation( "roles" );
831 int n = 0;
832 for ( Iterator iter = developer.getRoles().iterator(); iter.hasNext(); )
833 {
834 String role = (String) iter.next();
835 serializer.startTag( NAMESPACE, "role" ).text( role ).endTag( NAMESPACE, "role" );
836 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
837 }
838 serializer.endTag( NAMESPACE, "roles" );
839 }
840 if ( developer.getTimezone() != null )
841 {
842 serializer.startTag( NAMESPACE, "timezone" ).text( developer.getTimezone() ).endTag( NAMESPACE, "timezone" );
843 writeLocationTracking( developer, "timezone", serializer );
844 }
845 if ( ( developer.getProperties() != null ) && ( developer.getProperties().size() > 0 ) )
846 {
847 serializer.startTag( NAMESPACE, "properties" );
848 InputLocation location = developer.getLocation( "properties" );
849 for ( Iterator iter = developer.getProperties().keySet().iterator(); iter.hasNext(); )
850 {
851 String key = (String) iter.next();
852 String value = (String) developer.getProperties().get( key );
853 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
854 writeLocationTracking( location, key, serializer );
855 }
856 serializer.endTag( NAMESPACE, "properties" );
857 }
858 serializer.endTag( NAMESPACE, tagName );
859 }
860
861
862
863
864
865
866
867
868
869 private void writeDistributionManagement( DistributionManagement distributionManagement, String tagName, XmlSerializer serializer )
870 throws java.io.IOException
871 {
872 serializer.startTag( NAMESPACE, tagName );
873 if ( distributionManagement.getRepository() != null )
874 {
875 writeDeploymentRepository( (DeploymentRepository) distributionManagement.getRepository(), "repository", serializer );
876 }
877 if ( distributionManagement.getSnapshotRepository() != null )
878 {
879 writeDeploymentRepository( (DeploymentRepository) distributionManagement.getSnapshotRepository(), "snapshotRepository", serializer );
880 }
881 if ( distributionManagement.getSite() != null )
882 {
883 writeSite( (Site) distributionManagement.getSite(), "site", serializer );
884 }
885 if ( distributionManagement.getDownloadUrl() != null )
886 {
887 serializer.startTag( NAMESPACE, "downloadUrl" ).text( distributionManagement.getDownloadUrl() ).endTag( NAMESPACE, "downloadUrl" );
888 writeLocationTracking( distributionManagement, "downloadUrl", serializer );
889 }
890 if ( distributionManagement.getRelocation() != null )
891 {
892 writeRelocation( (Relocation) distributionManagement.getRelocation(), "relocation", serializer );
893 }
894 if ( distributionManagement.getStatus() != null )
895 {
896 serializer.startTag( NAMESPACE, "status" ).text( distributionManagement.getStatus() ).endTag( NAMESPACE, "status" );
897 writeLocationTracking( distributionManagement, "status", serializer );
898 }
899 serializer.endTag( NAMESPACE, tagName );
900 }
901
902
903
904
905
906
907
908
909
910 private void writeExclusion( Exclusion exclusion, String tagName, XmlSerializer serializer )
911 throws java.io.IOException
912 {
913 serializer.startTag( NAMESPACE, tagName );
914 if ( exclusion.getArtifactId() != null )
915 {
916 serializer.startTag( NAMESPACE, "artifactId" ).text( exclusion.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
917 writeLocationTracking( exclusion, "artifactId", serializer );
918 }
919 if ( exclusion.getGroupId() != null )
920 {
921 serializer.startTag( NAMESPACE, "groupId" ).text( exclusion.getGroupId() ).endTag( NAMESPACE, "groupId" );
922 writeLocationTracking( exclusion, "groupId", serializer );
923 }
924 serializer.endTag( NAMESPACE, tagName );
925 }
926
927
928
929
930
931
932
933
934
935 private void writeExtension( Extension extension, String tagName, XmlSerializer serializer )
936 throws java.io.IOException
937 {
938 serializer.startTag( NAMESPACE, tagName );
939 if ( extension.getGroupId() != null )
940 {
941 serializer.startTag( NAMESPACE, "groupId" ).text( extension.getGroupId() ).endTag( NAMESPACE, "groupId" );
942 writeLocationTracking( extension, "groupId", serializer );
943 }
944 if ( extension.getArtifactId() != null )
945 {
946 serializer.startTag( NAMESPACE, "artifactId" ).text( extension.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
947 writeLocationTracking( extension, "artifactId", serializer );
948 }
949 if ( extension.getVersion() != null )
950 {
951 serializer.startTag( NAMESPACE, "version" ).text( extension.getVersion() ).endTag( NAMESPACE, "version" );
952 writeLocationTracking( extension, "version", serializer );
953 }
954 serializer.endTag( NAMESPACE, tagName );
955 }
956
957
958
959
960
961
962
963
964
965 private void writeFileSet( FileSet fileSet, String tagName, XmlSerializer serializer )
966 throws java.io.IOException
967 {
968 serializer.startTag( NAMESPACE, tagName );
969 if ( fileSet.getDirectory() != null )
970 {
971 serializer.startTag( NAMESPACE, "directory" ).text( fileSet.getDirectory() ).endTag( NAMESPACE, "directory" );
972 writeLocationTracking( fileSet, "directory", serializer );
973 }
974 if ( ( fileSet.getIncludes() != null ) && ( fileSet.getIncludes().size() > 0 ) )
975 {
976 serializer.startTag( NAMESPACE, "includes" );
977 InputLocation location = fileSet.getLocation( "includes" );
978 int n = 0;
979 for ( Iterator iter = fileSet.getIncludes().iterator(); iter.hasNext(); )
980 {
981 String include = (String) iter.next();
982 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
983 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
984 }
985 serializer.endTag( NAMESPACE, "includes" );
986 }
987 if ( ( fileSet.getExcludes() != null ) && ( fileSet.getExcludes().size() > 0 ) )
988 {
989 serializer.startTag( NAMESPACE, "excludes" );
990 InputLocation location = fileSet.getLocation( "excludes" );
991 int n = 0;
992 for ( Iterator iter = fileSet.getExcludes().iterator(); iter.hasNext(); )
993 {
994 String exclude = (String) iter.next();
995 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
996 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
997 }
998 serializer.endTag( NAMESPACE, "excludes" );
999 }
1000 serializer.endTag( NAMESPACE, tagName );
1001 }
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011 private void writeIssueManagement( IssueManagement issueManagement, String tagName, XmlSerializer serializer )
1012 throws java.io.IOException
1013 {
1014 serializer.startTag( NAMESPACE, tagName );
1015 if ( issueManagement.getSystem() != null )
1016 {
1017 serializer.startTag( NAMESPACE, "system" ).text( issueManagement.getSystem() ).endTag( NAMESPACE, "system" );
1018 writeLocationTracking( issueManagement, "system", serializer );
1019 }
1020 if ( issueManagement.getUrl() != null )
1021 {
1022 serializer.startTag( NAMESPACE, "url" ).text( issueManagement.getUrl() ).endTag( NAMESPACE, "url" );
1023 writeLocationTracking( issueManagement, "url", serializer );
1024 }
1025 serializer.endTag( NAMESPACE, tagName );
1026 }
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036 private void writeLicense( License license, String tagName, XmlSerializer serializer )
1037 throws java.io.IOException
1038 {
1039 serializer.startTag( NAMESPACE, tagName );
1040 if ( license.getName() != null )
1041 {
1042 serializer.startTag( NAMESPACE, "name" ).text( license.getName() ).endTag( NAMESPACE, "name" );
1043 writeLocationTracking( license, "name", serializer );
1044 }
1045 if ( license.getUrl() != null )
1046 {
1047 serializer.startTag( NAMESPACE, "url" ).text( license.getUrl() ).endTag( NAMESPACE, "url" );
1048 writeLocationTracking( license, "url", serializer );
1049 }
1050 if ( license.getDistribution() != null )
1051 {
1052 serializer.startTag( NAMESPACE, "distribution" ).text( license.getDistribution() ).endTag( NAMESPACE, "distribution" );
1053 writeLocationTracking( license, "distribution", serializer );
1054 }
1055 if ( license.getComments() != null )
1056 {
1057 serializer.startTag( NAMESPACE, "comments" ).text( license.getComments() ).endTag( NAMESPACE, "comments" );
1058 writeLocationTracking( license, "comments", serializer );
1059 }
1060 serializer.endTag( NAMESPACE, tagName );
1061 }
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071 private void writeLocationTracking( InputLocationTracker locationTracker, Object key, XmlSerializer serializer )
1072 throws java.io.IOException
1073 {
1074 InputLocation location = ( locationTracker == null ) ? null : locationTracker.getLocation( key );
1075 if ( location != null )
1076 {
1077 serializer.comment( toString( location ) );
1078 }
1079 }
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089 private void writeMailingList( MailingList mailingList, String tagName, XmlSerializer serializer )
1090 throws java.io.IOException
1091 {
1092 serializer.startTag( NAMESPACE, tagName );
1093 if ( mailingList.getName() != null )
1094 {
1095 serializer.startTag( NAMESPACE, "name" ).text( mailingList.getName() ).endTag( NAMESPACE, "name" );
1096 writeLocationTracking( mailingList, "name", serializer );
1097 }
1098 if ( mailingList.getSubscribe() != null )
1099 {
1100 serializer.startTag( NAMESPACE, "subscribe" ).text( mailingList.getSubscribe() ).endTag( NAMESPACE, "subscribe" );
1101 writeLocationTracking( mailingList, "subscribe", serializer );
1102 }
1103 if ( mailingList.getUnsubscribe() != null )
1104 {
1105 serializer.startTag( NAMESPACE, "unsubscribe" ).text( mailingList.getUnsubscribe() ).endTag( NAMESPACE, "unsubscribe" );
1106 writeLocationTracking( mailingList, "unsubscribe", serializer );
1107 }
1108 if ( mailingList.getPost() != null )
1109 {
1110 serializer.startTag( NAMESPACE, "post" ).text( mailingList.getPost() ).endTag( NAMESPACE, "post" );
1111 writeLocationTracking( mailingList, "post", serializer );
1112 }
1113 if ( mailingList.getArchive() != null )
1114 {
1115 serializer.startTag( NAMESPACE, "archive" ).text( mailingList.getArchive() ).endTag( NAMESPACE, "archive" );
1116 writeLocationTracking( mailingList, "archive", serializer );
1117 }
1118 if ( ( mailingList.getOtherArchives() != null ) && ( mailingList.getOtherArchives().size() > 0 ) )
1119 {
1120 serializer.startTag( NAMESPACE, "otherArchives" );
1121 InputLocation location = mailingList.getLocation( "otherArchives" );
1122 int n = 0;
1123 for ( Iterator iter = mailingList.getOtherArchives().iterator(); iter.hasNext(); )
1124 {
1125 String otherArchive = (String) iter.next();
1126 serializer.startTag( NAMESPACE, "otherArchive" ).text( otherArchive ).endTag( NAMESPACE, "otherArchive" );
1127 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1128 }
1129 serializer.endTag( NAMESPACE, "otherArchives" );
1130 }
1131 serializer.endTag( NAMESPACE, tagName );
1132 }
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142 private void writeModel( Model model, String tagName, XmlSerializer serializer )
1143 throws java.io.IOException
1144 {
1145 if ( this.fileComment != null )
1146 {
1147 serializer.comment(this.fileComment);
1148 }
1149 serializer.setPrefix( "", "http://maven.apache.org/POM/4.0.0" );
1150 serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
1151 serializer.startTag( NAMESPACE, tagName );
1152 serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" );
1153 if ( model.getChildProjectUrlInheritAppendPath() != null )
1154 {
1155 serializer.attribute( NAMESPACE, "child.project.url.inherit.append.path", model.getChildProjectUrlInheritAppendPath() );
1156 }
1157 if ( model.getModelVersion() != null )
1158 {
1159 serializer.startTag( NAMESPACE, "modelVersion" ).text( model.getModelVersion() ).endTag( NAMESPACE, "modelVersion" );
1160 writeLocationTracking( model, "modelVersion", serializer );
1161 }
1162 if ( model.getParent() != null )
1163 {
1164 writeParent( (Parent) model.getParent(), "parent", serializer );
1165 }
1166 if ( model.getGroupId() != null )
1167 {
1168 serializer.startTag( NAMESPACE, "groupId" ).text( model.getGroupId() ).endTag( NAMESPACE, "groupId" );
1169 writeLocationTracking( model, "groupId", serializer );
1170 }
1171 if ( model.getArtifactId() != null )
1172 {
1173 serializer.startTag( NAMESPACE, "artifactId" ).text( model.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
1174 writeLocationTracking( model, "artifactId", serializer );
1175 }
1176 if ( model.getVersion() != null )
1177 {
1178 serializer.startTag( NAMESPACE, "version" ).text( model.getVersion() ).endTag( NAMESPACE, "version" );
1179 writeLocationTracking( model, "version", serializer );
1180 }
1181 if ( ( model.getPackaging() != null ) && !model.getPackaging().equals( "jar" ) )
1182 {
1183 serializer.startTag( NAMESPACE, "packaging" ).text( model.getPackaging() ).endTag( NAMESPACE, "packaging" );
1184 writeLocationTracking( model, "packaging", serializer );
1185 }
1186 if ( model.getName() != null )
1187 {
1188 serializer.startTag( NAMESPACE, "name" ).text( model.getName() ).endTag( NAMESPACE, "name" );
1189 writeLocationTracking( model, "name", serializer );
1190 }
1191 if ( model.getDescription() != null )
1192 {
1193 serializer.startTag( NAMESPACE, "description" ).text( model.getDescription() ).endTag( NAMESPACE, "description" );
1194 writeLocationTracking( model, "description", serializer );
1195 }
1196 if ( model.getUrl() != null )
1197 {
1198 serializer.startTag( NAMESPACE, "url" ).text( model.getUrl() ).endTag( NAMESPACE, "url" );
1199 writeLocationTracking( model, "url", serializer );
1200 }
1201 if ( model.getInceptionYear() != null )
1202 {
1203 serializer.startTag( NAMESPACE, "inceptionYear" ).text( model.getInceptionYear() ).endTag( NAMESPACE, "inceptionYear" );
1204 writeLocationTracking( model, "inceptionYear", serializer );
1205 }
1206 if ( model.getOrganization() != null )
1207 {
1208 writeOrganization( (Organization) model.getOrganization(), "organization", serializer );
1209 }
1210 if ( ( model.getLicenses() != null ) && ( model.getLicenses().size() > 0 ) )
1211 {
1212 serializer.startTag( NAMESPACE, "licenses" );
1213 for ( Iterator iter = model.getLicenses().iterator(); iter.hasNext(); )
1214 {
1215 License o = (License) iter.next();
1216 writeLicense( o, "license", serializer );
1217 }
1218 serializer.endTag( NAMESPACE, "licenses" );
1219 }
1220 if ( ( model.getDevelopers() != null ) && ( model.getDevelopers().size() > 0 ) )
1221 {
1222 serializer.startTag( NAMESPACE, "developers" );
1223 for ( Iterator iter = model.getDevelopers().iterator(); iter.hasNext(); )
1224 {
1225 Developer o = (Developer) iter.next();
1226 writeDeveloper( o, "developer", serializer );
1227 }
1228 serializer.endTag( NAMESPACE, "developers" );
1229 }
1230 if ( ( model.getContributors() != null ) && ( model.getContributors().size() > 0 ) )
1231 {
1232 serializer.startTag( NAMESPACE, "contributors" );
1233 for ( Iterator iter = model.getContributors().iterator(); iter.hasNext(); )
1234 {
1235 Contributor o = (Contributor) iter.next();
1236 writeContributor( o, "contributor", serializer );
1237 }
1238 serializer.endTag( NAMESPACE, "contributors" );
1239 }
1240 if ( ( model.getMailingLists() != null ) && ( model.getMailingLists().size() > 0 ) )
1241 {
1242 serializer.startTag( NAMESPACE, "mailingLists" );
1243 for ( Iterator iter = model.getMailingLists().iterator(); iter.hasNext(); )
1244 {
1245 MailingList o = (MailingList) iter.next();
1246 writeMailingList( o, "mailingList", serializer );
1247 }
1248 serializer.endTag( NAMESPACE, "mailingLists" );
1249 }
1250 if ( model.getPrerequisites() != null )
1251 {
1252 writePrerequisites( (Prerequisites) model.getPrerequisites(), "prerequisites", serializer );
1253 }
1254 if ( ( model.getModules() != null ) && ( model.getModules().size() > 0 ) )
1255 {
1256 serializer.startTag( NAMESPACE, "modules" );
1257 InputLocation location = model.getLocation( "modules" );
1258 int n = 0;
1259 for ( Iterator iter = model.getModules().iterator(); iter.hasNext(); )
1260 {
1261 String module = (String) iter.next();
1262 serializer.startTag( NAMESPACE, "module" ).text( module ).endTag( NAMESPACE, "module" );
1263 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1264 }
1265 serializer.endTag( NAMESPACE, "modules" );
1266 }
1267 if ( model.getScm() != null )
1268 {
1269 writeScm( (Scm) model.getScm(), "scm", serializer );
1270 }
1271 if ( model.getIssueManagement() != null )
1272 {
1273 writeIssueManagement( (IssueManagement) model.getIssueManagement(), "issueManagement", serializer );
1274 }
1275 if ( model.getCiManagement() != null )
1276 {
1277 writeCiManagement( (CiManagement) model.getCiManagement(), "ciManagement", serializer );
1278 }
1279 if ( model.getDistributionManagement() != null )
1280 {
1281 writeDistributionManagement( (DistributionManagement) model.getDistributionManagement(), "distributionManagement", serializer );
1282 }
1283 if ( ( model.getProperties() != null ) && ( model.getProperties().size() > 0 ) )
1284 {
1285 serializer.startTag( NAMESPACE, "properties" );
1286 InputLocation location = model.getLocation( "properties" );
1287 for ( Iterator iter = model.getProperties().keySet().iterator(); iter.hasNext(); )
1288 {
1289 String key = (String) iter.next();
1290 String value = (String) model.getProperties().get( key );
1291 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
1292 writeLocationTracking( location, key, serializer );
1293 }
1294 serializer.endTag( NAMESPACE, "properties" );
1295 }
1296 if ( model.getDependencyManagement() != null )
1297 {
1298 writeDependencyManagement( (DependencyManagement) model.getDependencyManagement(), "dependencyManagement", serializer );
1299 }
1300 if ( ( model.getDependencies() != null ) && ( model.getDependencies().size() > 0 ) )
1301 {
1302 serializer.startTag( NAMESPACE, "dependencies" );
1303 for ( Iterator iter = model.getDependencies().iterator(); iter.hasNext(); )
1304 {
1305 Dependency o = (Dependency) iter.next();
1306 writeDependency( o, "dependency", serializer );
1307 }
1308 serializer.endTag( NAMESPACE, "dependencies" );
1309 }
1310 if ( ( model.getRepositories() != null ) && ( model.getRepositories().size() > 0 ) )
1311 {
1312 serializer.startTag( NAMESPACE, "repositories" );
1313 for ( Iterator iter = model.getRepositories().iterator(); iter.hasNext(); )
1314 {
1315 Repository o = (Repository) iter.next();
1316 writeRepository( o, "repository", serializer );
1317 }
1318 serializer.endTag( NAMESPACE, "repositories" );
1319 }
1320 if ( ( model.getPluginRepositories() != null ) && ( model.getPluginRepositories().size() > 0 ) )
1321 {
1322 serializer.startTag( NAMESPACE, "pluginRepositories" );
1323 for ( Iterator iter = model.getPluginRepositories().iterator(); iter.hasNext(); )
1324 {
1325 Repository o = (Repository) iter.next();
1326 writeRepository( o, "pluginRepository", serializer );
1327 }
1328 serializer.endTag( NAMESPACE, "pluginRepositories" );
1329 }
1330 if ( model.getBuild() != null )
1331 {
1332 writeBuild( (Build) model.getBuild(), "build", serializer );
1333 }
1334 if ( model.getReports() != null )
1335 {
1336 writeXpp3DomToSerializer( (Xpp3Dom) model.getReports(), serializer );
1337 }
1338 if ( model.getReporting() != null )
1339 {
1340 writeReporting( (Reporting) model.getReporting(), "reporting", serializer );
1341 }
1342 if ( ( model.getProfiles() != null ) && ( model.getProfiles().size() > 0 ) )
1343 {
1344 serializer.startTag( NAMESPACE, "profiles" );
1345 for ( Iterator iter = model.getProfiles().iterator(); iter.hasNext(); )
1346 {
1347 Profile o = (Profile) iter.next();
1348 writeProfile( o, "profile", serializer );
1349 }
1350 serializer.endTag( NAMESPACE, "profiles" );
1351 }
1352 serializer.endTag( NAMESPACE, tagName );
1353 }
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363 private void writeModelBase( ModelBase modelBase, String tagName, XmlSerializer serializer )
1364 throws java.io.IOException
1365 {
1366 serializer.startTag( NAMESPACE, tagName );
1367 if ( ( modelBase.getModules() != null ) && ( modelBase.getModules().size() > 0 ) )
1368 {
1369 serializer.startTag( NAMESPACE, "modules" );
1370 InputLocation location = modelBase.getLocation( "modules" );
1371 int n = 0;
1372 for ( Iterator iter = modelBase.getModules().iterator(); iter.hasNext(); )
1373 {
1374 String module = (String) iter.next();
1375 serializer.startTag( NAMESPACE, "module" ).text( module ).endTag( NAMESPACE, "module" );
1376 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1377 }
1378 serializer.endTag( NAMESPACE, "modules" );
1379 }
1380 if ( modelBase.getDistributionManagement() != null )
1381 {
1382 writeDistributionManagement( (DistributionManagement) modelBase.getDistributionManagement(), "distributionManagement", serializer );
1383 }
1384 if ( ( modelBase.getProperties() != null ) && ( modelBase.getProperties().size() > 0 ) )
1385 {
1386 serializer.startTag( NAMESPACE, "properties" );
1387 InputLocation location = modelBase.getLocation( "properties" );
1388 for ( Iterator iter = modelBase.getProperties().keySet().iterator(); iter.hasNext(); )
1389 {
1390 String key = (String) iter.next();
1391 String value = (String) modelBase.getProperties().get( key );
1392 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
1393 writeLocationTracking( location, key, serializer );
1394 }
1395 serializer.endTag( NAMESPACE, "properties" );
1396 }
1397 if ( modelBase.getDependencyManagement() != null )
1398 {
1399 writeDependencyManagement( (DependencyManagement) modelBase.getDependencyManagement(), "dependencyManagement", serializer );
1400 }
1401 if ( ( modelBase.getDependencies() != null ) && ( modelBase.getDependencies().size() > 0 ) )
1402 {
1403 serializer.startTag( NAMESPACE, "dependencies" );
1404 for ( Iterator iter = modelBase.getDependencies().iterator(); iter.hasNext(); )
1405 {
1406 Dependency o = (Dependency) iter.next();
1407 writeDependency( o, "dependency", serializer );
1408 }
1409 serializer.endTag( NAMESPACE, "dependencies" );
1410 }
1411 if ( ( modelBase.getRepositories() != null ) && ( modelBase.getRepositories().size() > 0 ) )
1412 {
1413 serializer.startTag( NAMESPACE, "repositories" );
1414 for ( Iterator iter = modelBase.getRepositories().iterator(); iter.hasNext(); )
1415 {
1416 Repository o = (Repository) iter.next();
1417 writeRepository( o, "repository", serializer );
1418 }
1419 serializer.endTag( NAMESPACE, "repositories" );
1420 }
1421 if ( ( modelBase.getPluginRepositories() != null ) && ( modelBase.getPluginRepositories().size() > 0 ) )
1422 {
1423 serializer.startTag( NAMESPACE, "pluginRepositories" );
1424 for ( Iterator iter = modelBase.getPluginRepositories().iterator(); iter.hasNext(); )
1425 {
1426 Repository o = (Repository) iter.next();
1427 writeRepository( o, "pluginRepository", serializer );
1428 }
1429 serializer.endTag( NAMESPACE, "pluginRepositories" );
1430 }
1431 if ( modelBase.getReports() != null )
1432 {
1433 writeXpp3DomToSerializer( (Xpp3Dom) modelBase.getReports(), serializer );
1434 }
1435 if ( modelBase.getReporting() != null )
1436 {
1437 writeReporting( (Reporting) modelBase.getReporting(), "reporting", serializer );
1438 }
1439 serializer.endTag( NAMESPACE, tagName );
1440 }
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450 private void writeNotifier( Notifier notifier, String tagName, XmlSerializer serializer )
1451 throws java.io.IOException
1452 {
1453 serializer.startTag( NAMESPACE, tagName );
1454 if ( ( notifier.getType() != null ) && !notifier.getType().equals( "mail" ) )
1455 {
1456 serializer.startTag( NAMESPACE, "type" ).text( notifier.getType() ).endTag( NAMESPACE, "type" );
1457 writeLocationTracking( notifier, "type", serializer );
1458 }
1459 if ( notifier.isSendOnError() != true )
1460 {
1461 serializer.startTag( NAMESPACE, "sendOnError" ).text( String.valueOf( notifier.isSendOnError() ) ).endTag( NAMESPACE, "sendOnError" );
1462 writeLocationTracking( notifier, "sendOnError", serializer );
1463 }
1464 if ( notifier.isSendOnFailure() != true )
1465 {
1466 serializer.startTag( NAMESPACE, "sendOnFailure" ).text( String.valueOf( notifier.isSendOnFailure() ) ).endTag( NAMESPACE, "sendOnFailure" );
1467 writeLocationTracking( notifier, "sendOnFailure", serializer );
1468 }
1469 if ( notifier.isSendOnSuccess() != true )
1470 {
1471 serializer.startTag( NAMESPACE, "sendOnSuccess" ).text( String.valueOf( notifier.isSendOnSuccess() ) ).endTag( NAMESPACE, "sendOnSuccess" );
1472 writeLocationTracking( notifier, "sendOnSuccess", serializer );
1473 }
1474 if ( notifier.isSendOnWarning() != true )
1475 {
1476 serializer.startTag( NAMESPACE, "sendOnWarning" ).text( String.valueOf( notifier.isSendOnWarning() ) ).endTag( NAMESPACE, "sendOnWarning" );
1477 writeLocationTracking( notifier, "sendOnWarning", serializer );
1478 }
1479 if ( notifier.getAddress() != null )
1480 {
1481 serializer.startTag( NAMESPACE, "address" ).text( notifier.getAddress() ).endTag( NAMESPACE, "address" );
1482 writeLocationTracking( notifier, "address", serializer );
1483 }
1484 if ( ( notifier.getConfiguration() != null ) && ( notifier.getConfiguration().size() > 0 ) )
1485 {
1486 serializer.startTag( NAMESPACE, "configuration" );
1487 InputLocation location = notifier.getLocation( "configuration" );
1488 for ( Iterator iter = notifier.getConfiguration().keySet().iterator(); iter.hasNext(); )
1489 {
1490 String key = (String) iter.next();
1491 String value = (String) notifier.getConfiguration().get( key );
1492 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
1493 writeLocationTracking( location, key, serializer );
1494 }
1495 serializer.endTag( NAMESPACE, "configuration" );
1496 }
1497 serializer.endTag( NAMESPACE, tagName );
1498 }
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508 private void writeOrganization( Organization organization, String tagName, XmlSerializer serializer )
1509 throws java.io.IOException
1510 {
1511 serializer.startTag( NAMESPACE, tagName );
1512 if ( organization.getName() != null )
1513 {
1514 serializer.startTag( NAMESPACE, "name" ).text( organization.getName() ).endTag( NAMESPACE, "name" );
1515 writeLocationTracking( organization, "name", serializer );
1516 }
1517 if ( organization.getUrl() != null )
1518 {
1519 serializer.startTag( NAMESPACE, "url" ).text( organization.getUrl() ).endTag( NAMESPACE, "url" );
1520 writeLocationTracking( organization, "url", serializer );
1521 }
1522 serializer.endTag( NAMESPACE, tagName );
1523 }
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533 private void writeParent( Parent parent, String tagName, XmlSerializer serializer )
1534 throws java.io.IOException
1535 {
1536 serializer.startTag( NAMESPACE, tagName );
1537 if ( parent.getGroupId() != null )
1538 {
1539 serializer.startTag( NAMESPACE, "groupId" ).text( parent.getGroupId() ).endTag( NAMESPACE, "groupId" );
1540 writeLocationTracking( parent, "groupId", serializer );
1541 }
1542 if ( parent.getArtifactId() != null )
1543 {
1544 serializer.startTag( NAMESPACE, "artifactId" ).text( parent.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
1545 writeLocationTracking( parent, "artifactId", serializer );
1546 }
1547 if ( parent.getVersion() != null )
1548 {
1549 serializer.startTag( NAMESPACE, "version" ).text( parent.getVersion() ).endTag( NAMESPACE, "version" );
1550 writeLocationTracking( parent, "version", serializer );
1551 }
1552 if ( ( parent.getRelativePath() != null ) && !parent.getRelativePath().equals( "../pom.xml" ) )
1553 {
1554 serializer.startTag( NAMESPACE, "relativePath" ).text( parent.getRelativePath() ).endTag( NAMESPACE, "relativePath" );
1555 writeLocationTracking( parent, "relativePath", serializer );
1556 }
1557 serializer.endTag( NAMESPACE, tagName );
1558 }
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568 private void writePatternSet( PatternSet patternSet, String tagName, XmlSerializer serializer )
1569 throws java.io.IOException
1570 {
1571 serializer.startTag( NAMESPACE, tagName );
1572 if ( ( patternSet.getIncludes() != null ) && ( patternSet.getIncludes().size() > 0 ) )
1573 {
1574 serializer.startTag( NAMESPACE, "includes" );
1575 InputLocation location = patternSet.getLocation( "includes" );
1576 int n = 0;
1577 for ( Iterator iter = patternSet.getIncludes().iterator(); iter.hasNext(); )
1578 {
1579 String include = (String) iter.next();
1580 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
1581 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1582 }
1583 serializer.endTag( NAMESPACE, "includes" );
1584 }
1585 if ( ( patternSet.getExcludes() != null ) && ( patternSet.getExcludes().size() > 0 ) )
1586 {
1587 serializer.startTag( NAMESPACE, "excludes" );
1588 InputLocation location = patternSet.getLocation( "excludes" );
1589 int n = 0;
1590 for ( Iterator iter = patternSet.getExcludes().iterator(); iter.hasNext(); )
1591 {
1592 String exclude = (String) iter.next();
1593 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
1594 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1595 }
1596 serializer.endTag( NAMESPACE, "excludes" );
1597 }
1598 serializer.endTag( NAMESPACE, tagName );
1599 }
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609 private void writePlugin( Plugin plugin, String tagName, XmlSerializer serializer )
1610 throws java.io.IOException
1611 {
1612 serializer.startTag( NAMESPACE, tagName );
1613 if ( ( plugin.getGroupId() != null ) && !plugin.getGroupId().equals( "org.apache.maven.plugins" ) )
1614 {
1615 serializer.startTag( NAMESPACE, "groupId" ).text( plugin.getGroupId() ).endTag( NAMESPACE, "groupId" );
1616 writeLocationTracking( plugin, "groupId", serializer );
1617 }
1618 if ( plugin.getArtifactId() != null )
1619 {
1620 serializer.startTag( NAMESPACE, "artifactId" ).text( plugin.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
1621 writeLocationTracking( plugin, "artifactId", serializer );
1622 }
1623 if ( plugin.getVersion() != null )
1624 {
1625 serializer.startTag( NAMESPACE, "version" ).text( plugin.getVersion() ).endTag( NAMESPACE, "version" );
1626 writeLocationTracking( plugin, "version", serializer );
1627 }
1628 if ( plugin.getExtensions() != null )
1629 {
1630 serializer.startTag( NAMESPACE, "extensions" ).text( plugin.getExtensions() ).endTag( NAMESPACE, "extensions" );
1631 writeLocationTracking( plugin, "extensions", serializer );
1632 }
1633 if ( ( plugin.getExecutions() != null ) && ( plugin.getExecutions().size() > 0 ) )
1634 {
1635 serializer.startTag( NAMESPACE, "executions" );
1636 for ( Iterator iter = plugin.getExecutions().iterator(); iter.hasNext(); )
1637 {
1638 PluginExecution o = (PluginExecution) iter.next();
1639 writePluginExecution( o, "execution", serializer );
1640 }
1641 serializer.endTag( NAMESPACE, "executions" );
1642 }
1643 if ( ( plugin.getDependencies() != null ) && ( plugin.getDependencies().size() > 0 ) )
1644 {
1645 serializer.startTag( NAMESPACE, "dependencies" );
1646 for ( Iterator iter = plugin.getDependencies().iterator(); iter.hasNext(); )
1647 {
1648 Dependency o = (Dependency) iter.next();
1649 writeDependency( o, "dependency", serializer );
1650 }
1651 serializer.endTag( NAMESPACE, "dependencies" );
1652 }
1653 if ( plugin.getGoals() != null )
1654 {
1655 writeXpp3DomToSerializer( (Xpp3Dom) plugin.getGoals(), serializer );
1656 }
1657 if ( plugin.getInherited() != null )
1658 {
1659 serializer.startTag( NAMESPACE, "inherited" ).text( plugin.getInherited() ).endTag( NAMESPACE, "inherited" );
1660 writeLocationTracking( plugin, "inherited", serializer );
1661 }
1662 if ( plugin.getConfiguration() != null )
1663 {
1664 writeXpp3DomToSerializer( (Xpp3Dom) plugin.getConfiguration(), serializer );
1665 }
1666 serializer.endTag( NAMESPACE, tagName );
1667 }
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677 private void writePluginConfiguration( PluginConfiguration pluginConfiguration, String tagName, XmlSerializer serializer )
1678 throws java.io.IOException
1679 {
1680 serializer.startTag( NAMESPACE, tagName );
1681 if ( pluginConfiguration.getPluginManagement() != null )
1682 {
1683 writePluginManagement( (PluginManagement) pluginConfiguration.getPluginManagement(), "pluginManagement", serializer );
1684 }
1685 if ( ( pluginConfiguration.getPlugins() != null ) && ( pluginConfiguration.getPlugins().size() > 0 ) )
1686 {
1687 serializer.startTag( NAMESPACE, "plugins" );
1688 for ( Iterator iter = pluginConfiguration.getPlugins().iterator(); iter.hasNext(); )
1689 {
1690 Plugin o = (Plugin) iter.next();
1691 writePlugin( o, "plugin", serializer );
1692 }
1693 serializer.endTag( NAMESPACE, "plugins" );
1694 }
1695 serializer.endTag( NAMESPACE, tagName );
1696 }
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706 private void writePluginContainer( PluginContainer pluginContainer, String tagName, XmlSerializer serializer )
1707 throws java.io.IOException
1708 {
1709 serializer.startTag( NAMESPACE, tagName );
1710 if ( ( pluginContainer.getPlugins() != null ) && ( pluginContainer.getPlugins().size() > 0 ) )
1711 {
1712 serializer.startTag( NAMESPACE, "plugins" );
1713 for ( Iterator iter = pluginContainer.getPlugins().iterator(); iter.hasNext(); )
1714 {
1715 Plugin o = (Plugin) iter.next();
1716 writePlugin( o, "plugin", serializer );
1717 }
1718 serializer.endTag( NAMESPACE, "plugins" );
1719 }
1720 serializer.endTag( NAMESPACE, tagName );
1721 }
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731 private void writePluginExecution( PluginExecution pluginExecution, String tagName, XmlSerializer serializer )
1732 throws java.io.IOException
1733 {
1734 serializer.startTag( NAMESPACE, tagName );
1735 if ( ( pluginExecution.getId() != null ) && !pluginExecution.getId().equals( "default" ) )
1736 {
1737 serializer.startTag( NAMESPACE, "id" ).text( pluginExecution.getId() ).endTag( NAMESPACE, "id" );
1738 writeLocationTracking( pluginExecution, "id", serializer );
1739 }
1740 if ( pluginExecution.getPhase() != null )
1741 {
1742 serializer.startTag( NAMESPACE, "phase" ).text( pluginExecution.getPhase() ).endTag( NAMESPACE, "phase" );
1743 writeLocationTracking( pluginExecution, "phase", serializer );
1744 }
1745 if ( ( pluginExecution.getGoals() != null ) && ( pluginExecution.getGoals().size() > 0 ) )
1746 {
1747 serializer.startTag( NAMESPACE, "goals" );
1748 InputLocation location = pluginExecution.getLocation( "goals" );
1749 int n = 0;
1750 for ( Iterator iter = pluginExecution.getGoals().iterator(); iter.hasNext(); )
1751 {
1752 String goal = (String) iter.next();
1753 serializer.startTag( NAMESPACE, "goal" ).text( goal ).endTag( NAMESPACE, "goal" );
1754 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1755 }
1756 serializer.endTag( NAMESPACE, "goals" );
1757 }
1758 if ( pluginExecution.getInherited() != null )
1759 {
1760 serializer.startTag( NAMESPACE, "inherited" ).text( pluginExecution.getInherited() ).endTag( NAMESPACE, "inherited" );
1761 writeLocationTracking( pluginExecution, "inherited", serializer );
1762 }
1763 if ( pluginExecution.getConfiguration() != null )
1764 {
1765 writeXpp3DomToSerializer( (Xpp3Dom) pluginExecution.getConfiguration(), serializer );
1766 }
1767 serializer.endTag( NAMESPACE, tagName );
1768 }
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778 private void writePluginManagement( PluginManagement pluginManagement, String tagName, XmlSerializer serializer )
1779 throws java.io.IOException
1780 {
1781 serializer.startTag( NAMESPACE, tagName );
1782 if ( ( pluginManagement.getPlugins() != null ) && ( pluginManagement.getPlugins().size() > 0 ) )
1783 {
1784 serializer.startTag( NAMESPACE, "plugins" );
1785 for ( Iterator iter = pluginManagement.getPlugins().iterator(); iter.hasNext(); )
1786 {
1787 Plugin o = (Plugin) iter.next();
1788 writePlugin( o, "plugin", serializer );
1789 }
1790 serializer.endTag( NAMESPACE, "plugins" );
1791 }
1792 serializer.endTag( NAMESPACE, tagName );
1793 }
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803 private void writePrerequisites( Prerequisites prerequisites, String tagName, XmlSerializer serializer )
1804 throws java.io.IOException
1805 {
1806 serializer.startTag( NAMESPACE, tagName );
1807 if ( ( prerequisites.getMaven() != null ) && !prerequisites.getMaven().equals( "2.0" ) )
1808 {
1809 serializer.startTag( NAMESPACE, "maven" ).text( prerequisites.getMaven() ).endTag( NAMESPACE, "maven" );
1810 writeLocationTracking( prerequisites, "maven", serializer );
1811 }
1812 serializer.endTag( NAMESPACE, tagName );
1813 }
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823 private void writeProfile( Profile profile, String tagName, XmlSerializer serializer )
1824 throws java.io.IOException
1825 {
1826 serializer.startTag( NAMESPACE, tagName );
1827 if ( ( profile.getId() != null ) && !profile.getId().equals( "default" ) )
1828 {
1829 serializer.startTag( NAMESPACE, "id" ).text( profile.getId() ).endTag( NAMESPACE, "id" );
1830 writeLocationTracking( profile, "id", serializer );
1831 }
1832 if ( profile.getActivation() != null )
1833 {
1834 writeActivation( (Activation) profile.getActivation(), "activation", serializer );
1835 }
1836 if ( profile.getBuild() != null )
1837 {
1838 writeBuildBase( (BuildBase) profile.getBuild(), "build", serializer );
1839 }
1840 if ( ( profile.getModules() != null ) && ( profile.getModules().size() > 0 ) )
1841 {
1842 serializer.startTag( NAMESPACE, "modules" );
1843 InputLocation location = profile.getLocation( "modules" );
1844 int n = 0;
1845 for ( Iterator iter = profile.getModules().iterator(); iter.hasNext(); )
1846 {
1847 String module = (String) iter.next();
1848 serializer.startTag( NAMESPACE, "module" ).text( module ).endTag( NAMESPACE, "module" );
1849 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
1850 }
1851 serializer.endTag( NAMESPACE, "modules" );
1852 }
1853 if ( profile.getDistributionManagement() != null )
1854 {
1855 writeDistributionManagement( (DistributionManagement) profile.getDistributionManagement(), "distributionManagement", serializer );
1856 }
1857 if ( ( profile.getProperties() != null ) && ( profile.getProperties().size() > 0 ) )
1858 {
1859 serializer.startTag( NAMESPACE, "properties" );
1860 InputLocation location = profile.getLocation( "properties" );
1861 for ( Iterator iter = profile.getProperties().keySet().iterator(); iter.hasNext(); )
1862 {
1863 String key = (String) iter.next();
1864 String value = (String) profile.getProperties().get( key );
1865 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
1866 writeLocationTracking( location, key, serializer );
1867 }
1868 serializer.endTag( NAMESPACE, "properties" );
1869 }
1870 if ( profile.getDependencyManagement() != null )
1871 {
1872 writeDependencyManagement( (DependencyManagement) profile.getDependencyManagement(), "dependencyManagement", serializer );
1873 }
1874 if ( ( profile.getDependencies() != null ) && ( profile.getDependencies().size() > 0 ) )
1875 {
1876 serializer.startTag( NAMESPACE, "dependencies" );
1877 for ( Iterator iter = profile.getDependencies().iterator(); iter.hasNext(); )
1878 {
1879 Dependency o = (Dependency) iter.next();
1880 writeDependency( o, "dependency", serializer );
1881 }
1882 serializer.endTag( NAMESPACE, "dependencies" );
1883 }
1884 if ( ( profile.getRepositories() != null ) && ( profile.getRepositories().size() > 0 ) )
1885 {
1886 serializer.startTag( NAMESPACE, "repositories" );
1887 for ( Iterator iter = profile.getRepositories().iterator(); iter.hasNext(); )
1888 {
1889 Repository o = (Repository) iter.next();
1890 writeRepository( o, "repository", serializer );
1891 }
1892 serializer.endTag( NAMESPACE, "repositories" );
1893 }
1894 if ( ( profile.getPluginRepositories() != null ) && ( profile.getPluginRepositories().size() > 0 ) )
1895 {
1896 serializer.startTag( NAMESPACE, "pluginRepositories" );
1897 for ( Iterator iter = profile.getPluginRepositories().iterator(); iter.hasNext(); )
1898 {
1899 Repository o = (Repository) iter.next();
1900 writeRepository( o, "pluginRepository", serializer );
1901 }
1902 serializer.endTag( NAMESPACE, "pluginRepositories" );
1903 }
1904 if ( profile.getReports() != null )
1905 {
1906 writeXpp3DomToSerializer( (Xpp3Dom) profile.getReports(), serializer );
1907 }
1908 if ( profile.getReporting() != null )
1909 {
1910 writeReporting( (Reporting) profile.getReporting(), "reporting", serializer );
1911 }
1912 serializer.endTag( NAMESPACE, tagName );
1913 }
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923 private void writeRelocation( Relocation relocation, String tagName, XmlSerializer serializer )
1924 throws java.io.IOException
1925 {
1926 serializer.startTag( NAMESPACE, tagName );
1927 if ( relocation.getGroupId() != null )
1928 {
1929 serializer.startTag( NAMESPACE, "groupId" ).text( relocation.getGroupId() ).endTag( NAMESPACE, "groupId" );
1930 writeLocationTracking( relocation, "groupId", serializer );
1931 }
1932 if ( relocation.getArtifactId() != null )
1933 {
1934 serializer.startTag( NAMESPACE, "artifactId" ).text( relocation.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
1935 writeLocationTracking( relocation, "artifactId", serializer );
1936 }
1937 if ( relocation.getVersion() != null )
1938 {
1939 serializer.startTag( NAMESPACE, "version" ).text( relocation.getVersion() ).endTag( NAMESPACE, "version" );
1940 writeLocationTracking( relocation, "version", serializer );
1941 }
1942 if ( relocation.getMessage() != null )
1943 {
1944 serializer.startTag( NAMESPACE, "message" ).text( relocation.getMessage() ).endTag( NAMESPACE, "message" );
1945 writeLocationTracking( relocation, "message", serializer );
1946 }
1947 serializer.endTag( NAMESPACE, tagName );
1948 }
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958 private void writeReportPlugin( ReportPlugin reportPlugin, String tagName, XmlSerializer serializer )
1959 throws java.io.IOException
1960 {
1961 serializer.startTag( NAMESPACE, tagName );
1962 if ( ( reportPlugin.getGroupId() != null ) && !reportPlugin.getGroupId().equals( "org.apache.maven.plugins" ) )
1963 {
1964 serializer.startTag( NAMESPACE, "groupId" ).text( reportPlugin.getGroupId() ).endTag( NAMESPACE, "groupId" );
1965 writeLocationTracking( reportPlugin, "groupId", serializer );
1966 }
1967 if ( reportPlugin.getArtifactId() != null )
1968 {
1969 serializer.startTag( NAMESPACE, "artifactId" ).text( reportPlugin.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
1970 writeLocationTracking( reportPlugin, "artifactId", serializer );
1971 }
1972 if ( reportPlugin.getVersion() != null )
1973 {
1974 serializer.startTag( NAMESPACE, "version" ).text( reportPlugin.getVersion() ).endTag( NAMESPACE, "version" );
1975 writeLocationTracking( reportPlugin, "version", serializer );
1976 }
1977 if ( ( reportPlugin.getReportSets() != null ) && ( reportPlugin.getReportSets().size() > 0 ) )
1978 {
1979 serializer.startTag( NAMESPACE, "reportSets" );
1980 for ( Iterator iter = reportPlugin.getReportSets().iterator(); iter.hasNext(); )
1981 {
1982 ReportSet o = (ReportSet) iter.next();
1983 writeReportSet( o, "reportSet", serializer );
1984 }
1985 serializer.endTag( NAMESPACE, "reportSets" );
1986 }
1987 if ( reportPlugin.getInherited() != null )
1988 {
1989 serializer.startTag( NAMESPACE, "inherited" ).text( reportPlugin.getInherited() ).endTag( NAMESPACE, "inherited" );
1990 writeLocationTracking( reportPlugin, "inherited", serializer );
1991 }
1992 if ( reportPlugin.getConfiguration() != null )
1993 {
1994 writeXpp3DomToSerializer( (Xpp3Dom) reportPlugin.getConfiguration(), serializer );
1995 }
1996 serializer.endTag( NAMESPACE, tagName );
1997 }
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007 private void writeReportSet( ReportSet reportSet, String tagName, XmlSerializer serializer )
2008 throws java.io.IOException
2009 {
2010 serializer.startTag( NAMESPACE, tagName );
2011 if ( ( reportSet.getId() != null ) && !reportSet.getId().equals( "default" ) )
2012 {
2013 serializer.startTag( NAMESPACE, "id" ).text( reportSet.getId() ).endTag( NAMESPACE, "id" );
2014 writeLocationTracking( reportSet, "id", serializer );
2015 }
2016 if ( ( reportSet.getReports() != null ) && ( reportSet.getReports().size() > 0 ) )
2017 {
2018 serializer.startTag( NAMESPACE, "reports" );
2019 InputLocation location = reportSet.getLocation( "reports" );
2020 int n = 0;
2021 for ( Iterator iter = reportSet.getReports().iterator(); iter.hasNext(); )
2022 {
2023 String report = (String) iter.next();
2024 serializer.startTag( NAMESPACE, "report" ).text( report ).endTag( NAMESPACE, "report" );
2025 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
2026 }
2027 serializer.endTag( NAMESPACE, "reports" );
2028 }
2029 if ( reportSet.getInherited() != null )
2030 {
2031 serializer.startTag( NAMESPACE, "inherited" ).text( reportSet.getInherited() ).endTag( NAMESPACE, "inherited" );
2032 writeLocationTracking( reportSet, "inherited", serializer );
2033 }
2034 if ( reportSet.getConfiguration() != null )
2035 {
2036 writeXpp3DomToSerializer( (Xpp3Dom) reportSet.getConfiguration(), serializer );
2037 }
2038 serializer.endTag( NAMESPACE, tagName );
2039 }
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049 private void writeReporting( Reporting reporting, String tagName, XmlSerializer serializer )
2050 throws java.io.IOException
2051 {
2052 serializer.startTag( NAMESPACE, tagName );
2053 if ( reporting.getExcludeDefaults() != null )
2054 {
2055 serializer.startTag( NAMESPACE, "excludeDefaults" ).text( reporting.getExcludeDefaults() ).endTag( NAMESPACE, "excludeDefaults" );
2056 writeLocationTracking( reporting, "excludeDefaults", serializer );
2057 }
2058 if ( reporting.getOutputDirectory() != null )
2059 {
2060 serializer.startTag( NAMESPACE, "outputDirectory" ).text( reporting.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
2061 writeLocationTracking( reporting, "outputDirectory", serializer );
2062 }
2063 if ( ( reporting.getPlugins() != null ) && ( reporting.getPlugins().size() > 0 ) )
2064 {
2065 serializer.startTag( NAMESPACE, "plugins" );
2066 for ( Iterator iter = reporting.getPlugins().iterator(); iter.hasNext(); )
2067 {
2068 ReportPlugin o = (ReportPlugin) iter.next();
2069 writeReportPlugin( o, "plugin", serializer );
2070 }
2071 serializer.endTag( NAMESPACE, "plugins" );
2072 }
2073 serializer.endTag( NAMESPACE, tagName );
2074 }
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084 private void writeRepository( Repository repository, String tagName, XmlSerializer serializer )
2085 throws java.io.IOException
2086 {
2087 serializer.startTag( NAMESPACE, tagName );
2088 if ( repository.getReleases() != null )
2089 {
2090 writeRepositoryPolicy( (RepositoryPolicy) repository.getReleases(), "releases", serializer );
2091 }
2092 if ( repository.getSnapshots() != null )
2093 {
2094 writeRepositoryPolicy( (RepositoryPolicy) repository.getSnapshots(), "snapshots", serializer );
2095 }
2096 if ( repository.getId() != null )
2097 {
2098 serializer.startTag( NAMESPACE, "id" ).text( repository.getId() ).endTag( NAMESPACE, "id" );
2099 writeLocationTracking( repository, "id", serializer );
2100 }
2101 if ( repository.getName() != null )
2102 {
2103 serializer.startTag( NAMESPACE, "name" ).text( repository.getName() ).endTag( NAMESPACE, "name" );
2104 writeLocationTracking( repository, "name", serializer );
2105 }
2106 if ( repository.getUrl() != null )
2107 {
2108 serializer.startTag( NAMESPACE, "url" ).text( repository.getUrl() ).endTag( NAMESPACE, "url" );
2109 writeLocationTracking( repository, "url", serializer );
2110 }
2111 if ( ( repository.getLayout() != null ) && !repository.getLayout().equals( "default" ) )
2112 {
2113 serializer.startTag( NAMESPACE, "layout" ).text( repository.getLayout() ).endTag( NAMESPACE, "layout" );
2114 writeLocationTracking( repository, "layout", serializer );
2115 }
2116 serializer.endTag( NAMESPACE, tagName );
2117 }
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127 private void writeRepositoryBase( RepositoryBase repositoryBase, String tagName, XmlSerializer serializer )
2128 throws java.io.IOException
2129 {
2130 serializer.startTag( NAMESPACE, tagName );
2131 if ( repositoryBase.getId() != null )
2132 {
2133 serializer.startTag( NAMESPACE, "id" ).text( repositoryBase.getId() ).endTag( NAMESPACE, "id" );
2134 writeLocationTracking( repositoryBase, "id", serializer );
2135 }
2136 if ( repositoryBase.getName() != null )
2137 {
2138 serializer.startTag( NAMESPACE, "name" ).text( repositoryBase.getName() ).endTag( NAMESPACE, "name" );
2139 writeLocationTracking( repositoryBase, "name", serializer );
2140 }
2141 if ( repositoryBase.getUrl() != null )
2142 {
2143 serializer.startTag( NAMESPACE, "url" ).text( repositoryBase.getUrl() ).endTag( NAMESPACE, "url" );
2144 writeLocationTracking( repositoryBase, "url", serializer );
2145 }
2146 if ( ( repositoryBase.getLayout() != null ) && !repositoryBase.getLayout().equals( "default" ) )
2147 {
2148 serializer.startTag( NAMESPACE, "layout" ).text( repositoryBase.getLayout() ).endTag( NAMESPACE, "layout" );
2149 writeLocationTracking( repositoryBase, "layout", serializer );
2150 }
2151 serializer.endTag( NAMESPACE, tagName );
2152 }
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162 private void writeRepositoryPolicy( RepositoryPolicy repositoryPolicy, String tagName, XmlSerializer serializer )
2163 throws java.io.IOException
2164 {
2165 serializer.startTag( NAMESPACE, tagName );
2166 if ( repositoryPolicy.getEnabled() != null )
2167 {
2168 serializer.startTag( NAMESPACE, "enabled" ).text( repositoryPolicy.getEnabled() ).endTag( NAMESPACE, "enabled" );
2169 writeLocationTracking( repositoryPolicy, "enabled", serializer );
2170 }
2171 if ( repositoryPolicy.getUpdatePolicy() != null )
2172 {
2173 serializer.startTag( NAMESPACE, "updatePolicy" ).text( repositoryPolicy.getUpdatePolicy() ).endTag( NAMESPACE, "updatePolicy" );
2174 writeLocationTracking( repositoryPolicy, "updatePolicy", serializer );
2175 }
2176 if ( repositoryPolicy.getChecksumPolicy() != null )
2177 {
2178 serializer.startTag( NAMESPACE, "checksumPolicy" ).text( repositoryPolicy.getChecksumPolicy() ).endTag( NAMESPACE, "checksumPolicy" );
2179 writeLocationTracking( repositoryPolicy, "checksumPolicy", serializer );
2180 }
2181 serializer.endTag( NAMESPACE, tagName );
2182 }
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192 private void writeResource( Resource resource, String tagName, XmlSerializer serializer )
2193 throws java.io.IOException
2194 {
2195 serializer.startTag( NAMESPACE, tagName );
2196 if ( resource.getTargetPath() != null )
2197 {
2198 serializer.startTag( NAMESPACE, "targetPath" ).text( resource.getTargetPath() ).endTag( NAMESPACE, "targetPath" );
2199 writeLocationTracking( resource, "targetPath", serializer );
2200 }
2201 if ( resource.getFiltering() != null )
2202 {
2203 serializer.startTag( NAMESPACE, "filtering" ).text( resource.getFiltering() ).endTag( NAMESPACE, "filtering" );
2204 writeLocationTracking( resource, "filtering", serializer );
2205 }
2206 if ( resource.getDirectory() != null )
2207 {
2208 serializer.startTag( NAMESPACE, "directory" ).text( resource.getDirectory() ).endTag( NAMESPACE, "directory" );
2209 writeLocationTracking( resource, "directory", serializer );
2210 }
2211 if ( ( resource.getIncludes() != null ) && ( resource.getIncludes().size() > 0 ) )
2212 {
2213 serializer.startTag( NAMESPACE, "includes" );
2214 InputLocation location = resource.getLocation( "includes" );
2215 int n = 0;
2216 for ( Iterator iter = resource.getIncludes().iterator(); iter.hasNext(); )
2217 {
2218 String include = (String) iter.next();
2219 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
2220 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
2221 }
2222 serializer.endTag( NAMESPACE, "includes" );
2223 }
2224 if ( ( resource.getExcludes() != null ) && ( resource.getExcludes().size() > 0 ) )
2225 {
2226 serializer.startTag( NAMESPACE, "excludes" );
2227 InputLocation location = resource.getLocation( "excludes" );
2228 int n = 0;
2229 for ( Iterator iter = resource.getExcludes().iterator(); iter.hasNext(); )
2230 {
2231 String exclude = (String) iter.next();
2232 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
2233 writeLocationTracking( location, Integer.valueOf( n++ ), serializer );
2234 }
2235 serializer.endTag( NAMESPACE, "excludes" );
2236 }
2237 serializer.endTag( NAMESPACE, tagName );
2238 }
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248 private void writeScm( Scm scm, String tagName, XmlSerializer serializer )
2249 throws java.io.IOException
2250 {
2251 serializer.startTag( NAMESPACE, tagName );
2252 if ( scm.getChildScmConnectionInheritAppendPath() != null )
2253 {
2254 serializer.attribute( NAMESPACE, "child.scm.connection.inherit.append.path", scm.getChildScmConnectionInheritAppendPath() );
2255 }
2256 if ( scm.getChildScmDeveloperConnectionInheritAppendPath() != null )
2257 {
2258 serializer.attribute( NAMESPACE, "child.scm.developerConnection.inherit.append.path", scm.getChildScmDeveloperConnectionInheritAppendPath() );
2259 }
2260 if ( scm.getChildScmUrlInheritAppendPath() != null )
2261 {
2262 serializer.attribute( NAMESPACE, "child.scm.url.inherit.append.path", scm.getChildScmUrlInheritAppendPath() );
2263 }
2264 if ( scm.getConnection() != null )
2265 {
2266 serializer.startTag( NAMESPACE, "connection" ).text( scm.getConnection() ).endTag( NAMESPACE, "connection" );
2267 writeLocationTracking( scm, "connection", serializer );
2268 }
2269 if ( scm.getDeveloperConnection() != null )
2270 {
2271 serializer.startTag( NAMESPACE, "developerConnection" ).text( scm.getDeveloperConnection() ).endTag( NAMESPACE, "developerConnection" );
2272 writeLocationTracking( scm, "developerConnection", serializer );
2273 }
2274 if ( ( scm.getTag() != null ) && !scm.getTag().equals( "HEAD" ) )
2275 {
2276 serializer.startTag( NAMESPACE, "tag" ).text( scm.getTag() ).endTag( NAMESPACE, "tag" );
2277 writeLocationTracking( scm, "tag", serializer );
2278 }
2279 if ( scm.getUrl() != null )
2280 {
2281 serializer.startTag( NAMESPACE, "url" ).text( scm.getUrl() ).endTag( NAMESPACE, "url" );
2282 writeLocationTracking( scm, "url", serializer );
2283 }
2284 serializer.endTag( NAMESPACE, tagName );
2285 }
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295 private void writeSite( Site site, String tagName, XmlSerializer serializer )
2296 throws java.io.IOException
2297 {
2298 serializer.startTag( NAMESPACE, tagName );
2299 if ( site.getChildSiteUrlInheritAppendPath() != null )
2300 {
2301 serializer.attribute( NAMESPACE, "child.site.url.inherit.append.path", site.getChildSiteUrlInheritAppendPath() );
2302 }
2303 if ( site.getId() != null )
2304 {
2305 serializer.startTag( NAMESPACE, "id" ).text( site.getId() ).endTag( NAMESPACE, "id" );
2306 writeLocationTracking( site, "id", serializer );
2307 }
2308 if ( site.getName() != null )
2309 {
2310 serializer.startTag( NAMESPACE, "name" ).text( site.getName() ).endTag( NAMESPACE, "name" );
2311 writeLocationTracking( site, "name", serializer );
2312 }
2313 if ( site.getUrl() != null )
2314 {
2315 serializer.startTag( NAMESPACE, "url" ).text( site.getUrl() ).endTag( NAMESPACE, "url" );
2316 writeLocationTracking( site, "url", serializer );
2317 }
2318 serializer.endTag( NAMESPACE, tagName );
2319 }
2320
2321 }