View Javadoc

1   /*
2    =================== DO NOT EDIT THIS FILE ====================
3    Generated by Modello 1.0.1 on 2009-09-09 03:30:24,
4    any modifications will be overwritten.
5    ==============================================================
6    */
7   
8   package org.apache.maven.plugin.lifecycle.io.xpp3;
9   
10    //---------------------------------/
11   //- Imported classes and packages -/
12  //---------------------------------/
13  
14  import java.io.Writer;
15  import java.text.DateFormat;
16  import java.util.Iterator;
17  import java.util.Locale;
18  import org.apache.maven.plugin.lifecycle.Execution;
19  import org.apache.maven.plugin.lifecycle.Lifecycle;
20  import org.apache.maven.plugin.lifecycle.LifecycleConfiguration;
21  import org.apache.maven.plugin.lifecycle.Phase;
22  import org.codehaus.plexus.util.xml.Xpp3Dom;
23  import org.codehaus.plexus.util.xml.pull.MXSerializer;
24  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
25  
26  /**
27   * Class LifecycleMappingsXpp3Writer.
28   * 
29   * @version $Revision$ $Date$
30   */
31  public class LifecycleMappingsXpp3Writer
32  {
33  
34        //--------------------------/
35       //- Class/Member Variables -/
36      //--------------------------/
37  
38      /**
39       * Field NAMESPACE.
40       */
41      private static final String NAMESPACE = null;
42  
43  
44        //-----------/
45       //- Methods -/
46      //-----------/
47  
48      /**
49       * Method write.
50       * 
51       * @param writer
52       * @param lifecycleConfiguration
53       * @throws java.io.IOException
54       */
55      public void write( Writer writer, LifecycleConfiguration lifecycleConfiguration )
56          throws java.io.IOException
57      {
58          XmlSerializer serializer = new MXSerializer();
59          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
60          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
61          serializer.setOutput( writer );
62          serializer.startDocument( lifecycleConfiguration.getModelEncoding(), null );
63          writeLifecycleConfiguration( lifecycleConfiguration, "lifecycles", serializer );
64          serializer.endDocument();
65      } //-- void write( Writer, LifecycleConfiguration )
66  
67      /**
68       * Method writeExecution.
69       * 
70       * @param execution
71       * @param serializer
72       * @param tagName
73       * @throws java.io.IOException
74       */
75      private void writeExecution( Execution execution, String tagName, XmlSerializer serializer )
76          throws java.io.IOException
77      {
78          if ( execution != null )
79          {
80              serializer.startTag( NAMESPACE, tagName );
81              if ( execution.getConfiguration() != null )
82              {
83                  ((Xpp3Dom) execution.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
84              }
85              if ( ( execution.getGoals() != null ) && ( execution.getGoals().size() > 0 ) )
86              {
87                  serializer.startTag( NAMESPACE, "goals" );
88                  for ( Iterator iter = execution.getGoals().iterator(); iter.hasNext(); )
89                  {
90                      String goal = (String) iter.next();
91                      serializer.startTag( NAMESPACE, "goal" ).text( goal ).endTag( NAMESPACE, "goal" );
92                  }
93                  serializer.endTag( NAMESPACE, "goals" );
94              }
95              serializer.endTag( NAMESPACE, tagName );
96          }
97      } //-- void writeExecution( Execution, String, XmlSerializer )
98  
99      /**
100      * Method writeLifecycle.
101      * 
102      * @param lifecycle
103      * @param serializer
104      * @param tagName
105      * @throws java.io.IOException
106      */
107     private void writeLifecycle( Lifecycle lifecycle, String tagName, XmlSerializer serializer )
108         throws java.io.IOException
109     {
110         if ( lifecycle != null )
111         {
112             serializer.startTag( NAMESPACE, tagName );
113             if ( lifecycle.getId() != null )
114             {
115                 serializer.startTag( NAMESPACE, "id" ).text( lifecycle.getId() ).endTag( NAMESPACE, "id" );
116             }
117             if ( ( lifecycle.getPhases() != null ) && ( lifecycle.getPhases().size() > 0 ) )
118             {
119                 serializer.startTag( NAMESPACE, "phases" );
120                 for ( Iterator iter = lifecycle.getPhases().iterator(); iter.hasNext(); )
121                 {
122                     Phase o = (Phase) iter.next();
123                     writePhase( o, "phase", serializer );
124                 }
125                 serializer.endTag( NAMESPACE, "phases" );
126             }
127             serializer.endTag( NAMESPACE, tagName );
128         }
129     } //-- void writeLifecycle( Lifecycle, String, XmlSerializer )
130 
131     /**
132      * Method writeLifecycleConfiguration.
133      * 
134      * @param lifecycleConfiguration
135      * @param serializer
136      * @param tagName
137      * @throws java.io.IOException
138      */
139     private void writeLifecycleConfiguration( LifecycleConfiguration lifecycleConfiguration, String tagName, XmlSerializer serializer )
140         throws java.io.IOException
141     {
142         if ( lifecycleConfiguration != null )
143         {
144             serializer.setPrefix( "", "http://maven.apache.org/LIFECYCLE/1.0.0" );
145             serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
146             serializer.startTag( NAMESPACE, tagName );
147             serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/LIFECYCLE/1.0.0 http://maven.apache.org/xsd/lifecycle-1.0.0.xsd" );
148             if ( ( lifecycleConfiguration.getLifecycles() != null ) && ( lifecycleConfiguration.getLifecycles().size() > 0 ) )
149             {
150                 for ( Iterator iter = lifecycleConfiguration.getLifecycles().iterator(); iter.hasNext(); )
151                 {
152                     Lifecycle o = (Lifecycle) iter.next();
153                     writeLifecycle( o, "lifecycle", serializer );
154                 }
155             }
156             serializer.endTag( NAMESPACE, tagName );
157         }
158     } //-- void writeLifecycleConfiguration( LifecycleConfiguration, String, XmlSerializer )
159 
160     /**
161      * Method writePhase.
162      * 
163      * @param phase
164      * @param serializer
165      * @param tagName
166      * @throws java.io.IOException
167      */
168     private void writePhase( Phase phase, String tagName, XmlSerializer serializer )
169         throws java.io.IOException
170     {
171         if ( phase != null )
172         {
173             serializer.startTag( NAMESPACE, tagName );
174             if ( phase.getId() != null )
175             {
176                 serializer.startTag( NAMESPACE, "id" ).text( phase.getId() ).endTag( NAMESPACE, "id" );
177             }
178             if ( ( phase.getExecutions() != null ) && ( phase.getExecutions().size() > 0 ) )
179             {
180                 serializer.startTag( NAMESPACE, "executions" );
181                 for ( Iterator iter = phase.getExecutions().iterator(); iter.hasNext(); )
182                 {
183                     Execution o = (Execution) iter.next();
184                     writeExecution( o, "execution", serializer );
185                 }
186                 serializer.endTag( NAMESPACE, "executions" );
187             }
188             if ( phase.getConfiguration() != null )
189             {
190                 ((Xpp3Dom) phase.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
191             }
192             serializer.endTag( NAMESPACE, tagName );
193         }
194     } //-- void writePhase( Phase, String, XmlSerializer )
195 
196 
197 }