View Javadoc

1   /*
2    =================== DO NOT EDIT THIS FILE ====================
3    Generated by Modello
4    any modifications will be overwritten.
5    ==============================================================
6    */
7   
8   package org.apache.maven.continuum.model.project.v1_0_9.io.stax;
9   
10    //---------------------------------/
11   //- Imported classes and packages -/
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.maven.continuum.model.project.v1_0_9.BuildDefinition;
25  import org.apache.maven.continuum.model.project.v1_0_9.BuildResult;
26  import org.apache.maven.continuum.model.project.v1_0_9.ContinuumDatabase;
27  import org.apache.maven.continuum.model.project.v1_0_9.Project;
28  import org.apache.maven.continuum.model.project.v1_0_9.ProjectDependency;
29  import org.apache.maven.continuum.model.project.v1_0_9.ProjectDeveloper;
30  import org.apache.maven.continuum.model.project.v1_0_9.ProjectGroup;
31  import org.apache.maven.continuum.model.project.v1_0_9.ProjectNotifier;
32  import org.apache.maven.continuum.model.project.v1_0_9.Schedule;
33  import org.apache.maven.continuum.model.scm.v1_0_9.ChangeFile;
34  import org.apache.maven.continuum.model.scm.v1_0_9.ChangeSet;
35  import org.apache.maven.continuum.model.scm.v1_0_9.ScmResult;
36  import org.apache.maven.continuum.model.scm.v1_0_9.SuiteResult;
37  import org.apache.maven.continuum.model.scm.v1_0_9.TestCaseFailure;
38  import org.apache.maven.continuum.model.scm.v1_0_9.TestResult;
39  import org.apache.maven.continuum.model.system.v1_0_9.NotificationAddress;
40  import org.apache.maven.continuum.model.system.v1_0_9.SystemConfiguration;
41  import org.codehaus.plexus.util.xml.Xpp3Dom;
42  
43  /**
44   * Class ContinuumStaxWriter.
45   * 
46   * @version $Revision$ $Date$
47   */
48  @SuppressWarnings( "all" )
49  public class ContinuumStaxWriter
50  {
51  
52        //--------------------------/
53       //- Class/Member Variables -/
54      //--------------------------/
55  
56      /**
57       * Field curId.
58       */
59      private int curId;
60  
61      /**
62       * Field idMap.
63       */
64      private java.util.Map idMap;
65  
66  
67        //----------------/
68       //- Constructors -/
69      //----------------/
70  
71      public ContinuumStaxWriter()
72      {
73          idMap = new java.util.HashMap();
74      } //-- org.apache.maven.continuum.model.project.v1_0_9.io.stax.ContinuumStaxWriter()
75  
76  
77        //-----------/
78       //- Methods -/
79      //-----------/
80  
81      /**
82       * Method write.
83       * 
84       * @param writer
85       * @param continuumDatabase
86       * @throws java.io.IOException
87       * @throws XMLStreamException
88       */
89      public void write( Writer writer, ContinuumDatabase continuumDatabase )
90          throws java.io.IOException, XMLStreamException
91      {
92          XMLOutputFactory factory = XMLOutputFactory.newInstance();
93          boolean supportWindowsLineEndings = false;
94          if ( factory.isPropertySupported( "com.ctc.wstx.outputEscapeCr" ) )
95          {
96              factory.setProperty( "com.ctc.wstx.outputEscapeCr", Boolean.FALSE );
97              supportWindowsLineEndings = true;
98          }
99          if ( factory.isPropertySupported( "org.codehaus.stax2.automaticEmptyElements" ) )
100         {
101             factory.setProperty( "org.codehaus.stax2.automaticEmptyElements", Boolean.FALSE );
102         }
103         IndentingXMLStreamWriter serializer = new IndentingXMLStreamWriter( factory.createXMLStreamWriter( writer ) );
104         if ( supportWindowsLineEndings )
105         {
106             serializer.setNewLine( serializer.getLineSeparator() );
107         }
108         serializer.writeStartDocument( continuumDatabase.getModelEncoding(), "1.0" );
109         writeContinuumDatabase( continuumDatabase, "continuumDatabase", serializer );
110         serializer.writeEndDocument();
111     } //-- void write( Writer, ContinuumDatabase )
112 
113     /**
114      * Method writeBuildDefinition.
115      * 
116      * @param buildDefinition
117      * @param serializer
118      * @param tagName
119      * @throws java.io.IOException
120      * @throws XMLStreamException
121      */
122     private void writeBuildDefinition( BuildDefinition buildDefinition, String tagName, XMLStreamWriter serializer )
123         throws java.io.IOException, XMLStreamException
124     {
125         if ( buildDefinition != null )
126         {
127             serializer.writeStartElement( tagName );
128             if ( buildDefinition.getId() != 0 )
129             {
130                 serializer.writeStartElement( "id" );
131                 serializer.writeCharacters( String.valueOf( buildDefinition.getId() ) );
132                 serializer.writeEndElement();
133             }
134             if ( buildDefinition.isDefaultForProject() != false )
135             {
136                 serializer.writeStartElement( "defaultForProject" );
137                 serializer.writeCharacters( String.valueOf( buildDefinition.isDefaultForProject() ) );
138                 serializer.writeEndElement();
139             }
140             if ( buildDefinition.getGoals() != null )
141             {
142                 serializer.writeStartElement( "goals" );
143                 serializer.writeCharacters( buildDefinition.getGoals() );
144                 serializer.writeEndElement();
145             }
146             if ( buildDefinition.getArguments() != null )
147             {
148                 serializer.writeStartElement( "arguments" );
149                 serializer.writeCharacters( buildDefinition.getArguments() );
150                 serializer.writeEndElement();
151             }
152             if ( buildDefinition.getBuildFile() != null )
153             {
154                 serializer.writeStartElement( "buildFile" );
155                 serializer.writeCharacters( buildDefinition.getBuildFile() );
156                 serializer.writeEndElement();
157             }
158             if ( buildDefinition.getSchedule() != null )
159             {
160                 serializer.writeStartElement( "schedule" );
161                 serializer.writeAttribute( "id", String.valueOf( buildDefinition.getSchedule().getId() ) );
162                 serializer.writeEndElement();
163             }
164             if ( buildDefinition.getLatestBuildId() != 0 )
165             {
166                 serializer.writeStartElement( "latestBuildId" );
167                 serializer.writeCharacters( String.valueOf( buildDefinition.getLatestBuildId() ) );
168                 serializer.writeEndElement();
169             }
170             serializer.writeEndElement();
171         }
172     } //-- void writeBuildDefinition( BuildDefinition, String, XMLStreamWriter )
173 
174     /**
175      * Method writeBuildResult.
176      * 
177      * @param buildResult
178      * @param serializer
179      * @param tagName
180      * @throws java.io.IOException
181      * @throws XMLStreamException
182      */
183     private void writeBuildResult( BuildResult buildResult, String tagName, XMLStreamWriter serializer )
184         throws java.io.IOException, XMLStreamException
185     {
186         if ( buildResult != null )
187         {
188             serializer.writeStartElement( tagName );
189             if ( buildResult.getProject() != null )
190             {
191                 serializer.writeStartElement( "project" );
192                 serializer.writeAttribute( "id", String.valueOf( buildResult.getProject().getId() ) );
193                 serializer.writeEndElement();
194             }
195             if ( buildResult.getId() != 0 )
196             {
197                 serializer.writeStartElement( "id" );
198                 serializer.writeCharacters( String.valueOf( buildResult.getId() ) );
199                 serializer.writeEndElement();
200             }
201             if ( buildResult.getBuildNumber() != 0 )
202             {
203                 serializer.writeStartElement( "buildNumber" );
204                 serializer.writeCharacters( String.valueOf( buildResult.getBuildNumber() ) );
205                 serializer.writeEndElement();
206             }
207             if ( buildResult.getState() != 0 )
208             {
209                 serializer.writeStartElement( "state" );
210                 serializer.writeCharacters( String.valueOf( buildResult.getState() ) );
211                 serializer.writeEndElement();
212             }
213             if ( buildResult.getTrigger() != 0 )
214             {
215                 serializer.writeStartElement( "trigger" );
216                 serializer.writeCharacters( String.valueOf( buildResult.getTrigger() ) );
217                 serializer.writeEndElement();
218             }
219             if ( buildResult.getUsername() != null )
220             {
221                 serializer.writeStartElement( "username" );
222                 serializer.writeCharacters( buildResult.getUsername() );
223                 serializer.writeEndElement();
224             }
225             if ( buildResult.getStartTime() != 0L )
226             {
227                 serializer.writeStartElement( "startTime" );
228                 serializer.writeCharacters( String.valueOf( buildResult.getStartTime() ) );
229                 serializer.writeEndElement();
230             }
231             if ( buildResult.getEndTime() != 0L )
232             {
233                 serializer.writeStartElement( "endTime" );
234                 serializer.writeCharacters( String.valueOf( buildResult.getEndTime() ) );
235                 serializer.writeEndElement();
236             }
237             if ( buildResult.getError() != null )
238             {
239                 serializer.writeStartElement( "error" );
240                 serializer.writeCharacters( buildResult.getError() );
241                 serializer.writeEndElement();
242             }
243             if ( buildResult.isSuccess() != false )
244             {
245                 serializer.writeStartElement( "success" );
246                 serializer.writeCharacters( String.valueOf( buildResult.isSuccess() ) );
247                 serializer.writeEndElement();
248             }
249             if ( buildResult.getExitCode() != 0 )
250             {
251                 serializer.writeStartElement( "exitCode" );
252                 serializer.writeCharacters( String.valueOf( buildResult.getExitCode() ) );
253                 serializer.writeEndElement();
254             }
255             if ( buildResult.getScmResult() != null )
256             {
257                 writeScmResult( (ScmResult) buildResult.getScmResult(), "scmResult", serializer );
258             }
259             if ( buildResult.getTestResult() != null )
260             {
261                 writeTestResult( (TestResult) buildResult.getTestResult(), "testResult", serializer );
262             }
263             serializer.writeEndElement();
264         }
265     } //-- void writeBuildResult( BuildResult, String, XMLStreamWriter )
266 
267     /**
268      * Method writeChangeFile.
269      * 
270      * @param changeFile
271      * @param serializer
272      * @param tagName
273      * @throws java.io.IOException
274      * @throws XMLStreamException
275      */
276     private void writeChangeFile( ChangeFile changeFile, String tagName, XMLStreamWriter serializer )
277         throws java.io.IOException, XMLStreamException
278     {
279         if ( changeFile != null )
280         {
281             serializer.writeStartElement( tagName );
282             if ( changeFile.getName() != null )
283             {
284                 serializer.writeStartElement( "name" );
285                 serializer.writeCharacters( changeFile.getName() );
286                 serializer.writeEndElement();
287             }
288             if ( changeFile.getRevision() != null )
289             {
290                 serializer.writeStartElement( "revision" );
291                 serializer.writeCharacters( changeFile.getRevision() );
292                 serializer.writeEndElement();
293             }
294             if ( changeFile.getStatus() != null )
295             {
296                 serializer.writeStartElement( "status" );
297                 serializer.writeCharacters( changeFile.getStatus() );
298                 serializer.writeEndElement();
299             }
300             serializer.writeEndElement();
301         }
302     } //-- void writeChangeFile( ChangeFile, String, XMLStreamWriter )
303 
304     /**
305      * Method writeChangeSet.
306      * 
307      * @param changeSet
308      * @param serializer
309      * @param tagName
310      * @throws java.io.IOException
311      * @throws XMLStreamException
312      */
313     private void writeChangeSet( ChangeSet changeSet, String tagName, XMLStreamWriter serializer )
314         throws java.io.IOException, XMLStreamException
315     {
316         if ( changeSet != null )
317         {
318             serializer.writeStartElement( tagName );
319             if ( changeSet.getAuthor() != null )
320             {
321                 serializer.writeStartElement( "author" );
322                 serializer.writeCharacters( changeSet.getAuthor() );
323                 serializer.writeEndElement();
324             }
325             if ( changeSet.getComment() != null )
326             {
327                 serializer.writeStartElement( "comment" );
328                 serializer.writeCharacters( changeSet.getComment() );
329                 serializer.writeEndElement();
330             }
331             if ( changeSet.getDate() != 0L )
332             {
333                 serializer.writeStartElement( "date" );
334                 serializer.writeCharacters( String.valueOf( changeSet.getDate() ) );
335                 serializer.writeEndElement();
336             }
337             if ( ( changeSet.getFiles() != null ) && ( changeSet.getFiles().size() > 0 ) )
338             {
339                 serializer.writeStartElement( "files" );
340                 for ( Iterator iter = changeSet.getFiles().iterator(); iter.hasNext(); )
341                 {
342                     ChangeFile o = (ChangeFile) iter.next();
343                     writeChangeFile( o, "file", serializer );
344                 }
345                 serializer.writeEndElement();
346             }
347             serializer.writeEndElement();
348         }
349     } //-- void writeChangeSet( ChangeSet, String, XMLStreamWriter )
350 
351     /**
352      * Method writeContinuumDatabase.
353      * 
354      * @param continuumDatabase
355      * @param serializer
356      * @param tagName
357      * @throws java.io.IOException
358      * @throws XMLStreamException
359      */
360     private void writeContinuumDatabase( ContinuumDatabase continuumDatabase, String tagName, XMLStreamWriter serializer )
361         throws java.io.IOException, XMLStreamException
362     {
363         if ( continuumDatabase != null )
364         {
365             serializer.writeStartElement( tagName );
366             if ( ( continuumDatabase.getProjectGroups() != null ) && ( continuumDatabase.getProjectGroups().size() > 0 ) )
367             {
368                 serializer.writeStartElement( "projectGroups" );
369                 for ( Iterator iter = continuumDatabase.getProjectGroups().iterator(); iter.hasNext(); )
370                 {
371                     ProjectGroup o = (ProjectGroup) iter.next();
372                     writeProjectGroup( o, "projectGroup", serializer );
373                 }
374                 serializer.writeEndElement();
375             }
376             if ( continuumDatabase.getSystemConfiguration() != null )
377             {
378                 writeSystemConfiguration( (SystemConfiguration) continuumDatabase.getSystemConfiguration(), "systemConfiguration", serializer );
379             }
380             if ( ( continuumDatabase.getSchedules() != null ) && ( continuumDatabase.getSchedules().size() > 0 ) )
381             {
382                 serializer.writeStartElement( "schedules" );
383                 for ( Iterator iter = continuumDatabase.getSchedules().iterator(); iter.hasNext(); )
384                 {
385                     Schedule o = (Schedule) iter.next();
386                     writeSchedule( o, "schedule", serializer );
387                 }
388                 serializer.writeEndElement();
389             }
390             serializer.writeEndElement();
391         }
392     } //-- void writeContinuumDatabase( ContinuumDatabase, String, XMLStreamWriter )
393 
394     /**
395      * Method writeDom.
396      * 
397      * @param dom
398      * @param serializer
399      * @throws XMLStreamException
400      */
401     private void writeDom( Xpp3Dom dom, XMLStreamWriter serializer )
402         throws XMLStreamException
403     {
404         serializer.writeStartElement( dom.getName() );
405         String[] attributeNames = dom.getAttributeNames();
406         for ( int i = 0; i < attributeNames.length; i++ )
407         {
408             String attributeName = attributeNames[i];
409             serializer.writeAttribute( attributeName, dom.getAttribute( attributeName ) );
410         }
411         Xpp3Dom[] children = dom.getChildren();
412         for ( int i = 0; i < children.length; i++ )
413         {
414             writeDom( children[i], serializer );
415         }
416         String value = dom.getValue();
417         if ( value != null )
418         {
419             serializer.writeCharacters( value );
420         }
421         serializer.writeEndElement();
422     } //-- void writeDom( Xpp3Dom, XMLStreamWriter )
423 
424     /**
425      * Method writeNotificationAddress.
426      * 
427      * @param notificationAddress
428      * @param serializer
429      * @param tagName
430      * @throws java.io.IOException
431      * @throws XMLStreamException
432      */
433     private void writeNotificationAddress( NotificationAddress notificationAddress, String tagName, XMLStreamWriter serializer )
434         throws java.io.IOException, XMLStreamException
435     {
436         if ( notificationAddress != null )
437         {
438             serializer.writeStartElement( tagName );
439             if ( ( notificationAddress.getType() != null ) && !notificationAddress.getType().equals( "mail" ) )
440             {
441                 serializer.writeStartElement( "type" );
442                 serializer.writeCharacters( notificationAddress.getType() );
443                 serializer.writeEndElement();
444             }
445             if ( notificationAddress.getAddress() != null )
446             {
447                 serializer.writeStartElement( "address" );
448                 serializer.writeCharacters( notificationAddress.getAddress() );
449                 serializer.writeEndElement();
450             }
451             if ( ( notificationAddress.getConfiguration() != null ) && ( notificationAddress.getConfiguration().size() > 0 ) )
452             {
453                 serializer.writeStartElement( "configuration" );
454                 for ( Iterator iter = notificationAddress.getConfiguration().keySet().iterator(); iter.hasNext(); )
455                 {
456                     String key = (String) iter.next();
457                     String value = (String) notificationAddress.getConfiguration().get( key );
458                     serializer.writeStartElement( "" + key + "" );
459                     serializer.writeCharacters( value );
460                     serializer.writeEndElement();
461                 }
462                 serializer.writeEndElement();
463             }
464             serializer.writeEndElement();
465         }
466     } //-- void writeNotificationAddress( NotificationAddress, String, XMLStreamWriter )
467 
468     /**
469      * Method writeProject.
470      * 
471      * @param project
472      * @param serializer
473      * @param tagName
474      * @throws java.io.IOException
475      * @throws XMLStreamException
476      */
477     private void writeProject( Project project, String tagName, XMLStreamWriter serializer )
478         throws java.io.IOException, XMLStreamException
479     {
480         if ( project != null )
481         {
482             serializer.writeStartElement( tagName );
483             if ( project.getId() != 0 )
484             {
485                 serializer.writeStartElement( "id" );
486                 serializer.writeCharacters( String.valueOf( project.getId() ) );
487                 serializer.writeEndElement();
488             }
489             if ( project.getGroupId() != null )
490             {
491                 serializer.writeStartElement( "groupId" );
492                 serializer.writeCharacters( project.getGroupId() );
493                 serializer.writeEndElement();
494             }
495             if ( project.getArtifactId() != null )
496             {
497                 serializer.writeStartElement( "artifactId" );
498                 serializer.writeCharacters( project.getArtifactId() );
499                 serializer.writeEndElement();
500             }
501             if ( project.getExecutorId() != null )
502             {
503                 serializer.writeStartElement( "executorId" );
504                 serializer.writeCharacters( project.getExecutorId() );
505                 serializer.writeEndElement();
506             }
507             if ( project.getName() != null )
508             {
509                 serializer.writeStartElement( "name" );
510                 serializer.writeCharacters( project.getName() );
511                 serializer.writeEndElement();
512             }
513             if ( project.getDescription() != null )
514             {
515                 serializer.writeStartElement( "description" );
516                 serializer.writeCharacters( project.getDescription() );
517                 serializer.writeEndElement();
518             }
519             if ( project.getUrl() != null )
520             {
521                 serializer.writeStartElement( "url" );
522                 serializer.writeCharacters( project.getUrl() );
523                 serializer.writeEndElement();
524             }
525             if ( project.getScmUrl() != null )
526             {
527                 serializer.writeStartElement( "scmUrl" );
528                 serializer.writeCharacters( project.getScmUrl() );
529                 serializer.writeEndElement();
530             }
531             if ( project.getScmTag() != null )
532             {
533                 serializer.writeStartElement( "scmTag" );
534                 serializer.writeCharacters( project.getScmTag() );
535                 serializer.writeEndElement();
536             }
537             if ( project.getScmUsername() != null )
538             {
539                 serializer.writeStartElement( "scmUsername" );
540                 serializer.writeCharacters( project.getScmUsername() );
541                 serializer.writeEndElement();
542             }
543             if ( project.getScmPassword() != null )
544             {
545                 serializer.writeStartElement( "scmPassword" );
546                 serializer.writeCharacters( project.getScmPassword() );
547                 serializer.writeEndElement();
548             }
549             if ( project.getVersion() != null )
550             {
551                 serializer.writeStartElement( "version" );
552                 serializer.writeCharacters( project.getVersion() );
553                 serializer.writeEndElement();
554             }
555             if ( project.getState() != 1 )
556             {
557                 serializer.writeStartElement( "state" );
558                 serializer.writeCharacters( String.valueOf( project.getState() ) );
559                 serializer.writeEndElement();
560             }
561             if ( project.getOldState() != 0 )
562             {
563                 serializer.writeStartElement( "oldState" );
564                 serializer.writeCharacters( String.valueOf( project.getOldState() ) );
565                 serializer.writeEndElement();
566             }
567             if ( project.getLatestBuildId() != 0 )
568             {
569                 serializer.writeStartElement( "latestBuildId" );
570                 serializer.writeCharacters( String.valueOf( project.getLatestBuildId() ) );
571                 serializer.writeEndElement();
572             }
573             if ( project.getBuildNumber() != 0 )
574             {
575                 serializer.writeStartElement( "buildNumber" );
576                 serializer.writeCharacters( String.valueOf( project.getBuildNumber() ) );
577                 serializer.writeEndElement();
578             }
579             if ( project.getWorkingDirectory() != null )
580             {
581                 serializer.writeStartElement( "workingDirectory" );
582                 serializer.writeCharacters( project.getWorkingDirectory() );
583                 serializer.writeEndElement();
584             }
585             if ( ( project.getBuildResults() != null ) && ( project.getBuildResults().size() > 0 ) )
586             {
587                 serializer.writeStartElement( "buildResults" );
588                 for ( Iterator iter = project.getBuildResults().iterator(); iter.hasNext(); )
589                 {
590                     BuildResult o = (BuildResult) iter.next();
591                     writeBuildResult( o, "buildResult", serializer );
592                 }
593                 serializer.writeEndElement();
594             }
595             if ( project.getCheckoutResult() != null )
596             {
597                 writeScmResult( (ScmResult) project.getCheckoutResult(), "checkoutResult", serializer );
598             }
599             if ( ( project.getDevelopers() != null ) && ( project.getDevelopers().size() > 0 ) )
600             {
601                 serializer.writeStartElement( "developers" );
602                 for ( Iterator iter = project.getDevelopers().iterator(); iter.hasNext(); )
603                 {
604                     ProjectDeveloper o = (ProjectDeveloper) iter.next();
605                     writeProjectDeveloper( o, "developer", serializer );
606                 }
607                 serializer.writeEndElement();
608             }
609             if ( project.getParent() != null )
610             {
611                 writeProjectDependency( (ProjectDependency) project.getParent(), "parent", serializer );
612             }
613             if ( ( project.getDependencies() != null ) && ( project.getDependencies().size() > 0 ) )
614             {
615                 serializer.writeStartElement( "dependencies" );
616                 for ( Iterator iter = project.getDependencies().iterator(); iter.hasNext(); )
617                 {
618                     ProjectDependency o = (ProjectDependency) iter.next();
619                     writeProjectDependency( o, "dependency", serializer );
620                 }
621                 serializer.writeEndElement();
622             }
623             if ( project.getProjectGroup() != null )
624             {
625                 serializer.writeStartElement( "projectGroup" );
626                 serializer.writeAttribute( "id", String.valueOf( project.getProjectGroup().getId() ) );
627                 serializer.writeEndElement();
628             }
629             if ( ( project.getNotifiers() != null ) && ( project.getNotifiers().size() > 0 ) )
630             {
631                 serializer.writeStartElement( "notifiers" );
632                 for ( Iterator iter = project.getNotifiers().iterator(); iter.hasNext(); )
633                 {
634                     ProjectNotifier o = (ProjectNotifier) iter.next();
635                     writeProjectNotifier( o, "notifier", serializer );
636                 }
637                 serializer.writeEndElement();
638             }
639             if ( ( project.getBuildDefinitions() != null ) && ( project.getBuildDefinitions().size() > 0 ) )
640             {
641                 serializer.writeStartElement( "buildDefinitions" );
642                 for ( Iterator iter = project.getBuildDefinitions().iterator(); iter.hasNext(); )
643                 {
644                     BuildDefinition o = (BuildDefinition) iter.next();
645                     writeBuildDefinition( o, "buildDefinition", serializer );
646                 }
647                 serializer.writeEndElement();
648             }
649             serializer.writeEndElement();
650         }
651     } //-- void writeProject( Project, String, XMLStreamWriter )
652 
653     /**
654      * Method writeProjectDependency.
655      * 
656      * @param projectDependency
657      * @param serializer
658      * @param tagName
659      * @throws java.io.IOException
660      * @throws XMLStreamException
661      */
662     private void writeProjectDependency( ProjectDependency projectDependency, String tagName, XMLStreamWriter serializer )
663         throws java.io.IOException, XMLStreamException
664     {
665         if ( projectDependency != null )
666         {
667             serializer.writeStartElement( tagName );
668             if ( projectDependency.getGroupId() != null )
669             {
670                 serializer.writeStartElement( "groupId" );
671                 serializer.writeCharacters( projectDependency.getGroupId() );
672                 serializer.writeEndElement();
673             }
674             if ( projectDependency.getArtifactId() != null )
675             {
676                 serializer.writeStartElement( "artifactId" );
677                 serializer.writeCharacters( projectDependency.getArtifactId() );
678                 serializer.writeEndElement();
679             }
680             if ( projectDependency.getVersion() != null )
681             {
682                 serializer.writeStartElement( "version" );
683                 serializer.writeCharacters( projectDependency.getVersion() );
684                 serializer.writeEndElement();
685             }
686             serializer.writeEndElement();
687         }
688     } //-- void writeProjectDependency( ProjectDependency, String, XMLStreamWriter )
689 
690     /**
691      * Method writeProjectDeveloper.
692      * 
693      * @param projectDeveloper
694      * @param serializer
695      * @param tagName
696      * @throws java.io.IOException
697      * @throws XMLStreamException
698      */
699     private void writeProjectDeveloper( ProjectDeveloper projectDeveloper, String tagName, XMLStreamWriter serializer )
700         throws java.io.IOException, XMLStreamException
701     {
702         if ( projectDeveloper != null )
703         {
704             serializer.writeStartElement( tagName );
705             if ( projectDeveloper.getScmId() != null )
706             {
707                 serializer.writeStartElement( "scmId" );
708                 serializer.writeCharacters( projectDeveloper.getScmId() );
709                 serializer.writeEndElement();
710             }
711             if ( projectDeveloper.getName() != null )
712             {
713                 serializer.writeStartElement( "name" );
714                 serializer.writeCharacters( projectDeveloper.getName() );
715                 serializer.writeEndElement();
716             }
717             if ( projectDeveloper.getEmail() != null )
718             {
719                 serializer.writeStartElement( "email" );
720                 serializer.writeCharacters( projectDeveloper.getEmail() );
721                 serializer.writeEndElement();
722             }
723             if ( projectDeveloper.getContinuumId() != 0 )
724             {
725                 serializer.writeStartElement( "continuumId" );
726                 serializer.writeCharacters( String.valueOf( projectDeveloper.getContinuumId() ) );
727                 serializer.writeEndElement();
728             }
729             serializer.writeEndElement();
730         }
731     } //-- void writeProjectDeveloper( ProjectDeveloper, String, XMLStreamWriter )
732 
733     /**
734      * Method writeProjectGroup.
735      * 
736      * @param projectGroup
737      * @param serializer
738      * @param tagName
739      * @throws java.io.IOException
740      * @throws XMLStreamException
741      */
742     private void writeProjectGroup( ProjectGroup projectGroup, String tagName, XMLStreamWriter serializer )
743         throws java.io.IOException, XMLStreamException
744     {
745         if ( projectGroup != null )
746         {
747             serializer.writeStartElement( tagName );
748             if ( projectGroup.getId() != 0 )
749             {
750                 serializer.writeStartElement( "id" );
751                 serializer.writeCharacters( String.valueOf( projectGroup.getId() ) );
752                 serializer.writeEndElement();
753             }
754             if ( projectGroup.getGroupId() != null )
755             {
756                 serializer.writeStartElement( "groupId" );
757                 serializer.writeCharacters( projectGroup.getGroupId() );
758                 serializer.writeEndElement();
759             }
760             if ( projectGroup.getName() != null )
761             {
762                 serializer.writeStartElement( "name" );
763                 serializer.writeCharacters( projectGroup.getName() );
764                 serializer.writeEndElement();
765             }
766             if ( projectGroup.getDescription() != null )
767             {
768                 serializer.writeStartElement( "description" );
769                 serializer.writeCharacters( projectGroup.getDescription() );
770                 serializer.writeEndElement();
771             }
772             if ( ( projectGroup.getProjects() != null ) && ( projectGroup.getProjects().size() > 0 ) )
773             {
774                 serializer.writeStartElement( "projects" );
775                 for ( Iterator iter = projectGroup.getProjects().iterator(); iter.hasNext(); )
776                 {
777                     Project o = (Project) iter.next();
778                     writeProject( o, "project", serializer );
779                 }
780                 serializer.writeEndElement();
781             }
782             if ( ( projectGroup.getNotifiers() != null ) && ( projectGroup.getNotifiers().size() > 0 ) )
783             {
784                 serializer.writeStartElement( "notifiers" );
785                 for ( Iterator iter = projectGroup.getNotifiers().iterator(); iter.hasNext(); )
786                 {
787                     ProjectNotifier o = (ProjectNotifier) iter.next();
788                     writeProjectNotifier( o, "notifier", serializer );
789                 }
790                 serializer.writeEndElement();
791             }
792             if ( ( projectGroup.getBuildDefinitions() != null ) && ( projectGroup.getBuildDefinitions().size() > 0 ) )
793             {
794                 serializer.writeStartElement( "buildDefinitions" );
795                 for ( Iterator iter = projectGroup.getBuildDefinitions().iterator(); iter.hasNext(); )
796                 {
797                     BuildDefinition o = (BuildDefinition) iter.next();
798                     writeBuildDefinition( o, "buildDefinition", serializer );
799                 }
800                 serializer.writeEndElement();
801             }
802             serializer.writeEndElement();
803         }
804     } //-- void writeProjectGroup( ProjectGroup, String, XMLStreamWriter )
805 
806     /**
807      * Method writeProjectNotifier.
808      * 
809      * @param projectNotifier
810      * @param serializer
811      * @param tagName
812      * @throws java.io.IOException
813      * @throws XMLStreamException
814      */
815     private void writeProjectNotifier( ProjectNotifier projectNotifier, String tagName, XMLStreamWriter serializer )
816         throws java.io.IOException, XMLStreamException
817     {
818         if ( projectNotifier != null )
819         {
820             serializer.writeStartElement( tagName );
821             if ( projectNotifier.getId() != 0 )
822             {
823                 serializer.writeStartElement( "id" );
824                 serializer.writeCharacters( String.valueOf( projectNotifier.getId() ) );
825                 serializer.writeEndElement();
826             }
827             if ( ( projectNotifier.getType() != null ) && !projectNotifier.getType().equals( "mail" ) )
828             {
829                 serializer.writeStartElement( "type" );
830                 serializer.writeCharacters( projectNotifier.getType() );
831                 serializer.writeEndElement();
832             }
833             if ( projectNotifier.getFrom() != 0 )
834             {
835                 serializer.writeStartElement( "from" );
836                 serializer.writeCharacters( String.valueOf( projectNotifier.getFrom() ) );
837                 serializer.writeEndElement();
838             }
839             if ( projectNotifier.isEnabled() != true )
840             {
841                 serializer.writeStartElement( "enabled" );
842                 serializer.writeCharacters( String.valueOf( projectNotifier.isEnabled() ) );
843                 serializer.writeEndElement();
844             }
845             if ( projectNotifier.getRecipientType() != 0 )
846             {
847                 serializer.writeStartElement( "recipientType" );
848                 serializer.writeCharacters( String.valueOf( projectNotifier.getRecipientType() ) );
849                 serializer.writeEndElement();
850             }
851             if ( projectNotifier.isSendOnSuccess() != true )
852             {
853                 serializer.writeStartElement( "sendOnSuccess" );
854                 serializer.writeCharacters( String.valueOf( projectNotifier.isSendOnSuccess() ) );
855                 serializer.writeEndElement();
856             }
857             if ( projectNotifier.isSendOnFailure() != true )
858             {
859                 serializer.writeStartElement( "sendOnFailure" );
860                 serializer.writeCharacters( String.valueOf( projectNotifier.isSendOnFailure() ) );
861                 serializer.writeEndElement();
862             }
863             if ( projectNotifier.isSendOnError() != true )
864             {
865                 serializer.writeStartElement( "sendOnError" );
866                 serializer.writeCharacters( String.valueOf( projectNotifier.isSendOnError() ) );
867                 serializer.writeEndElement();
868             }
869             if ( projectNotifier.isSendOnWarning() != true )
870             {
871                 serializer.writeStartElement( "sendOnWarning" );
872                 serializer.writeCharacters( String.valueOf( projectNotifier.isSendOnWarning() ) );
873                 serializer.writeEndElement();
874             }
875             if ( ( projectNotifier.getConfiguration() != null ) && ( projectNotifier.getConfiguration().size() > 0 ) )
876             {
877                 serializer.writeStartElement( "configuration" );
878                 for ( Iterator iter = projectNotifier.getConfiguration().keySet().iterator(); iter.hasNext(); )
879                 {
880                     String key = (String) iter.next();
881                     String value = (String) projectNotifier.getConfiguration().get( key );
882                     serializer.writeStartElement( "" + key + "" );
883                     serializer.writeCharacters( value );
884                     serializer.writeEndElement();
885                 }
886                 serializer.writeEndElement();
887             }
888             serializer.writeEndElement();
889         }
890     } //-- void writeProjectNotifier( ProjectNotifier, String, XMLStreamWriter )
891 
892     /**
893      * Method writeSchedule.
894      * 
895      * @param schedule
896      * @param serializer
897      * @param tagName
898      * @throws java.io.IOException
899      * @throws XMLStreamException
900      */
901     private void writeSchedule( Schedule schedule, String tagName, XMLStreamWriter serializer )
902         throws java.io.IOException, XMLStreamException
903     {
904         if ( schedule != null )
905         {
906             serializer.writeStartElement( tagName );
907             if ( schedule.getId() != 0 )
908             {
909                 serializer.writeStartElement( "id" );
910                 serializer.writeCharacters( String.valueOf( schedule.getId() ) );
911                 serializer.writeEndElement();
912             }
913             if ( schedule.isActive() != false )
914             {
915                 serializer.writeStartElement( "active" );
916                 serializer.writeCharacters( String.valueOf( schedule.isActive() ) );
917                 serializer.writeEndElement();
918             }
919             if ( schedule.getName() != null )
920             {
921                 serializer.writeStartElement( "name" );
922                 serializer.writeCharacters( schedule.getName() );
923                 serializer.writeEndElement();
924             }
925             if ( schedule.getDescription() != null )
926             {
927                 serializer.writeStartElement( "description" );
928                 serializer.writeCharacters( schedule.getDescription() );
929                 serializer.writeEndElement();
930             }
931             if ( schedule.getDelay() != 0 )
932             {
933                 serializer.writeStartElement( "delay" );
934                 serializer.writeCharacters( String.valueOf( schedule.getDelay() ) );
935                 serializer.writeEndElement();
936             }
937             if ( schedule.getMaxJobExecutionTime() != 3600 )
938             {
939                 serializer.writeStartElement( "maxJobExecutionTime" );
940                 serializer.writeCharacters( String.valueOf( schedule.getMaxJobExecutionTime() ) );
941                 serializer.writeEndElement();
942             }
943             if ( schedule.getCronExpression() != null )
944             {
945                 serializer.writeStartElement( "cronExpression" );
946                 serializer.writeCharacters( schedule.getCronExpression() );
947                 serializer.writeEndElement();
948             }
949             serializer.writeEndElement();
950         }
951     } //-- void writeSchedule( Schedule, String, XMLStreamWriter )
952 
953     /**
954      * Method writeScmResult.
955      * 
956      * @param scmResult
957      * @param serializer
958      * @param tagName
959      * @throws java.io.IOException
960      * @throws XMLStreamException
961      */
962     private void writeScmResult( ScmResult scmResult, String tagName, XMLStreamWriter serializer )
963         throws java.io.IOException, XMLStreamException
964     {
965         if ( scmResult != null )
966         {
967             serializer.writeStartElement( tagName );
968             if ( scmResult.isSuccess() != false )
969             {
970                 serializer.writeStartElement( "success" );
971                 serializer.writeCharacters( String.valueOf( scmResult.isSuccess() ) );
972                 serializer.writeEndElement();
973             }
974             if ( scmResult.getCommandLine() != null )
975             {
976                 serializer.writeStartElement( "commandLine" );
977                 serializer.writeCharacters( scmResult.getCommandLine() );
978                 serializer.writeEndElement();
979             }
980             if ( scmResult.getProviderMessage() != null )
981             {
982                 serializer.writeStartElement( "providerMessage" );
983                 serializer.writeCharacters( scmResult.getProviderMessage() );
984                 serializer.writeEndElement();
985             }
986             if ( scmResult.getCommandOutput() != null )
987             {
988                 serializer.writeStartElement( "commandOutput" );
989                 serializer.writeCharacters( scmResult.getCommandOutput() );
990                 serializer.writeEndElement();
991             }
992             if ( scmResult.getException() != null )
993             {
994                 serializer.writeStartElement( "exception" );
995                 serializer.writeCharacters( scmResult.getException() );
996                 serializer.writeEndElement();
997             }
998             if ( ( scmResult.getChanges() != null ) && ( scmResult.getChanges().size() > 0 ) )
999             {
1000                 serializer.writeStartElement( "changes" );
1001                 for ( Iterator iter = scmResult.getChanges().iterator(); iter.hasNext(); )
1002                 {
1003                     ChangeSet o = (ChangeSet) iter.next();
1004                     writeChangeSet( o, "change", serializer );
1005                 }
1006                 serializer.writeEndElement();
1007             }
1008             serializer.writeEndElement();
1009         }
1010     } //-- void writeScmResult( ScmResult, String, XMLStreamWriter )
1011 
1012     /**
1013      * Method writeSuiteResult.
1014      * 
1015      * @param suiteResult
1016      * @param serializer
1017      * @param tagName
1018      * @throws java.io.IOException
1019      * @throws XMLStreamException
1020      */
1021     private void writeSuiteResult( SuiteResult suiteResult, String tagName, XMLStreamWriter serializer )
1022         throws java.io.IOException, XMLStreamException
1023     {
1024         if ( suiteResult != null )
1025         {
1026             serializer.writeStartElement( tagName );
1027             if ( suiteResult.getName() != null )
1028             {
1029                 serializer.writeStartElement( "name" );
1030                 serializer.writeCharacters( suiteResult.getName() );
1031                 serializer.writeEndElement();
1032             }
1033             if ( suiteResult.getTestCount() != 0 )
1034             {
1035                 serializer.writeStartElement( "testCount" );
1036                 serializer.writeCharacters( String.valueOf( suiteResult.getTestCount() ) );
1037                 serializer.writeEndElement();
1038             }
1039             if ( suiteResult.getFailureCount() != 0 )
1040             {
1041                 serializer.writeStartElement( "failureCount" );
1042                 serializer.writeCharacters( String.valueOf( suiteResult.getFailureCount() ) );
1043                 serializer.writeEndElement();
1044             }
1045             if ( suiteResult.getTotalTime() != 0L )
1046             {
1047                 serializer.writeStartElement( "totalTime" );
1048                 serializer.writeCharacters( String.valueOf( suiteResult.getTotalTime() ) );
1049                 serializer.writeEndElement();
1050             }
1051             if ( ( suiteResult.getFailures() != null ) && ( suiteResult.getFailures().size() > 0 ) )
1052             {
1053                 serializer.writeStartElement( "failures" );
1054                 for ( Iterator iter = suiteResult.getFailures().iterator(); iter.hasNext(); )
1055                 {
1056                     TestCaseFailure o = (TestCaseFailure) iter.next();
1057                     writeTestCaseFailure( o, "failure", serializer );
1058                 }
1059                 serializer.writeEndElement();
1060             }
1061             serializer.writeEndElement();
1062         }
1063     } //-- void writeSuiteResult( SuiteResult, String, XMLStreamWriter )
1064 
1065     /**
1066      * Method writeSystemConfiguration.
1067      * 
1068      * @param systemConfiguration
1069      * @param serializer
1070      * @param tagName
1071      * @throws java.io.IOException
1072      * @throws XMLStreamException
1073      */
1074     private void writeSystemConfiguration( SystemConfiguration systemConfiguration, String tagName, XMLStreamWriter serializer )
1075         throws java.io.IOException, XMLStreamException
1076     {
1077         if ( systemConfiguration != null )
1078         {
1079             serializer.writeStartElement( tagName );
1080             if ( systemConfiguration.isGuestAccountEnabled() != true )
1081             {
1082                 serializer.writeStartElement( "guestAccountEnabled" );
1083                 serializer.writeCharacters( String.valueOf( systemConfiguration.isGuestAccountEnabled() ) );
1084                 serializer.writeEndElement();
1085             }
1086             if ( ( systemConfiguration.getDefaultScheduleDescription() != null ) && !systemConfiguration.getDefaultScheduleDescription().equals( "Run hourly" ) )
1087             {
1088                 serializer.writeStartElement( "defaultScheduleDescription" );
1089                 serializer.writeCharacters( systemConfiguration.getDefaultScheduleDescription() );
1090                 serializer.writeEndElement();
1091             }
1092             if ( ( systemConfiguration.getDefaultScheduleCronExpression() != null ) && !systemConfiguration.getDefaultScheduleCronExpression().equals( "0 0 * * * ?" ) )
1093             {
1094                 serializer.writeStartElement( "defaultScheduleCronExpression" );
1095                 serializer.writeCharacters( systemConfiguration.getDefaultScheduleCronExpression() );
1096                 serializer.writeEndElement();
1097             }
1098             if ( ( systemConfiguration.getWorkingDirectory() != null ) && !systemConfiguration.getWorkingDirectory().equals( "working-directory" ) )
1099             {
1100                 serializer.writeStartElement( "workingDirectory" );
1101                 serializer.writeCharacters( systemConfiguration.getWorkingDirectory() );
1102                 serializer.writeEndElement();
1103             }
1104             if ( ( systemConfiguration.getBuildOutputDirectory() != null ) && !systemConfiguration.getBuildOutputDirectory().equals( "build-output-directory" ) )
1105             {
1106                 serializer.writeStartElement( "buildOutputDirectory" );
1107                 serializer.writeCharacters( systemConfiguration.getBuildOutputDirectory() );
1108                 serializer.writeEndElement();
1109             }
1110             if ( systemConfiguration.getDeploymentRepositoryDirectory() != null )
1111             {
1112                 serializer.writeStartElement( "deploymentRepositoryDirectory" );
1113                 serializer.writeCharacters( systemConfiguration.getDeploymentRepositoryDirectory() );
1114                 serializer.writeEndElement();
1115             }
1116             if ( systemConfiguration.getBaseUrl() != null )
1117             {
1118                 serializer.writeStartElement( "baseUrl" );
1119                 serializer.writeCharacters( systemConfiguration.getBaseUrl() );
1120                 serializer.writeEndElement();
1121             }
1122             if ( systemConfiguration.isInitialized() != false )
1123             {
1124                 serializer.writeStartElement( "initialized" );
1125                 serializer.writeCharacters( String.valueOf( systemConfiguration.isInitialized() ) );
1126                 serializer.writeEndElement();
1127             }
1128             serializer.writeEndElement();
1129         }
1130     } //-- void writeSystemConfiguration( SystemConfiguration, String, XMLStreamWriter )
1131 
1132     /**
1133      * Method writeTestCaseFailure.
1134      * 
1135      * @param testCaseFailure
1136      * @param serializer
1137      * @param tagName
1138      * @throws java.io.IOException
1139      * @throws XMLStreamException
1140      */
1141     private void writeTestCaseFailure( TestCaseFailure testCaseFailure, String tagName, XMLStreamWriter serializer )
1142         throws java.io.IOException, XMLStreamException
1143     {
1144         if ( testCaseFailure != null )
1145         {
1146             serializer.writeStartElement( tagName );
1147             if ( testCaseFailure.getName() != null )
1148             {
1149                 serializer.writeStartElement( "name" );
1150                 serializer.writeCharacters( testCaseFailure.getName() );
1151                 serializer.writeEndElement();
1152             }
1153             if ( testCaseFailure.getException() != null )
1154             {
1155                 serializer.writeStartElement( "exception" );
1156                 serializer.writeCharacters( testCaseFailure.getException() );
1157                 serializer.writeEndElement();
1158             }
1159             serializer.writeEndElement();
1160         }
1161     } //-- void writeTestCaseFailure( TestCaseFailure, String, XMLStreamWriter )
1162 
1163     /**
1164      * Method writeTestResult.
1165      * 
1166      * @param testResult
1167      * @param serializer
1168      * @param tagName
1169      * @throws java.io.IOException
1170      * @throws XMLStreamException
1171      */
1172     private void writeTestResult( TestResult testResult, String tagName, XMLStreamWriter serializer )
1173         throws java.io.IOException, XMLStreamException
1174     {
1175         if ( testResult != null )
1176         {
1177             serializer.writeStartElement( tagName );
1178             if ( testResult.getTestCount() != 0 )
1179             {
1180                 serializer.writeStartElement( "testCount" );
1181                 serializer.writeCharacters( String.valueOf( testResult.getTestCount() ) );
1182                 serializer.writeEndElement();
1183             }
1184             if ( testResult.getFailureCount() != 0 )
1185             {
1186                 serializer.writeStartElement( "failureCount" );
1187                 serializer.writeCharacters( String.valueOf( testResult.getFailureCount() ) );
1188                 serializer.writeEndElement();
1189             }
1190             if ( testResult.getTotalTime() != 0L )
1191             {
1192                 serializer.writeStartElement( "totalTime" );
1193                 serializer.writeCharacters( String.valueOf( testResult.getTotalTime() ) );
1194                 serializer.writeEndElement();
1195             }
1196             if ( ( testResult.getSuiteResults() != null ) && ( testResult.getSuiteResults().size() > 0 ) )
1197             {
1198                 serializer.writeStartElement( "suiteResults" );
1199                 for ( Iterator iter = testResult.getSuiteResults().iterator(); iter.hasNext(); )
1200                 {
1201                     SuiteResult o = (SuiteResult) iter.next();
1202                     writeSuiteResult( o, "suiteResult", serializer );
1203                 }
1204                 serializer.writeEndElement();
1205             }
1206             serializer.writeEndElement();
1207         }
1208     } //-- void writeTestResult( TestResult, String, XMLStreamWriter )
1209 
1210 }