1
2
3
4
5
6
7
8 package org.apache.maven.continuum.model.project.io.stax;
9
10
11
12
13
14 import java.io.IOException;
15 import java.io.InputStream;
16 import java.io.StringWriter;
17 import java.io.Writer;
18 import java.text.DateFormat;
19 import java.util.Iterator;
20 import java.util.Locale;
21 import java.util.jar.Manifest;
22 import javanet.staxutils.IndentingXMLStreamWriter;
23 import javax.xml.stream.*;
24 import org.apache.continuum.model.project.ProjectScmRoot;
25 import org.apache.continuum.model.release.ContinuumReleaseResult;
26 import org.apache.continuum.model.repository.AbstractPurgeConfiguration;
27 import org.apache.continuum.model.repository.DirectoryPurgeConfiguration;
28 import org.apache.continuum.model.repository.DistributedDirectoryPurgeConfiguration;
29 import org.apache.continuum.model.repository.LocalRepository;
30 import org.apache.continuum.model.repository.RepositoryPurgeConfiguration;
31 import org.apache.maven.continuum.model.project.BuildDefinition;
32 import org.apache.maven.continuum.model.project.BuildDefinitionTemplate;
33 import org.apache.maven.continuum.model.project.BuildQueue;
34 import org.apache.maven.continuum.model.project.BuildResult;
35 import org.apache.maven.continuum.model.project.ContinuumDatabase;
36 import org.apache.maven.continuum.model.project.Project;
37 import org.apache.maven.continuum.model.project.ProjectDependency;
38 import org.apache.maven.continuum.model.project.ProjectDeveloper;
39 import org.apache.maven.continuum.model.project.ProjectGroup;
40 import org.apache.maven.continuum.model.project.ProjectNotifier;
41 import org.apache.maven.continuum.model.project.Schedule;
42 import org.apache.maven.continuum.model.scm.ChangeFile;
43 import org.apache.maven.continuum.model.scm.ChangeSet;
44 import org.apache.maven.continuum.model.scm.ScmResult;
45 import org.apache.maven.continuum.model.system.Installation;
46 import org.apache.maven.continuum.model.system.NotificationAddress;
47 import org.apache.maven.continuum.model.system.Profile;
48 import org.apache.maven.continuum.model.system.SystemConfiguration;
49 import org.apache.maven.continuum.project.ContinuumProjectState;
50 import org.codehaus.plexus.util.xml.Xpp3Dom;
51
52
53
54
55
56
57 @SuppressWarnings( "all" )
58 public class ContinuumStaxWriter
59 {
60
61
62
63
64
65
66
67
68 private int curId;
69
70
71
72
73 private java.util.Map idMap;
74
75
76
77
78
79
80 public ContinuumStaxWriter()
81 {
82 idMap = new java.util.HashMap();
83 }
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 public void write( Writer writer, ContinuumDatabase continuumDatabase )
99 throws java.io.IOException, XMLStreamException
100 {
101 XMLOutputFactory factory = XMLOutputFactory.newInstance();
102 boolean supportWindowsLineEndings = false;
103 if ( factory.isPropertySupported( "com.ctc.wstx.outputEscapeCr" ) )
104 {
105 factory.setProperty( "com.ctc.wstx.outputEscapeCr", Boolean.FALSE );
106 supportWindowsLineEndings = true;
107 }
108 if ( factory.isPropertySupported( "org.codehaus.stax2.automaticEmptyElements" ) )
109 {
110 factory.setProperty( "org.codehaus.stax2.automaticEmptyElements", Boolean.FALSE );
111 }
112 IndentingXMLStreamWriter serializer = new IndentingXMLStreamWriter( factory.createXMLStreamWriter( writer ) );
113 if ( supportWindowsLineEndings )
114 {
115 serializer.setNewLine( serializer.getLineSeparator() );
116 }
117 serializer.writeStartDocument( continuumDatabase.getModelEncoding(), "1.0" );
118 writeContinuumDatabase( continuumDatabase, "continuumDatabase", serializer );
119 serializer.writeEndDocument();
120 }
121
122
123
124
125
126
127
128
129
130
131 private void writeAbstractPurgeConfiguration( AbstractPurgeConfiguration abstractPurgeConfiguration, String tagName, XMLStreamWriter serializer )
132 throws java.io.IOException, XMLStreamException
133 {
134 if ( abstractPurgeConfiguration != null )
135 {
136 serializer.writeStartElement( tagName );
137 if ( abstractPurgeConfiguration.getId() != 0 )
138 {
139 serializer.writeStartElement( "id" );
140 serializer.writeCharacters( String.valueOf( abstractPurgeConfiguration.getId() ) );
141 serializer.writeEndElement();
142 }
143 if ( abstractPurgeConfiguration.getDescription() != null )
144 {
145 serializer.writeStartElement( "description" );
146 serializer.writeCharacters( abstractPurgeConfiguration.getDescription() );
147 serializer.writeEndElement();
148 }
149 if ( abstractPurgeConfiguration.isDeleteAll() != false )
150 {
151 serializer.writeStartElement( "deleteAll" );
152 serializer.writeCharacters( String.valueOf( abstractPurgeConfiguration.isDeleteAll() ) );
153 serializer.writeEndElement();
154 }
155 if ( abstractPurgeConfiguration.getRetentionCount() != 2 )
156 {
157 serializer.writeStartElement( "retentionCount" );
158 serializer.writeCharacters( String.valueOf( abstractPurgeConfiguration.getRetentionCount() ) );
159 serializer.writeEndElement();
160 }
161 if ( abstractPurgeConfiguration.getDaysOlder() != 100 )
162 {
163 serializer.writeStartElement( "daysOlder" );
164 serializer.writeCharacters( String.valueOf( abstractPurgeConfiguration.getDaysOlder() ) );
165 serializer.writeEndElement();
166 }
167 if ( abstractPurgeConfiguration.isEnabled() != true )
168 {
169 serializer.writeStartElement( "enabled" );
170 serializer.writeCharacters( String.valueOf( abstractPurgeConfiguration.isEnabled() ) );
171 serializer.writeEndElement();
172 }
173 if ( abstractPurgeConfiguration.getSchedule() != null )
174 {
175 serializer.writeStartElement( "schedule" );
176 serializer.writeAttribute( "id", String.valueOf( abstractPurgeConfiguration.getSchedule().getId() ) );
177 serializer.writeEndElement();
178 }
179 if ( abstractPurgeConfiguration.isDefaultPurge() != false )
180 {
181 serializer.writeStartElement( "defaultPurge" );
182 serializer.writeCharacters( String.valueOf( abstractPurgeConfiguration.isDefaultPurge() ) );
183 serializer.writeEndElement();
184 }
185 serializer.writeEndElement();
186 }
187 }
188
189
190
191
192
193
194
195
196
197
198 private void writeBuildDefinition( BuildDefinition buildDefinition, String tagName, XMLStreamWriter serializer )
199 throws java.io.IOException, XMLStreamException
200 {
201 if ( buildDefinition != null )
202 {
203 serializer.writeStartElement( tagName );
204 if ( buildDefinition.getId() != 0 )
205 {
206 serializer.writeStartElement( "id" );
207 serializer.writeCharacters( String.valueOf( buildDefinition.getId() ) );
208 serializer.writeEndElement();
209 }
210 if ( buildDefinition.isDefaultForProject() != false )
211 {
212 serializer.writeStartElement( "defaultForProject" );
213 serializer.writeCharacters( String.valueOf( buildDefinition.isDefaultForProject() ) );
214 serializer.writeEndElement();
215 }
216 if ( buildDefinition.getGoals() != null )
217 {
218 serializer.writeStartElement( "goals" );
219 serializer.writeCharacters( buildDefinition.getGoals() );
220 serializer.writeEndElement();
221 }
222 if ( buildDefinition.getArguments() != null )
223 {
224 serializer.writeStartElement( "arguments" );
225 serializer.writeCharacters( buildDefinition.getArguments() );
226 serializer.writeEndElement();
227 }
228 if ( buildDefinition.getBuildFile() != null )
229 {
230 serializer.writeStartElement( "buildFile" );
231 serializer.writeCharacters( buildDefinition.getBuildFile() );
232 serializer.writeEndElement();
233 }
234 if ( buildDefinition.isBuildFresh() != false )
235 {
236 serializer.writeStartElement( "buildFresh" );
237 serializer.writeCharacters( String.valueOf( buildDefinition.isBuildFresh() ) );
238 serializer.writeEndElement();
239 }
240 if ( buildDefinition.getDescription() != null )
241 {
242 serializer.writeStartElement( "description" );
243 serializer.writeCharacters( buildDefinition.getDescription() );
244 serializer.writeEndElement();
245 }
246 if ( buildDefinition.getType() != null )
247 {
248 serializer.writeStartElement( "type" );
249 serializer.writeCharacters( buildDefinition.getType() );
250 serializer.writeEndElement();
251 }
252 if ( buildDefinition.getSchedule() != null )
253 {
254 serializer.writeStartElement( "schedule" );
255 serializer.writeAttribute( "id", String.valueOf( buildDefinition.getSchedule().getId() ) );
256 serializer.writeEndElement();
257 }
258 if ( buildDefinition.getProfile() != null )
259 {
260 serializer.writeStartElement( "profile" );
261 serializer.writeAttribute( "id", String.valueOf( buildDefinition.getProfile().getId() ) );
262 serializer.writeEndElement();
263 }
264 if ( buildDefinition.isAlwaysBuild() != false )
265 {
266 serializer.writeStartElement( "alwaysBuild" );
267 serializer.writeCharacters( String.valueOf( buildDefinition.isAlwaysBuild() ) );
268 serializer.writeEndElement();
269 }
270 if ( buildDefinition.isTemplate() != false )
271 {
272 serializer.writeStartElement( "template" );
273 serializer.writeCharacters( String.valueOf( buildDefinition.isTemplate() ) );
274 serializer.writeEndElement();
275 }
276 if ( buildDefinition.getUpdatePolicy() != 0 )
277 {
278 serializer.writeStartElement( "updatePolicy" );
279 serializer.writeCharacters( String.valueOf( buildDefinition.getUpdatePolicy() ) );
280 serializer.writeEndElement();
281 }
282 serializer.writeEndElement();
283 }
284 }
285
286
287
288
289
290
291
292
293
294
295 private void writeBuildDefinitionTemplate( BuildDefinitionTemplate buildDefinitionTemplate, String tagName, XMLStreamWriter serializer )
296 throws java.io.IOException, XMLStreamException
297 {
298 if ( buildDefinitionTemplate != null )
299 {
300 serializer.writeStartElement( tagName );
301 if ( buildDefinitionTemplate.getId() != 0 )
302 {
303 serializer.writeStartElement( "id" );
304 serializer.writeCharacters( String.valueOf( buildDefinitionTemplate.getId() ) );
305 serializer.writeEndElement();
306 }
307 if ( buildDefinitionTemplate.getName() != null )
308 {
309 serializer.writeStartElement( "name" );
310 serializer.writeCharacters( buildDefinitionTemplate.getName() );
311 serializer.writeEndElement();
312 }
313 if ( buildDefinitionTemplate.isContinuumDefault() != false )
314 {
315 serializer.writeStartElement( "continuumDefault" );
316 serializer.writeCharacters( String.valueOf( buildDefinitionTemplate.isContinuumDefault() ) );
317 serializer.writeEndElement();
318 }
319 if ( buildDefinitionTemplate.getType() != null )
320 {
321 serializer.writeStartElement( "type" );
322 serializer.writeCharacters( buildDefinitionTemplate.getType() );
323 serializer.writeEndElement();
324 }
325 if ( ( buildDefinitionTemplate.getBuildDefinitions() != null ) && ( buildDefinitionTemplate.getBuildDefinitions().size() > 0 ) )
326 {
327 serializer.writeStartElement( "buildDefinitions" );
328 for ( Iterator iter = buildDefinitionTemplate.getBuildDefinitions().iterator(); iter.hasNext(); )
329 {
330 BuildDefinition o = (BuildDefinition) iter.next();
331 serializer.writeStartElement( "buildDefinition" );
332 serializer.writeAttribute( "id", String.valueOf( o.getId() ) );
333 serializer.writeEndElement();
334 }
335 serializer.writeEndElement();
336 }
337 serializer.writeEndElement();
338 }
339 }
340
341
342
343
344
345
346
347
348
349
350 private void writeBuildQueue( BuildQueue buildQueue, String tagName, XMLStreamWriter serializer )
351 throws java.io.IOException, XMLStreamException
352 {
353 if ( buildQueue != null )
354 {
355 serializer.writeStartElement( tagName );
356 if ( buildQueue.getId() != 0 )
357 {
358 serializer.writeStartElement( "id" );
359 serializer.writeCharacters( String.valueOf( buildQueue.getId() ) );
360 serializer.writeEndElement();
361 }
362 if ( ( buildQueue.getName() != null ) && !buildQueue.getName().equals( "" ) )
363 {
364 serializer.writeStartElement( "name" );
365 serializer.writeCharacters( buildQueue.getName() );
366 serializer.writeEndElement();
367 }
368 serializer.writeEndElement();
369 }
370 }
371
372
373
374
375
376
377
378
379
380
381 private void writeBuildResult( BuildResult buildResult, String tagName, XMLStreamWriter serializer )
382 throws java.io.IOException, XMLStreamException
383 {
384 if ( buildResult != null )
385 {
386 serializer.writeStartElement( tagName );
387 if ( buildResult.getProject() != null )
388 {
389 serializer.writeStartElement( "project" );
390 serializer.writeAttribute( "id", String.valueOf( buildResult.getProject().getId() ) );
391 serializer.writeEndElement();
392 }
393 if ( buildResult.getBuildDefinition() != null )
394 {
395 serializer.writeStartElement( "buildDefinition" );
396 serializer.writeAttribute( "id", String.valueOf( buildResult.getBuildDefinition().getId() ) );
397 serializer.writeEndElement();
398 }
399 if ( buildResult.getId() != 0 )
400 {
401 serializer.writeStartElement( "id" );
402 serializer.writeCharacters( String.valueOf( buildResult.getId() ) );
403 serializer.writeEndElement();
404 }
405 if ( buildResult.getBuildNumber() != 0 )
406 {
407 serializer.writeStartElement( "buildNumber" );
408 serializer.writeCharacters( String.valueOf( buildResult.getBuildNumber() ) );
409 serializer.writeEndElement();
410 }
411 if ( buildResult.getUsername() != null )
412 {
413 serializer.writeStartElement( "username" );
414 serializer.writeCharacters( buildResult.getUsername() );
415 serializer.writeEndElement();
416 }
417 if ( buildResult.getState() != 0 )
418 {
419 serializer.writeStartElement( "state" );
420 serializer.writeCharacters( String.valueOf( buildResult.getState() ) );
421 serializer.writeEndElement();
422 }
423 if ( buildResult.getTrigger() != 0 )
424 {
425 serializer.writeStartElement( "trigger" );
426 serializer.writeCharacters( String.valueOf( buildResult.getTrigger() ) );
427 serializer.writeEndElement();
428 }
429 if ( buildResult.getStartTime() != 0L )
430 {
431 serializer.writeStartElement( "startTime" );
432 serializer.writeCharacters( String.valueOf( buildResult.getStartTime() ) );
433 serializer.writeEndElement();
434 }
435 if ( buildResult.getEndTime() != 0L )
436 {
437 serializer.writeStartElement( "endTime" );
438 serializer.writeCharacters( String.valueOf( buildResult.getEndTime() ) );
439 serializer.writeEndElement();
440 }
441 if ( buildResult.getError() != null )
442 {
443 serializer.writeStartElement( "error" );
444 serializer.writeCharacters( buildResult.getError() );
445 serializer.writeEndElement();
446 }
447 if ( buildResult.isSuccess() != false )
448 {
449 serializer.writeStartElement( "success" );
450 serializer.writeCharacters( String.valueOf( buildResult.isSuccess() ) );
451 serializer.writeEndElement();
452 }
453 if ( buildResult.getExitCode() != 0 )
454 {
455 serializer.writeStartElement( "exitCode" );
456 serializer.writeCharacters( String.valueOf( buildResult.getExitCode() ) );
457 serializer.writeEndElement();
458 }
459 if ( buildResult.getScmResult() != null )
460 {
461 writeScmResult( (ScmResult) buildResult.getScmResult(), "scmResult", serializer );
462 }
463 if ( ( buildResult.getModifiedDependencies() != null ) && ( buildResult.getModifiedDependencies().size() > 0 ) )
464 {
465 serializer.writeStartElement( "modifiedDependencies" );
466 for ( Iterator iter = buildResult.getModifiedDependencies().iterator(); iter.hasNext(); )
467 {
468 ProjectDependency o = (ProjectDependency) iter.next();
469 writeProjectDependency( o, "modifiedDependency", serializer );
470 }
471 serializer.writeEndElement();
472 }
473 if ( buildResult.getLastChangedDate() != 0L )
474 {
475 serializer.writeStartElement( "lastChangedDate" );
476 serializer.writeCharacters( String.valueOf( buildResult.getLastChangedDate() ) );
477 serializer.writeEndElement();
478 }
479 if ( ( buildResult.getBuildUrl() != null ) && !buildResult.getBuildUrl().equals( "" ) )
480 {
481 serializer.writeStartElement( "buildUrl" );
482 serializer.writeCharacters( buildResult.getBuildUrl() );
483 serializer.writeEndElement();
484 }
485 serializer.writeEndElement();
486 }
487 }
488
489
490
491
492
493
494
495
496
497
498 private void writeChangeFile( ChangeFile changeFile, String tagName, XMLStreamWriter serializer )
499 throws java.io.IOException, XMLStreamException
500 {
501 if ( changeFile != null )
502 {
503 serializer.writeStartElement( tagName );
504 if ( changeFile.getName() != null )
505 {
506 serializer.writeStartElement( "name" );
507 serializer.writeCharacters( changeFile.getName() );
508 serializer.writeEndElement();
509 }
510 if ( changeFile.getRevision() != null )
511 {
512 serializer.writeStartElement( "revision" );
513 serializer.writeCharacters( changeFile.getRevision() );
514 serializer.writeEndElement();
515 }
516 if ( changeFile.getStatus() != null )
517 {
518 serializer.writeStartElement( "status" );
519 serializer.writeCharacters( changeFile.getStatus() );
520 serializer.writeEndElement();
521 }
522 serializer.writeEndElement();
523 }
524 }
525
526
527
528
529
530
531
532
533
534
535 private void writeChangeSet( ChangeSet changeSet, String tagName, XMLStreamWriter serializer )
536 throws java.io.IOException, XMLStreamException
537 {
538 if ( changeSet != null )
539 {
540 serializer.writeStartElement( tagName );
541 if ( changeSet.getId() != null )
542 {
543 serializer.writeStartElement( "id" );
544 serializer.writeCharacters( changeSet.getId() );
545 serializer.writeEndElement();
546 }
547 if ( changeSet.getAuthor() != null )
548 {
549 serializer.writeStartElement( "author" );
550 serializer.writeCharacters( changeSet.getAuthor() );
551 serializer.writeEndElement();
552 }
553 if ( changeSet.getComment() != null )
554 {
555 serializer.writeStartElement( "comment" );
556 serializer.writeCharacters( changeSet.getComment() );
557 serializer.writeEndElement();
558 }
559 if ( changeSet.getDate() != 0L )
560 {
561 serializer.writeStartElement( "date" );
562 serializer.writeCharacters( String.valueOf( changeSet.getDate() ) );
563 serializer.writeEndElement();
564 }
565 if ( ( changeSet.getFiles() != null ) && ( changeSet.getFiles().size() > 0 ) )
566 {
567 serializer.writeStartElement( "files" );
568 for ( Iterator iter = changeSet.getFiles().iterator(); iter.hasNext(); )
569 {
570 ChangeFile o = (ChangeFile) iter.next();
571 writeChangeFile( o, "file", serializer );
572 }
573 serializer.writeEndElement();
574 }
575 serializer.writeEndElement();
576 }
577 }
578
579
580
581
582
583
584
585
586
587
588 private void writeContinuumDatabase( ContinuumDatabase continuumDatabase, String tagName, XMLStreamWriter serializer )
589 throws java.io.IOException, XMLStreamException
590 {
591 if ( continuumDatabase != null )
592 {
593 serializer.writeStartElement( tagName );
594 if ( ( continuumDatabase.getProjectGroups() != null ) && ( continuumDatabase.getProjectGroups().size() > 0 ) )
595 {
596 serializer.writeStartElement( "projectGroups" );
597 for ( Iterator iter = continuumDatabase.getProjectGroups().iterator(); iter.hasNext(); )
598 {
599 ProjectGroup o = (ProjectGroup) iter.next();
600 writeProjectGroup( o, "projectGroup", serializer );
601 }
602 serializer.writeEndElement();
603 }
604 if ( continuumDatabase.getSystemConfiguration() != null )
605 {
606 writeSystemConfiguration( (SystemConfiguration) continuumDatabase.getSystemConfiguration(), "systemConfiguration", serializer );
607 }
608 if ( ( continuumDatabase.getInstallations() != null ) && ( continuumDatabase.getInstallations().size() > 0 ) )
609 {
610 serializer.writeStartElement( "installations" );
611 for ( Iterator iter = continuumDatabase.getInstallations().iterator(); iter.hasNext(); )
612 {
613 Installation o = (Installation) iter.next();
614 writeInstallation( o, "installation", serializer );
615 }
616 serializer.writeEndElement();
617 }
618 if ( ( continuumDatabase.getSchedules() != null ) && ( continuumDatabase.getSchedules().size() > 0 ) )
619 {
620 serializer.writeStartElement( "schedules" );
621 for ( Iterator iter = continuumDatabase.getSchedules().iterator(); iter.hasNext(); )
622 {
623 Schedule o = (Schedule) iter.next();
624 writeSchedule( o, "schedule", serializer );
625 }
626 serializer.writeEndElement();
627 }
628 if ( ( continuumDatabase.getProfiles() != null ) && ( continuumDatabase.getProfiles().size() > 0 ) )
629 {
630 serializer.writeStartElement( "profiles" );
631 for ( Iterator iter = continuumDatabase.getProfiles().iterator(); iter.hasNext(); )
632 {
633 Profile o = (Profile) iter.next();
634 writeProfile( o, "profile", serializer );
635 }
636 serializer.writeEndElement();
637 }
638 if ( ( continuumDatabase.getLocalRepositories() != null ) && ( continuumDatabase.getLocalRepositories().size() > 0 ) )
639 {
640 serializer.writeStartElement( "localRepositories" );
641 for ( Iterator iter = continuumDatabase.getLocalRepositories().iterator(); iter.hasNext(); )
642 {
643 LocalRepository o = (LocalRepository) iter.next();
644 writeLocalRepository( o, "localRepository", serializer );
645 }
646 serializer.writeEndElement();
647 }
648 if ( ( continuumDatabase.getRepositoryPurgeConfigurations() != null ) && ( continuumDatabase.getRepositoryPurgeConfigurations().size() > 0 ) )
649 {
650 serializer.writeStartElement( "repositoryPurgeConfigurations" );
651 for ( Iterator iter = continuumDatabase.getRepositoryPurgeConfigurations().iterator(); iter.hasNext(); )
652 {
653 RepositoryPurgeConfiguration o = (RepositoryPurgeConfiguration) iter.next();
654 writeRepositoryPurgeConfiguration( o, "repositoryPurgeConfiguration", serializer );
655 }
656 serializer.writeEndElement();
657 }
658 if ( ( continuumDatabase.getDirectoryPurgeConfigurations() != null ) && ( continuumDatabase.getDirectoryPurgeConfigurations().size() > 0 ) )
659 {
660 serializer.writeStartElement( "directoryPurgeConfigurations" );
661 for ( Iterator iter = continuumDatabase.getDirectoryPurgeConfigurations().iterator(); iter.hasNext(); )
662 {
663 DirectoryPurgeConfiguration o = (DirectoryPurgeConfiguration) iter.next();
664 writeDirectoryPurgeConfiguration( o, "directoryPurgeConfiguration", serializer );
665 }
666 serializer.writeEndElement();
667 }
668 if ( ( continuumDatabase.getDistributedDirectoryPurgeConfigurations() != null ) && ( continuumDatabase.getDistributedDirectoryPurgeConfigurations().size() > 0 ) )
669 {
670 serializer.writeStartElement( "distributedDirectoryPurgeConfigurations" );
671 for ( Iterator iter = continuumDatabase.getDistributedDirectoryPurgeConfigurations().iterator(); iter.hasNext(); )
672 {
673 DistributedDirectoryPurgeConfiguration o = (DistributedDirectoryPurgeConfiguration) iter.next();
674 writeDistributedDirectoryPurgeConfiguration( o, "distributedDirectoryPurgeConfiguration", serializer );
675 }
676 serializer.writeEndElement();
677 }
678 if ( ( continuumDatabase.getProjectScmRoots() != null ) && ( continuumDatabase.getProjectScmRoots().size() > 0 ) )
679 {
680 serializer.writeStartElement( "projectScmRoots" );
681 for ( Iterator iter = continuumDatabase.getProjectScmRoots().iterator(); iter.hasNext(); )
682 {
683 ProjectScmRoot o = (ProjectScmRoot) iter.next();
684 writeProjectScmRoot( o, "projectScmRoot", serializer );
685 }
686 serializer.writeEndElement();
687 }
688 if ( ( continuumDatabase.getContinuumReleaseResults() != null ) && ( continuumDatabase.getContinuumReleaseResults().size() > 0 ) )
689 {
690 serializer.writeStartElement( "continuumReleaseResults" );
691 for ( Iterator iter = continuumDatabase.getContinuumReleaseResults().iterator(); iter.hasNext(); )
692 {
693 ContinuumReleaseResult o = (ContinuumReleaseResult) iter.next();
694 writeContinuumReleaseResult( o, "continuumReleaseResult", serializer );
695 }
696 serializer.writeEndElement();
697 }
698 if ( ( continuumDatabase.getBuildDefinitionTemplates() != null ) && ( continuumDatabase.getBuildDefinitionTemplates().size() > 0 ) )
699 {
700 serializer.writeStartElement( "buildDefinitionTemplates" );
701 for ( Iterator iter = continuumDatabase.getBuildDefinitionTemplates().iterator(); iter.hasNext(); )
702 {
703 BuildDefinitionTemplate o = (BuildDefinitionTemplate) iter.next();
704 writeBuildDefinitionTemplate( o, "buildDefinitionTemplate", serializer );
705 }
706 serializer.writeEndElement();
707 }
708 if ( ( continuumDatabase.getBuildQueues() != null ) && ( continuumDatabase.getBuildQueues().size() > 0 ) )
709 {
710 serializer.writeStartElement( "buildQueues" );
711 for ( Iterator iter = continuumDatabase.getBuildQueues().iterator(); iter.hasNext(); )
712 {
713 BuildQueue o = (BuildQueue) iter.next();
714 writeBuildQueue( o, "buildQueue", serializer );
715 }
716 serializer.writeEndElement();
717 }
718 if ( ( continuumDatabase.getBuildDefinitions() != null ) && ( continuumDatabase.getBuildDefinitions().size() > 0 ) )
719 {
720 serializer.writeStartElement( "buildDefinitions" );
721 for ( Iterator iter = continuumDatabase.getBuildDefinitions().iterator(); iter.hasNext(); )
722 {
723 BuildDefinition o = (BuildDefinition) iter.next();
724 writeBuildDefinition( o, "buildDefinition", serializer );
725 }
726 serializer.writeEndElement();
727 }
728 serializer.writeEndElement();
729 }
730 }
731
732
733
734
735
736
737
738
739
740
741 private void writeContinuumProjectState( ContinuumProjectState continuumProjectState, String tagName, XMLStreamWriter serializer )
742 throws java.io.IOException, XMLStreamException
743 {
744 if ( continuumProjectState != null )
745 {
746 serializer.writeStartElement( tagName );
747 if ( continuumProjectState.getName() != null )
748 {
749 serializer.writeStartElement( "name" );
750 serializer.writeCharacters( continuumProjectState.getName() );
751 serializer.writeEndElement();
752 }
753 serializer.writeEndElement();
754 }
755 }
756
757
758
759
760
761
762
763
764
765
766 private void writeContinuumReleaseResult( ContinuumReleaseResult continuumReleaseResult, String tagName, XMLStreamWriter serializer )
767 throws java.io.IOException, XMLStreamException
768 {
769 if ( continuumReleaseResult != null )
770 {
771 serializer.writeStartElement( tagName );
772 if ( continuumReleaseResult.getId() != 0 )
773 {
774 serializer.writeStartElement( "id" );
775 serializer.writeCharacters( String.valueOf( continuumReleaseResult.getId() ) );
776 serializer.writeEndElement();
777 }
778 if ( continuumReleaseResult.getStartTime() != 0L )
779 {
780 serializer.writeStartElement( "startTime" );
781 serializer.writeCharacters( String.valueOf( continuumReleaseResult.getStartTime() ) );
782 serializer.writeEndElement();
783 }
784 if ( continuumReleaseResult.getEndTime() != 0L )
785 {
786 serializer.writeStartElement( "endTime" );
787 serializer.writeCharacters( String.valueOf( continuumReleaseResult.getEndTime() ) );
788 serializer.writeEndElement();
789 }
790 if ( continuumReleaseResult.getResultCode() != 0 )
791 {
792 serializer.writeStartElement( "resultCode" );
793 serializer.writeCharacters( String.valueOf( continuumReleaseResult.getResultCode() ) );
794 serializer.writeEndElement();
795 }
796 if ( continuumReleaseResult.getProjectGroup() != null )
797 {
798 serializer.writeStartElement( "projectGroup" );
799 serializer.writeAttribute( "id", String.valueOf( continuumReleaseResult.getProjectGroup().getId() ) );
800 serializer.writeEndElement();
801 }
802 if ( continuumReleaseResult.getProject() != null )
803 {
804 serializer.writeStartElement( "project" );
805 serializer.writeAttribute( "id", String.valueOf( continuumReleaseResult.getProject().getId() ) );
806 serializer.writeEndElement();
807 }
808 if ( continuumReleaseResult.getReleaseGoal() != null )
809 {
810 serializer.writeStartElement( "releaseGoal" );
811 serializer.writeCharacters( continuumReleaseResult.getReleaseGoal() );
812 serializer.writeEndElement();
813 }
814 if ( continuumReleaseResult.getUsername() != null )
815 {
816 serializer.writeStartElement( "username" );
817 serializer.writeCharacters( continuumReleaseResult.getUsername() );
818 serializer.writeEndElement();
819 }
820 serializer.writeEndElement();
821 }
822 }
823
824
825
826
827
828
829
830
831
832
833 private void writeDirectoryPurgeConfiguration( DirectoryPurgeConfiguration directoryPurgeConfiguration, String tagName, XMLStreamWriter serializer )
834 throws java.io.IOException, XMLStreamException
835 {
836 if ( directoryPurgeConfiguration != null )
837 {
838 serializer.writeStartElement( tagName );
839 if ( directoryPurgeConfiguration.getLocation() != null )
840 {
841 serializer.writeStartElement( "location" );
842 serializer.writeCharacters( directoryPurgeConfiguration.getLocation() );
843 serializer.writeEndElement();
844 }
845 if ( directoryPurgeConfiguration.getDirectoryType() != null )
846 {
847 serializer.writeStartElement( "directoryType" );
848 serializer.writeCharacters( directoryPurgeConfiguration.getDirectoryType() );
849 serializer.writeEndElement();
850 }
851 if ( directoryPurgeConfiguration.getId() != 0 )
852 {
853 serializer.writeStartElement( "id" );
854 serializer.writeCharacters( String.valueOf( directoryPurgeConfiguration.getId() ) );
855 serializer.writeEndElement();
856 }
857 if ( directoryPurgeConfiguration.getDescription() != null )
858 {
859 serializer.writeStartElement( "description" );
860 serializer.writeCharacters( directoryPurgeConfiguration.getDescription() );
861 serializer.writeEndElement();
862 }
863 if ( directoryPurgeConfiguration.isDeleteAll() != false )
864 {
865 serializer.writeStartElement( "deleteAll" );
866 serializer.writeCharacters( String.valueOf( directoryPurgeConfiguration.isDeleteAll() ) );
867 serializer.writeEndElement();
868 }
869 if ( directoryPurgeConfiguration.getRetentionCount() != 2 )
870 {
871 serializer.writeStartElement( "retentionCount" );
872 serializer.writeCharacters( String.valueOf( directoryPurgeConfiguration.getRetentionCount() ) );
873 serializer.writeEndElement();
874 }
875 if ( directoryPurgeConfiguration.getDaysOlder() != 100 )
876 {
877 serializer.writeStartElement( "daysOlder" );
878 serializer.writeCharacters( String.valueOf( directoryPurgeConfiguration.getDaysOlder() ) );
879 serializer.writeEndElement();
880 }
881 if ( directoryPurgeConfiguration.isEnabled() != true )
882 {
883 serializer.writeStartElement( "enabled" );
884 serializer.writeCharacters( String.valueOf( directoryPurgeConfiguration.isEnabled() ) );
885 serializer.writeEndElement();
886 }
887 if ( directoryPurgeConfiguration.getSchedule() != null )
888 {
889 serializer.writeStartElement( "schedule" );
890 serializer.writeAttribute( "id", String.valueOf( directoryPurgeConfiguration.getSchedule().getId() ) );
891 serializer.writeEndElement();
892 }
893 if ( directoryPurgeConfiguration.isDefaultPurge() != false )
894 {
895 serializer.writeStartElement( "defaultPurge" );
896 serializer.writeCharacters( String.valueOf( directoryPurgeConfiguration.isDefaultPurge() ) );
897 serializer.writeEndElement();
898 }
899 serializer.writeEndElement();
900 }
901 }
902
903
904
905
906
907
908
909
910
911
912 private void writeDistributedDirectoryPurgeConfiguration( DistributedDirectoryPurgeConfiguration distributedDirectoryPurgeConfiguration, String tagName, XMLStreamWriter serializer )
913 throws java.io.IOException, XMLStreamException
914 {
915 if ( distributedDirectoryPurgeConfiguration != null )
916 {
917 serializer.writeStartElement( tagName );
918 if ( distributedDirectoryPurgeConfiguration.getBuildAgentUrl() != null )
919 {
920 serializer.writeStartElement( "buildAgentUrl" );
921 serializer.writeCharacters( distributedDirectoryPurgeConfiguration.getBuildAgentUrl() );
922 serializer.writeEndElement();
923 }
924 if ( distributedDirectoryPurgeConfiguration.getDirectoryType() != null )
925 {
926 serializer.writeStartElement( "directoryType" );
927 serializer.writeCharacters( distributedDirectoryPurgeConfiguration.getDirectoryType() );
928 serializer.writeEndElement();
929 }
930 if ( distributedDirectoryPurgeConfiguration.getId() != 0 )
931 {
932 serializer.writeStartElement( "id" );
933 serializer.writeCharacters( String.valueOf( distributedDirectoryPurgeConfiguration.getId() ) );
934 serializer.writeEndElement();
935 }
936 if ( distributedDirectoryPurgeConfiguration.getDescription() != null )
937 {
938 serializer.writeStartElement( "description" );
939 serializer.writeCharacters( distributedDirectoryPurgeConfiguration.getDescription() );
940 serializer.writeEndElement();
941 }
942 if ( distributedDirectoryPurgeConfiguration.isDeleteAll() != false )
943 {
944 serializer.writeStartElement( "deleteAll" );
945 serializer.writeCharacters( String.valueOf( distributedDirectoryPurgeConfiguration.isDeleteAll() ) );
946 serializer.writeEndElement();
947 }
948 if ( distributedDirectoryPurgeConfiguration.getRetentionCount() != 2 )
949 {
950 serializer.writeStartElement( "retentionCount" );
951 serializer.writeCharacters( String.valueOf( distributedDirectoryPurgeConfiguration.getRetentionCount() ) );
952 serializer.writeEndElement();
953 }
954 if ( distributedDirectoryPurgeConfiguration.getDaysOlder() != 100 )
955 {
956 serializer.writeStartElement( "daysOlder" );
957 serializer.writeCharacters( String.valueOf( distributedDirectoryPurgeConfiguration.getDaysOlder() ) );
958 serializer.writeEndElement();
959 }
960 if ( distributedDirectoryPurgeConfiguration.isEnabled() != true )
961 {
962 serializer.writeStartElement( "enabled" );
963 serializer.writeCharacters( String.valueOf( distributedDirectoryPurgeConfiguration.isEnabled() ) );
964 serializer.writeEndElement();
965 }
966 if ( distributedDirectoryPurgeConfiguration.getSchedule() != null )
967 {
968 serializer.writeStartElement( "schedule" );
969 serializer.writeAttribute( "id", String.valueOf( distributedDirectoryPurgeConfiguration.getSchedule().getId() ) );
970 serializer.writeEndElement();
971 }
972 if ( distributedDirectoryPurgeConfiguration.isDefaultPurge() != false )
973 {
974 serializer.writeStartElement( "defaultPurge" );
975 serializer.writeCharacters( String.valueOf( distributedDirectoryPurgeConfiguration.isDefaultPurge() ) );
976 serializer.writeEndElement();
977 }
978 serializer.writeEndElement();
979 }
980 }
981
982
983
984
985
986
987
988
989 private void writeDom( Xpp3Dom dom, XMLStreamWriter serializer )
990 throws XMLStreamException
991 {
992 serializer.writeStartElement( dom.getName() );
993 String[] attributeNames = dom.getAttributeNames();
994 for ( int i = 0; i < attributeNames.length; i++ )
995 {
996 String attributeName = attributeNames[i];
997 serializer.writeAttribute( attributeName, dom.getAttribute( attributeName ) );
998 }
999 Xpp3Dom[] children = dom.getChildren();
1000 for ( int i = 0; i < children.length; i++ )
1001 {
1002 writeDom( children[i], serializer );
1003 }
1004 String value = dom.getValue();
1005 if ( value != null )
1006 {
1007 serializer.writeCharacters( value );
1008 }
1009 serializer.writeEndElement();
1010 }
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021 private void writeInstallation( Installation installation, String tagName, XMLStreamWriter serializer )
1022 throws java.io.IOException, XMLStreamException
1023 {
1024 if ( installation != null )
1025 {
1026 serializer.writeStartElement( tagName );
1027 if ( installation.getType() != null )
1028 {
1029 serializer.writeStartElement( "type" );
1030 serializer.writeCharacters( installation.getType() );
1031 serializer.writeEndElement();
1032 }
1033 if ( installation.getVarValue() != null )
1034 {
1035 serializer.writeStartElement( "varValue" );
1036 serializer.writeCharacters( installation.getVarValue() );
1037 serializer.writeEndElement();
1038 }
1039 if ( installation.getVarName() != null )
1040 {
1041 serializer.writeStartElement( "varName" );
1042 serializer.writeCharacters( installation.getVarName() );
1043 serializer.writeEndElement();
1044 }
1045 if ( installation.getName() != null )
1046 {
1047 serializer.writeStartElement( "name" );
1048 serializer.writeCharacters( installation.getName() );
1049 serializer.writeEndElement();
1050 }
1051 if ( installation.getInstallationId() != 0 )
1052 {
1053 serializer.writeStartElement( "installationId" );
1054 serializer.writeCharacters( String.valueOf( installation.getInstallationId() ) );
1055 serializer.writeEndElement();
1056 }
1057 serializer.writeEndElement();
1058 }
1059 }
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070 private void writeLocalRepository( LocalRepository localRepository, String tagName, XMLStreamWriter serializer )
1071 throws java.io.IOException, XMLStreamException
1072 {
1073 if ( localRepository != null )
1074 {
1075 serializer.writeStartElement( tagName );
1076 if ( localRepository.getId() != 0 )
1077 {
1078 serializer.writeStartElement( "id" );
1079 serializer.writeCharacters( String.valueOf( localRepository.getId() ) );
1080 serializer.writeEndElement();
1081 }
1082 if ( localRepository.getName() != null )
1083 {
1084 serializer.writeStartElement( "name" );
1085 serializer.writeCharacters( localRepository.getName() );
1086 serializer.writeEndElement();
1087 }
1088 if ( localRepository.getLocation() != null )
1089 {
1090 serializer.writeStartElement( "location" );
1091 serializer.writeCharacters( localRepository.getLocation() );
1092 serializer.writeEndElement();
1093 }
1094 if ( ( localRepository.getLayout() != null ) && !localRepository.getLayout().equals( "default" ) )
1095 {
1096 serializer.writeStartElement( "layout" );
1097 serializer.writeCharacters( localRepository.getLayout() );
1098 serializer.writeEndElement();
1099 }
1100 serializer.writeEndElement();
1101 }
1102 }
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113 private void writeNotificationAddress( NotificationAddress notificationAddress, String tagName, XMLStreamWriter serializer )
1114 throws java.io.IOException, XMLStreamException
1115 {
1116 if ( notificationAddress != null )
1117 {
1118 serializer.writeStartElement( tagName );
1119 if ( ( notificationAddress.getType() != null ) && !notificationAddress.getType().equals( "mail" ) )
1120 {
1121 serializer.writeStartElement( "type" );
1122 serializer.writeCharacters( notificationAddress.getType() );
1123 serializer.writeEndElement();
1124 }
1125 if ( notificationAddress.getAddress() != null )
1126 {
1127 serializer.writeStartElement( "address" );
1128 serializer.writeCharacters( notificationAddress.getAddress() );
1129 serializer.writeEndElement();
1130 }
1131 if ( ( notificationAddress.getConfiguration() != null ) && ( notificationAddress.getConfiguration().size() > 0 ) )
1132 {
1133 serializer.writeStartElement( "configuration" );
1134 for ( Iterator iter = notificationAddress.getConfiguration().keySet().iterator(); iter.hasNext(); )
1135 {
1136 String key = (String) iter.next();
1137 String value = (String) notificationAddress.getConfiguration().get( key );
1138 serializer.writeStartElement( "" + key + "" );
1139 serializer.writeCharacters( value );
1140 serializer.writeEndElement();
1141 }
1142 serializer.writeEndElement();
1143 }
1144 serializer.writeEndElement();
1145 }
1146 }
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157 private void writeProfile( Profile profile, String tagName, XMLStreamWriter serializer )
1158 throws java.io.IOException, XMLStreamException
1159 {
1160 if ( profile != null )
1161 {
1162 serializer.writeStartElement( tagName );
1163 if ( profile.getId() != 0 )
1164 {
1165 serializer.writeStartElement( "id" );
1166 serializer.writeCharacters( String.valueOf( profile.getId() ) );
1167 serializer.writeEndElement();
1168 }
1169 if ( profile.isActive() != false )
1170 {
1171 serializer.writeStartElement( "active" );
1172 serializer.writeCharacters( String.valueOf( profile.isActive() ) );
1173 serializer.writeEndElement();
1174 }
1175 if ( profile.getName() != null )
1176 {
1177 serializer.writeStartElement( "name" );
1178 serializer.writeCharacters( profile.getName() );
1179 serializer.writeEndElement();
1180 }
1181 if ( profile.getDescription() != null )
1182 {
1183 serializer.writeStartElement( "description" );
1184 serializer.writeCharacters( profile.getDescription() );
1185 serializer.writeEndElement();
1186 }
1187 if ( profile.getScmMode() != 0 )
1188 {
1189 serializer.writeStartElement( "scmMode" );
1190 serializer.writeCharacters( String.valueOf( profile.getScmMode() ) );
1191 serializer.writeEndElement();
1192 }
1193 if ( profile.isBuildWithoutChanges() != false )
1194 {
1195 serializer.writeStartElement( "buildWithoutChanges" );
1196 serializer.writeCharacters( String.valueOf( profile.isBuildWithoutChanges() ) );
1197 serializer.writeEndElement();
1198 }
1199 if ( ( profile.getBuildAgentGroup() != null ) && !profile.getBuildAgentGroup().equals( "" ) )
1200 {
1201 serializer.writeStartElement( "buildAgentGroup" );
1202 serializer.writeCharacters( profile.getBuildAgentGroup() );
1203 serializer.writeEndElement();
1204 }
1205 if ( profile.getJdk() != null )
1206 {
1207 serializer.writeStartElement( "jdk" );
1208 serializer.writeAttribute( "installationId", String.valueOf( profile.getJdk().getInstallationId() ) );
1209 serializer.writeEndElement();
1210 }
1211 if ( profile.getBuilder() != null )
1212 {
1213 serializer.writeStartElement( "builder" );
1214 serializer.writeAttribute( "installationId", String.valueOf( profile.getBuilder().getInstallationId() ) );
1215 serializer.writeEndElement();
1216 }
1217 if ( ( profile.getEnvironmentVariables() != null ) && ( profile.getEnvironmentVariables().size() > 0 ) )
1218 {
1219 serializer.writeStartElement( "environmentVariables" );
1220 for ( Iterator iter = profile.getEnvironmentVariables().iterator(); iter.hasNext(); )
1221 {
1222 Installation o = (Installation) iter.next();
1223 serializer.writeStartElement( "environmentVariable" );
1224 serializer.writeAttribute( "installationId", String.valueOf( o.getInstallationId() ) );
1225 serializer.writeEndElement();
1226 }
1227 serializer.writeEndElement();
1228 }
1229 serializer.writeEndElement();
1230 }
1231 }
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242 private void writeProject( Project project, String tagName, XMLStreamWriter serializer )
1243 throws java.io.IOException, XMLStreamException
1244 {
1245 if ( project != null )
1246 {
1247 serializer.writeStartElement( tagName );
1248 if ( project.getId() != 0 )
1249 {
1250 serializer.writeStartElement( "id" );
1251 serializer.writeCharacters( String.valueOf( project.getId() ) );
1252 serializer.writeEndElement();
1253 }
1254 if ( project.getGroupId() != null )
1255 {
1256 serializer.writeStartElement( "groupId" );
1257 serializer.writeCharacters( project.getGroupId() );
1258 serializer.writeEndElement();
1259 }
1260 if ( project.getArtifactId() != null )
1261 {
1262 serializer.writeStartElement( "artifactId" );
1263 serializer.writeCharacters( project.getArtifactId() );
1264 serializer.writeEndElement();
1265 }
1266 if ( project.getExecutorId() != null )
1267 {
1268 serializer.writeStartElement( "executorId" );
1269 serializer.writeCharacters( project.getExecutorId() );
1270 serializer.writeEndElement();
1271 }
1272 if ( project.getName() != null )
1273 {
1274 serializer.writeStartElement( "name" );
1275 serializer.writeCharacters( project.getName() );
1276 serializer.writeEndElement();
1277 }
1278 if ( project.getDescription() != null )
1279 {
1280 serializer.writeStartElement( "description" );
1281 serializer.writeCharacters( project.getDescription() );
1282 serializer.writeEndElement();
1283 }
1284 if ( project.getUrl() != null )
1285 {
1286 serializer.writeStartElement( "url" );
1287 serializer.writeCharacters( project.getUrl() );
1288 serializer.writeEndElement();
1289 }
1290 if ( project.getScmUrl() != null )
1291 {
1292 serializer.writeStartElement( "scmUrl" );
1293 serializer.writeCharacters( project.getScmUrl() );
1294 serializer.writeEndElement();
1295 }
1296 if ( project.getScmTag() != null )
1297 {
1298 serializer.writeStartElement( "scmTag" );
1299 serializer.writeCharacters( project.getScmTag() );
1300 serializer.writeEndElement();
1301 }
1302 if ( project.getScmUsername() != null )
1303 {
1304 serializer.writeStartElement( "scmUsername" );
1305 serializer.writeCharacters( project.getScmUsername() );
1306 serializer.writeEndElement();
1307 }
1308 if ( project.getScmPassword() != null )
1309 {
1310 serializer.writeStartElement( "scmPassword" );
1311 serializer.writeCharacters( project.getScmPassword() );
1312 serializer.writeEndElement();
1313 }
1314 if ( project.isScmUseCache() != false )
1315 {
1316 serializer.writeStartElement( "scmUseCache" );
1317 serializer.writeCharacters( String.valueOf( project.isScmUseCache() ) );
1318 serializer.writeEndElement();
1319 }
1320 if ( project.getVersion() != null )
1321 {
1322 serializer.writeStartElement( "version" );
1323 serializer.writeCharacters( project.getVersion() );
1324 serializer.writeEndElement();
1325 }
1326 if ( project.getState() != 1 )
1327 {
1328 serializer.writeStartElement( "state" );
1329 serializer.writeCharacters( String.valueOf( project.getState() ) );
1330 serializer.writeEndElement();
1331 }
1332 if ( project.getOldState() != 0 )
1333 {
1334 serializer.writeStartElement( "oldState" );
1335 serializer.writeCharacters( String.valueOf( project.getOldState() ) );
1336 serializer.writeEndElement();
1337 }
1338 if ( project.getLatestBuildId() != 0 )
1339 {
1340 serializer.writeStartElement( "latestBuildId" );
1341 serializer.writeCharacters( String.valueOf( project.getLatestBuildId() ) );
1342 serializer.writeEndElement();
1343 }
1344 if ( project.getBuildNumber() != 0 )
1345 {
1346 serializer.writeStartElement( "buildNumber" );
1347 serializer.writeCharacters( String.valueOf( project.getBuildNumber() ) );
1348 serializer.writeEndElement();
1349 }
1350 if ( project.getWorkingDirectory() != null )
1351 {
1352 serializer.writeStartElement( "workingDirectory" );
1353 serializer.writeCharacters( project.getWorkingDirectory() );
1354 serializer.writeEndElement();
1355 }
1356 if ( project.getRelativePath() != null )
1357 {
1358 serializer.writeStartElement( "relativePath" );
1359 serializer.writeCharacters( project.getRelativePath() );
1360 serializer.writeEndElement();
1361 }
1362 if ( project.isCheckedOutInSingleDirectory() != false )
1363 {
1364 serializer.writeStartElement( "checkedOutInSingleDirectory" );
1365 serializer.writeCharacters( String.valueOf( project.isCheckedOutInSingleDirectory() ) );
1366 serializer.writeEndElement();
1367 }
1368 if ( ( project.getBuildResults() != null ) && ( project.getBuildResults().size() > 0 ) )
1369 {
1370 serializer.writeStartElement( "buildResults" );
1371 for ( Iterator iter = project.getBuildResults().iterator(); iter.hasNext(); )
1372 {
1373 BuildResult o = (BuildResult) iter.next();
1374 writeBuildResult( o, "buildResult", serializer );
1375 }
1376 serializer.writeEndElement();
1377 }
1378 if ( project.getCheckoutResult() != null )
1379 {
1380 writeScmResult( (ScmResult) project.getCheckoutResult(), "checkoutResult", serializer );
1381 }
1382 if ( ( project.getDevelopers() != null ) && ( project.getDevelopers().size() > 0 ) )
1383 {
1384 serializer.writeStartElement( "developers" );
1385 for ( Iterator iter = project.getDevelopers().iterator(); iter.hasNext(); )
1386 {
1387 ProjectDeveloper o = (ProjectDeveloper) iter.next();
1388 writeProjectDeveloper( o, "developer", serializer );
1389 }
1390 serializer.writeEndElement();
1391 }
1392 if ( project.getParent() != null )
1393 {
1394 writeProjectDependency( (ProjectDependency) project.getParent(), "parent", serializer );
1395 }
1396 if ( ( project.getDependencies() != null ) && ( project.getDependencies().size() > 0 ) )
1397 {
1398 serializer.writeStartElement( "dependencies" );
1399 for ( Iterator iter = project.getDependencies().iterator(); iter.hasNext(); )
1400 {
1401 ProjectDependency o = (ProjectDependency) iter.next();
1402 writeProjectDependency( o, "dependency", serializer );
1403 }
1404 serializer.writeEndElement();
1405 }
1406 if ( project.getProjectGroup() != null )
1407 {
1408 serializer.writeStartElement( "projectGroup" );
1409 serializer.writeAttribute( "id", String.valueOf( project.getProjectGroup().getId() ) );
1410 serializer.writeEndElement();
1411 }
1412 if ( ( project.getNotifiers() != null ) && ( project.getNotifiers().size() > 0 ) )
1413 {
1414 serializer.writeStartElement( "notifiers" );
1415 for ( Iterator iter = project.getNotifiers().iterator(); iter.hasNext(); )
1416 {
1417 ProjectNotifier o = (ProjectNotifier) iter.next();
1418 writeProjectNotifier( o, "notifier", serializer );
1419 }
1420 serializer.writeEndElement();
1421 }
1422 if ( ( project.getBuildDefinitions() != null ) && ( project.getBuildDefinitions().size() > 0 ) )
1423 {
1424 serializer.writeStartElement( "buildDefinitions" );
1425 for ( Iterator iter = project.getBuildDefinitions().iterator(); iter.hasNext(); )
1426 {
1427 BuildDefinition o = (BuildDefinition) iter.next();
1428 writeBuildDefinition( o, "buildDefinition", serializer );
1429 }
1430 serializer.writeEndElement();
1431 }
1432 serializer.writeEndElement();
1433 }
1434 }
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445 private void writeProjectDependency( ProjectDependency projectDependency, String tagName, XMLStreamWriter serializer )
1446 throws java.io.IOException, XMLStreamException
1447 {
1448 if ( projectDependency != null )
1449 {
1450 serializer.writeStartElement( tagName );
1451 if ( projectDependency.getGroupId() != null )
1452 {
1453 serializer.writeStartElement( "groupId" );
1454 serializer.writeCharacters( projectDependency.getGroupId() );
1455 serializer.writeEndElement();
1456 }
1457 if ( projectDependency.getArtifactId() != null )
1458 {
1459 serializer.writeStartElement( "artifactId" );
1460 serializer.writeCharacters( projectDependency.getArtifactId() );
1461 serializer.writeEndElement();
1462 }
1463 if ( projectDependency.getVersion() != null )
1464 {
1465 serializer.writeStartElement( "version" );
1466 serializer.writeCharacters( projectDependency.getVersion() );
1467 serializer.writeEndElement();
1468 }
1469 serializer.writeEndElement();
1470 }
1471 }
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482 private void writeProjectDeveloper( ProjectDeveloper projectDeveloper, String tagName, XMLStreamWriter serializer )
1483 throws java.io.IOException, XMLStreamException
1484 {
1485 if ( projectDeveloper != null )
1486 {
1487 serializer.writeStartElement( tagName );
1488 if ( projectDeveloper.getScmId() != null )
1489 {
1490 serializer.writeStartElement( "scmId" );
1491 serializer.writeCharacters( projectDeveloper.getScmId() );
1492 serializer.writeEndElement();
1493 }
1494 if ( projectDeveloper.getName() != null )
1495 {
1496 serializer.writeStartElement( "name" );
1497 serializer.writeCharacters( projectDeveloper.getName() );
1498 serializer.writeEndElement();
1499 }
1500 if ( projectDeveloper.getEmail() != null )
1501 {
1502 serializer.writeStartElement( "email" );
1503 serializer.writeCharacters( projectDeveloper.getEmail() );
1504 serializer.writeEndElement();
1505 }
1506 if ( projectDeveloper.getContinuumId() != 0 )
1507 {
1508 serializer.writeStartElement( "continuumId" );
1509 serializer.writeCharacters( String.valueOf( projectDeveloper.getContinuumId() ) );
1510 serializer.writeEndElement();
1511 }
1512 serializer.writeEndElement();
1513 }
1514 }
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525 private void writeProjectGroup( ProjectGroup projectGroup, String tagName, XMLStreamWriter serializer )
1526 throws java.io.IOException, XMLStreamException
1527 {
1528 if ( projectGroup != null )
1529 {
1530 serializer.writeStartElement( tagName );
1531 if ( projectGroup.getId() != 0 )
1532 {
1533 serializer.writeStartElement( "id" );
1534 serializer.writeCharacters( String.valueOf( projectGroup.getId() ) );
1535 serializer.writeEndElement();
1536 }
1537 if ( projectGroup.getGroupId() != null )
1538 {
1539 serializer.writeStartElement( "groupId" );
1540 serializer.writeCharacters( projectGroup.getGroupId() );
1541 serializer.writeEndElement();
1542 }
1543 if ( projectGroup.getName() != null )
1544 {
1545 serializer.writeStartElement( "name" );
1546 serializer.writeCharacters( projectGroup.getName() );
1547 serializer.writeEndElement();
1548 }
1549 if ( projectGroup.getDescription() != null )
1550 {
1551 serializer.writeStartElement( "description" );
1552 serializer.writeCharacters( projectGroup.getDescription() );
1553 serializer.writeEndElement();
1554 }
1555 if ( ( projectGroup.getProjects() != null ) && ( projectGroup.getProjects().size() > 0 ) )
1556 {
1557 serializer.writeStartElement( "projects" );
1558 for ( Iterator iter = projectGroup.getProjects().iterator(); iter.hasNext(); )
1559 {
1560 Project o = (Project) iter.next();
1561 writeProject( o, "project", serializer );
1562 }
1563 serializer.writeEndElement();
1564 }
1565 if ( ( projectGroup.getNotifiers() != null ) && ( projectGroup.getNotifiers().size() > 0 ) )
1566 {
1567 serializer.writeStartElement( "notifiers" );
1568 for ( Iterator iter = projectGroup.getNotifiers().iterator(); iter.hasNext(); )
1569 {
1570 ProjectNotifier o = (ProjectNotifier) iter.next();
1571 writeProjectNotifier( o, "notifier", serializer );
1572 }
1573 serializer.writeEndElement();
1574 }
1575 if ( ( projectGroup.getBuildDefinitions() != null ) && ( projectGroup.getBuildDefinitions().size() > 0 ) )
1576 {
1577 serializer.writeStartElement( "buildDefinitions" );
1578 for ( Iterator iter = projectGroup.getBuildDefinitions().iterator(); iter.hasNext(); )
1579 {
1580 BuildDefinition o = (BuildDefinition) iter.next();
1581 writeBuildDefinition( o, "buildDefinition", serializer );
1582 }
1583 serializer.writeEndElement();
1584 }
1585 if ( projectGroup.getLocalRepository() != null )
1586 {
1587 serializer.writeStartElement( "localRepository" );
1588 serializer.writeAttribute( "id", String.valueOf( projectGroup.getLocalRepository().getId() ) );
1589 serializer.writeEndElement();
1590 }
1591 serializer.writeEndElement();
1592 }
1593 }
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604 private void writeProjectNotifier( ProjectNotifier projectNotifier, String tagName, XMLStreamWriter serializer )
1605 throws java.io.IOException, XMLStreamException
1606 {
1607 if ( projectNotifier != null )
1608 {
1609 serializer.writeStartElement( tagName );
1610 if ( projectNotifier.getId() != 0 )
1611 {
1612 serializer.writeStartElement( "id" );
1613 serializer.writeCharacters( String.valueOf( projectNotifier.getId() ) );
1614 serializer.writeEndElement();
1615 }
1616 if ( ( projectNotifier.getType() != null ) && !projectNotifier.getType().equals( "mail" ) )
1617 {
1618 serializer.writeStartElement( "type" );
1619 serializer.writeCharacters( projectNotifier.getType() );
1620 serializer.writeEndElement();
1621 }
1622 if ( projectNotifier.getFrom() != 0 )
1623 {
1624 serializer.writeStartElement( "from" );
1625 serializer.writeCharacters( String.valueOf( projectNotifier.getFrom() ) );
1626 serializer.writeEndElement();
1627 }
1628 if ( projectNotifier.isEnabled() != true )
1629 {
1630 serializer.writeStartElement( "enabled" );
1631 serializer.writeCharacters( String.valueOf( projectNotifier.isEnabled() ) );
1632 serializer.writeEndElement();
1633 }
1634 if ( projectNotifier.getRecipientType() != 0 )
1635 {
1636 serializer.writeStartElement( "recipientType" );
1637 serializer.writeCharacters( String.valueOf( projectNotifier.getRecipientType() ) );
1638 serializer.writeEndElement();
1639 }
1640 if ( projectNotifier.isSendOnSuccess() != true )
1641 {
1642 serializer.writeStartElement( "sendOnSuccess" );
1643 serializer.writeCharacters( String.valueOf( projectNotifier.isSendOnSuccess() ) );
1644 serializer.writeEndElement();
1645 }
1646 if ( projectNotifier.isSendOnFailure() != true )
1647 {
1648 serializer.writeStartElement( "sendOnFailure" );
1649 serializer.writeCharacters( String.valueOf( projectNotifier.isSendOnFailure() ) );
1650 serializer.writeEndElement();
1651 }
1652 if ( projectNotifier.isSendOnError() != true )
1653 {
1654 serializer.writeStartElement( "sendOnError" );
1655 serializer.writeCharacters( String.valueOf( projectNotifier.isSendOnError() ) );
1656 serializer.writeEndElement();
1657 }
1658 if ( projectNotifier.isSendOnWarning() != true )
1659 {
1660 serializer.writeStartElement( "sendOnWarning" );
1661 serializer.writeCharacters( String.valueOf( projectNotifier.isSendOnWarning() ) );
1662 serializer.writeEndElement();
1663 }
1664 if ( ( projectNotifier.getConfiguration() != null ) && ( projectNotifier.getConfiguration().size() > 0 ) )
1665 {
1666 serializer.writeStartElement( "configuration" );
1667 for ( Iterator iter = projectNotifier.getConfiguration().keySet().iterator(); iter.hasNext(); )
1668 {
1669 String key = (String) iter.next();
1670 String value = (String) projectNotifier.getConfiguration().get( key );
1671 serializer.writeStartElement( "" + key + "" );
1672 serializer.writeCharacters( value );
1673 serializer.writeEndElement();
1674 }
1675 serializer.writeEndElement();
1676 }
1677 if ( projectNotifier.isSendOnScmFailure() != false )
1678 {
1679 serializer.writeStartElement( "sendOnScmFailure" );
1680 serializer.writeCharacters( String.valueOf( projectNotifier.isSendOnScmFailure() ) );
1681 serializer.writeEndElement();
1682 }
1683 serializer.writeEndElement();
1684 }
1685 }
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696 private void writeProjectScmRoot( ProjectScmRoot projectScmRoot, String tagName, XMLStreamWriter serializer )
1697 throws java.io.IOException, XMLStreamException
1698 {
1699 if ( projectScmRoot != null )
1700 {
1701 serializer.writeStartElement( tagName );
1702 if ( projectScmRoot.getId() != 0 )
1703 {
1704 serializer.writeStartElement( "id" );
1705 serializer.writeCharacters( String.valueOf( projectScmRoot.getId() ) );
1706 serializer.writeEndElement();
1707 }
1708 if ( projectScmRoot.getScmRootAddress() != null )
1709 {
1710 serializer.writeStartElement( "scmRootAddress" );
1711 serializer.writeCharacters( projectScmRoot.getScmRootAddress() );
1712 serializer.writeEndElement();
1713 }
1714 if ( projectScmRoot.getOldState() != 0 )
1715 {
1716 serializer.writeStartElement( "oldState" );
1717 serializer.writeCharacters( String.valueOf( projectScmRoot.getOldState() ) );
1718 serializer.writeEndElement();
1719 }
1720 if ( projectScmRoot.getState() != 0 )
1721 {
1722 serializer.writeStartElement( "state" );
1723 serializer.writeCharacters( String.valueOf( projectScmRoot.getState() ) );
1724 serializer.writeEndElement();
1725 }
1726 if ( projectScmRoot.getError() != null )
1727 {
1728 serializer.writeStartElement( "error" );
1729 serializer.writeCharacters( projectScmRoot.getError() );
1730 serializer.writeEndElement();
1731 }
1732 if ( projectScmRoot.getProjectGroup() != null )
1733 {
1734 serializer.writeStartElement( "projectGroup" );
1735 serializer.writeAttribute( "id", String.valueOf( projectScmRoot.getProjectGroup().getId() ) );
1736 serializer.writeEndElement();
1737 }
1738 serializer.writeEndElement();
1739 }
1740 }
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751 private void writeRepositoryPurgeConfiguration( RepositoryPurgeConfiguration repositoryPurgeConfiguration, String tagName, XMLStreamWriter serializer )
1752 throws java.io.IOException, XMLStreamException
1753 {
1754 if ( repositoryPurgeConfiguration != null )
1755 {
1756 serializer.writeStartElement( tagName );
1757 if ( repositoryPurgeConfiguration.getRepository() != null )
1758 {
1759 serializer.writeStartElement( "repository" );
1760 serializer.writeAttribute( "id", String.valueOf( repositoryPurgeConfiguration.getRepository().getId() ) );
1761 serializer.writeEndElement();
1762 }
1763 if ( repositoryPurgeConfiguration.isDeleteReleasedSnapshots() != false )
1764 {
1765 serializer.writeStartElement( "deleteReleasedSnapshots" );
1766 serializer.writeCharacters( String.valueOf( repositoryPurgeConfiguration.isDeleteReleasedSnapshots() ) );
1767 serializer.writeEndElement();
1768 }
1769 if ( repositoryPurgeConfiguration.getId() != 0 )
1770 {
1771 serializer.writeStartElement( "id" );
1772 serializer.writeCharacters( String.valueOf( repositoryPurgeConfiguration.getId() ) );
1773 serializer.writeEndElement();
1774 }
1775 if ( repositoryPurgeConfiguration.getDescription() != null )
1776 {
1777 serializer.writeStartElement( "description" );
1778 serializer.writeCharacters( repositoryPurgeConfiguration.getDescription() );
1779 serializer.writeEndElement();
1780 }
1781 if ( repositoryPurgeConfiguration.isDeleteAll() != false )
1782 {
1783 serializer.writeStartElement( "deleteAll" );
1784 serializer.writeCharacters( String.valueOf( repositoryPurgeConfiguration.isDeleteAll() ) );
1785 serializer.writeEndElement();
1786 }
1787 if ( repositoryPurgeConfiguration.getRetentionCount() != 2 )
1788 {
1789 serializer.writeStartElement( "retentionCount" );
1790 serializer.writeCharacters( String.valueOf( repositoryPurgeConfiguration.getRetentionCount() ) );
1791 serializer.writeEndElement();
1792 }
1793 if ( repositoryPurgeConfiguration.getDaysOlder() != 100 )
1794 {
1795 serializer.writeStartElement( "daysOlder" );
1796 serializer.writeCharacters( String.valueOf( repositoryPurgeConfiguration.getDaysOlder() ) );
1797 serializer.writeEndElement();
1798 }
1799 if ( repositoryPurgeConfiguration.isEnabled() != true )
1800 {
1801 serializer.writeStartElement( "enabled" );
1802 serializer.writeCharacters( String.valueOf( repositoryPurgeConfiguration.isEnabled() ) );
1803 serializer.writeEndElement();
1804 }
1805 if ( repositoryPurgeConfiguration.getSchedule() != null )
1806 {
1807 serializer.writeStartElement( "schedule" );
1808 serializer.writeAttribute( "id", String.valueOf( repositoryPurgeConfiguration.getSchedule().getId() ) );
1809 serializer.writeEndElement();
1810 }
1811 if ( repositoryPurgeConfiguration.isDefaultPurge() != false )
1812 {
1813 serializer.writeStartElement( "defaultPurge" );
1814 serializer.writeCharacters( String.valueOf( repositoryPurgeConfiguration.isDefaultPurge() ) );
1815 serializer.writeEndElement();
1816 }
1817 serializer.writeEndElement();
1818 }
1819 }
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830 private void writeSchedule( Schedule schedule, String tagName, XMLStreamWriter serializer )
1831 throws java.io.IOException, XMLStreamException
1832 {
1833 if ( schedule != null )
1834 {
1835 serializer.writeStartElement( tagName );
1836 if ( schedule.getId() != 0 )
1837 {
1838 serializer.writeStartElement( "id" );
1839 serializer.writeCharacters( String.valueOf( schedule.getId() ) );
1840 serializer.writeEndElement();
1841 }
1842 if ( schedule.isActive() != false )
1843 {
1844 serializer.writeStartElement( "active" );
1845 serializer.writeCharacters( String.valueOf( schedule.isActive() ) );
1846 serializer.writeEndElement();
1847 }
1848 if ( schedule.getName() != null )
1849 {
1850 serializer.writeStartElement( "name" );
1851 serializer.writeCharacters( schedule.getName() );
1852 serializer.writeEndElement();
1853 }
1854 if ( schedule.getDescription() != null )
1855 {
1856 serializer.writeStartElement( "description" );
1857 serializer.writeCharacters( schedule.getDescription() );
1858 serializer.writeEndElement();
1859 }
1860 if ( schedule.getDelay() != 0 )
1861 {
1862 serializer.writeStartElement( "delay" );
1863 serializer.writeCharacters( String.valueOf( schedule.getDelay() ) );
1864 serializer.writeEndElement();
1865 }
1866 if ( schedule.getMaxJobExecutionTime() != 3600 )
1867 {
1868 serializer.writeStartElement( "maxJobExecutionTime" );
1869 serializer.writeCharacters( String.valueOf( schedule.getMaxJobExecutionTime() ) );
1870 serializer.writeEndElement();
1871 }
1872 if ( schedule.getCronExpression() != null )
1873 {
1874 serializer.writeStartElement( "cronExpression" );
1875 serializer.writeCharacters( schedule.getCronExpression() );
1876 serializer.writeEndElement();
1877 }
1878 if ( ( schedule.getBuildQueues() != null ) && ( schedule.getBuildQueues().size() > 0 ) )
1879 {
1880 serializer.writeStartElement( "buildQueues" );
1881 for ( Iterator iter = schedule.getBuildQueues().iterator(); iter.hasNext(); )
1882 {
1883 BuildQueue o = (BuildQueue) iter.next();
1884 serializer.writeStartElement( "buildQueue" );
1885 serializer.writeAttribute( "id", String.valueOf( o.getId() ) );
1886 serializer.writeEndElement();
1887 }
1888 serializer.writeEndElement();
1889 }
1890 serializer.writeEndElement();
1891 }
1892 }
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903 private void writeScmResult( ScmResult scmResult, String tagName, XMLStreamWriter serializer )
1904 throws java.io.IOException, XMLStreamException
1905 {
1906 if ( scmResult != null )
1907 {
1908 serializer.writeStartElement( tagName );
1909 if ( scmResult.isSuccess() != false )
1910 {
1911 serializer.writeStartElement( "success" );
1912 serializer.writeCharacters( String.valueOf( scmResult.isSuccess() ) );
1913 serializer.writeEndElement();
1914 }
1915 if ( scmResult.getCommandLine() != null )
1916 {
1917 serializer.writeStartElement( "commandLine" );
1918 serializer.writeCharacters( scmResult.getCommandLine() );
1919 serializer.writeEndElement();
1920 }
1921 if ( scmResult.getProviderMessage() != null )
1922 {
1923 serializer.writeStartElement( "providerMessage" );
1924 serializer.writeCharacters( scmResult.getProviderMessage() );
1925 serializer.writeEndElement();
1926 }
1927 if ( scmResult.getCommandOutput() != null )
1928 {
1929 serializer.writeStartElement( "commandOutput" );
1930 serializer.writeCharacters( scmResult.getCommandOutput() );
1931 serializer.writeEndElement();
1932 }
1933 if ( scmResult.getException() != null )
1934 {
1935 serializer.writeStartElement( "exception" );
1936 serializer.writeCharacters( scmResult.getException() );
1937 serializer.writeEndElement();
1938 }
1939 if ( ( scmResult.getChanges() != null ) && ( scmResult.getChanges().size() > 0 ) )
1940 {
1941 serializer.writeStartElement( "changes" );
1942 for ( Iterator iter = scmResult.getChanges().iterator(); iter.hasNext(); )
1943 {
1944 ChangeSet o = (ChangeSet) iter.next();
1945 writeChangeSet( o, "change", serializer );
1946 }
1947 serializer.writeEndElement();
1948 }
1949 serializer.writeEndElement();
1950 }
1951 }
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962 private void writeSystemConfiguration( SystemConfiguration systemConfiguration, String tagName, XMLStreamWriter serializer )
1963 throws java.io.IOException, XMLStreamException
1964 {
1965 if ( systemConfiguration != null )
1966 {
1967 serializer.writeStartElement( tagName );
1968 if ( systemConfiguration.isGuestAccountEnabled() != true )
1969 {
1970 serializer.writeStartElement( "guestAccountEnabled" );
1971 serializer.writeCharacters( String.valueOf( systemConfiguration.isGuestAccountEnabled() ) );
1972 serializer.writeEndElement();
1973 }
1974 if ( ( systemConfiguration.getDefaultScheduleDescription() != null ) && !systemConfiguration.getDefaultScheduleDescription().equals( "Run hourly" ) )
1975 {
1976 serializer.writeStartElement( "defaultScheduleDescription" );
1977 serializer.writeCharacters( systemConfiguration.getDefaultScheduleDescription() );
1978 serializer.writeEndElement();
1979 }
1980 if ( ( systemConfiguration.getDefaultScheduleCronExpression() != null ) && !systemConfiguration.getDefaultScheduleCronExpression().equals( "0 0 * * * ?" ) )
1981 {
1982 serializer.writeStartElement( "defaultScheduleCronExpression" );
1983 serializer.writeCharacters( systemConfiguration.getDefaultScheduleCronExpression() );
1984 serializer.writeEndElement();
1985 }
1986 if ( ( systemConfiguration.getWorkingDirectory() != null ) && !systemConfiguration.getWorkingDirectory().equals( "working-directory" ) )
1987 {
1988 serializer.writeStartElement( "workingDirectory" );
1989 serializer.writeCharacters( systemConfiguration.getWorkingDirectory() );
1990 serializer.writeEndElement();
1991 }
1992 if ( ( systemConfiguration.getBuildOutputDirectory() != null ) && !systemConfiguration.getBuildOutputDirectory().equals( "build-output-directory" ) )
1993 {
1994 serializer.writeStartElement( "buildOutputDirectory" );
1995 serializer.writeCharacters( systemConfiguration.getBuildOutputDirectory() );
1996 serializer.writeEndElement();
1997 }
1998 if ( systemConfiguration.getDeploymentRepositoryDirectory() != null )
1999 {
2000 serializer.writeStartElement( "deploymentRepositoryDirectory" );
2001 serializer.writeCharacters( systemConfiguration.getDeploymentRepositoryDirectory() );
2002 serializer.writeEndElement();
2003 }
2004 if ( systemConfiguration.getBaseUrl() != null )
2005 {
2006 serializer.writeStartElement( "baseUrl" );
2007 serializer.writeCharacters( systemConfiguration.getBaseUrl() );
2008 serializer.writeEndElement();
2009 }
2010 if ( systemConfiguration.isInitialized() != false )
2011 {
2012 serializer.writeStartElement( "initialized" );
2013 serializer.writeCharacters( String.valueOf( systemConfiguration.isInitialized() ) );
2014 serializer.writeEndElement();
2015 }
2016 if ( ( systemConfiguration.getReleaseOutputDirectory() != null ) && !systemConfiguration.getReleaseOutputDirectory().equals( "release-output-directory" ) )
2017 {
2018 serializer.writeStartElement( "releaseOutputDirectory" );
2019 serializer.writeCharacters( systemConfiguration.getReleaseOutputDirectory() );
2020 serializer.writeEndElement();
2021 }
2022 if ( systemConfiguration.getNumberOfBuildsInParallel() != 1 )
2023 {
2024 serializer.writeStartElement( "numberOfBuildsInParallel" );
2025 serializer.writeCharacters( String.valueOf( systemConfiguration.getNumberOfBuildsInParallel() ) );
2026 serializer.writeEndElement();
2027 }
2028 if ( systemConfiguration.isDistributedBuildEnabled() != false )
2029 {
2030 serializer.writeStartElement( "distributedBuildEnabled" );
2031 serializer.writeCharacters( String.valueOf( systemConfiguration.isDistributedBuildEnabled() ) );
2032 serializer.writeEndElement();
2033 }
2034 serializer.writeEndElement();
2035 }
2036 }
2037
2038 }