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