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