Coverage Report - org.apache.maven.plugin.tools.model.io.xpp3.PluginMetadataXpp3Writer
 
Classes in this File Line Coverage Branch Coverage Complexity
PluginMetadataXpp3Writer
0% 
0% 
7.5
 
 1  
 /*
 2  
  * $Id$
 3  
  */
 4  
 
 5  
 package org.apache.maven.plugin.tools.model.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.tools.model.Component;
 16  
 import org.apache.maven.plugin.tools.model.LifecycleExecution;
 17  
 import org.apache.maven.plugin.tools.model.Mojo;
 18  
 import org.apache.maven.plugin.tools.model.Parameter;
 19  
 import org.apache.maven.plugin.tools.model.PluginMetadata;
 20  
 import org.codehaus.plexus.util.xml.pull.MXSerializer;
 21  
 import org.codehaus.plexus.util.xml.pull.XmlSerializer;
 22  
 
 23  
 /**
 24  
  * Class PluginMetadataXpp3Writer.
 25  
  * 
 26  
  * @version $Revision$ $Date$
 27  
  */
 28  0
 public class PluginMetadataXpp3Writer {
 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 pluginMetadata
 50  
      */
 51  
     public void write(Writer writer, PluginMetadata pluginMetadata)
 52  
         throws java.io.IOException
 53  
     {
 54  0
         XmlSerializer serializer = new MXSerializer();
 55  0
         serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
 56  0
         serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
 57  0
         serializer.setOutput( writer );
 58  0
         serializer.startDocument( pluginMetadata.getModelEncoding(), null );
 59  0
         writePluginMetadata( pluginMetadata, "pluginMetadata", serializer );
 60  0
         serializer.endDocument();
 61  0
     } //-- void write(Writer, PluginMetadata) 
 62  
 
 63  
     /**
 64  
      * Method writeComponent
 65  
      * 
 66  
      * @param component
 67  
      * @param serializer
 68  
      * @param tagName
 69  
      */
 70  
     private void writeComponent(Component component, String tagName, XmlSerializer serializer)
 71  
         throws java.io.IOException
 72  
     {
 73  0
         if ( component != null )
 74  
         {
 75  0
             serializer.startTag( NAMESPACE, tagName );
 76  0
             if ( component.getRole() != null )
 77  
             {
 78  0
                 serializer.startTag( NAMESPACE, "role" ).text( component.getRole() ).endTag( NAMESPACE, "role" );
 79  
             }
 80  0
             if ( component.getHint() != null )
 81  
             {
 82  0
                 serializer.startTag( NAMESPACE, "hint" ).text( component.getHint() ).endTag( NAMESPACE, "hint" );
 83  
             }
 84  0
             serializer.endTag( NAMESPACE, tagName );
 85  
         }
 86  0
     } //-- void writeComponent(Component, String, XmlSerializer) 
 87  
 
 88  
     /**
 89  
      * Method writeLifecycleExecution
 90  
      * 
 91  
      * @param lifecycleExecution
 92  
      * @param serializer
 93  
      * @param tagName
 94  
      */
 95  
     private void writeLifecycleExecution(LifecycleExecution lifecycleExecution, String tagName, XmlSerializer serializer)
 96  
         throws java.io.IOException
 97  
     {
 98  0
         if ( lifecycleExecution != null )
 99  
         {
 100  0
             serializer.startTag( NAMESPACE, tagName );
 101  0
             if ( lifecycleExecution.getLifecycle() != null )
 102  
             {
 103  0
                 serializer.startTag( NAMESPACE, "lifecycle" ).text( lifecycleExecution.getLifecycle() ).endTag( NAMESPACE, "lifecycle" );
 104  
             }
 105  0
             if ( lifecycleExecution.getPhase() != null )
 106  
             {
 107  0
                 serializer.startTag( NAMESPACE, "phase" ).text( lifecycleExecution.getPhase() ).endTag( NAMESPACE, "phase" );
 108  
             }
 109  0
             if ( lifecycleExecution.getGoal() != null )
 110  
             {
 111  0
                 serializer.startTag( NAMESPACE, "goal" ).text( lifecycleExecution.getGoal() ).endTag( NAMESPACE, "goal" );
 112  
             }
 113  0
             serializer.endTag( NAMESPACE, tagName );
 114  
         }
 115  0
     } //-- void writeLifecycleExecution(LifecycleExecution, String, XmlSerializer) 
 116  
 
 117  
     /**
 118  
      * Method writeMojo
 119  
      * 
 120  
      * @param mojo
 121  
      * @param serializer
 122  
      * @param tagName
 123  
      */
 124  
     private void writeMojo(Mojo mojo, String tagName, XmlSerializer serializer)
 125  
         throws java.io.IOException
 126  
     {
 127  0
         if ( mojo != null )
 128  
         {
 129  0
             serializer.startTag( NAMESPACE, tagName );
 130  0
             if ( mojo.getGoal() != null )
 131  
             {
 132  0
                 serializer.startTag( NAMESPACE, "goal" ).text( mojo.getGoal() ).endTag( NAMESPACE, "goal" );
 133  
             }
 134  0
             if ( mojo.getPhase() != null )
 135  
             {
 136  0
                 serializer.startTag( NAMESPACE, "phase" ).text( mojo.getPhase() ).endTag( NAMESPACE, "phase" );
 137  
             }
 138  0
             if ( mojo.isAggregator() != false )
 139  
             {
 140  0
                 serializer.startTag( NAMESPACE, "aggregator" ).text( String.valueOf( mojo.isAggregator() ) ).endTag( NAMESPACE, "aggregator" );
 141  
             }
 142  0
             if ( mojo.getRequiresDependencyResolution() != null )
 143  
             {
 144  0
                 serializer.startTag( NAMESPACE, "requiresDependencyResolution" ).text( mojo.getRequiresDependencyResolution() ).endTag( NAMESPACE, "requiresDependencyResolution" );
 145  
             }
 146  0
             if ( mojo.isRequiresProject() != false )
 147  
             {
 148  0
                 serializer.startTag( NAMESPACE, "requiresProject" ).text( String.valueOf( mojo.isRequiresProject() ) ).endTag( NAMESPACE, "requiresProject" );
 149  
             }
 150  0
             if ( mojo.isRequiresReports() != false )
 151  
             {
 152  0
                 serializer.startTag( NAMESPACE, "requiresReports" ).text( String.valueOf( mojo.isRequiresReports() ) ).endTag( NAMESPACE, "requiresReports" );
 153  
             }
 154  0
             if ( mojo.isRequiresOnline() != false )
 155  
             {
 156  0
                 serializer.startTag( NAMESPACE, "requiresOnline" ).text( String.valueOf( mojo.isRequiresOnline() ) ).endTag( NAMESPACE, "requiresOnline" );
 157  
             }
 158  0
             if ( mojo.isInheritByDefault() != false )
 159  
             {
 160  0
                 serializer.startTag( NAMESPACE, "inheritByDefault" ).text( String.valueOf( mojo.isInheritByDefault() ) ).endTag( NAMESPACE, "inheritByDefault" );
 161  
             }
 162  0
             if ( mojo.isRequiresDirectInvocation() != false )
 163  
             {
 164  0
                 serializer.startTag( NAMESPACE, "requiresDirectInvocation" ).text( String.valueOf( mojo.isRequiresDirectInvocation() ) ).endTag( NAMESPACE, "requiresDirectInvocation" );
 165  
             }
 166  0
             if ( mojo.getExecution() != null )
 167  
             {
 168  0
                 writeLifecycleExecution( (LifecycleExecution) mojo.getExecution(), "execution", serializer );
 169  
             }
 170  0
             if ( mojo.getComponents() != null && mojo.getComponents().size() > 0 )
 171  
             {
 172  0
                 serializer.startTag( NAMESPACE, "components" );
 173  0
                 for ( Iterator iter = mojo.getComponents().iterator(); iter.hasNext(); )
 174  
                 {
 175  0
                     Component o = (Component) iter.next();
 176  0
                     writeComponent( o, "component", serializer );
 177  0
                 }
 178  0
                 serializer.endTag( NAMESPACE, "components" );
 179  
             }
 180  0
             if ( mojo.getParameters() != null && mojo.getParameters().size() > 0 )
 181  
             {
 182  0
                 serializer.startTag( NAMESPACE, "parameters" );
 183  0
                 for ( Iterator iter = mojo.getParameters().iterator(); iter.hasNext(); )
 184  
                 {
 185  0
                     Parameter o = (Parameter) iter.next();
 186  0
                     writeParameter( o, "parameter", serializer );
 187  0
                 }
 188  0
                 serializer.endTag( NAMESPACE, "parameters" );
 189  
             }
 190  0
             if ( mojo.getDescription() != null )
 191  
             {
 192  0
                 serializer.startTag( NAMESPACE, "description" ).text( mojo.getDescription() ).endTag( NAMESPACE, "description" );
 193  
             }
 194  0
             if ( mojo.getDeprecation() != null )
 195  
             {
 196  0
                 serializer.startTag( NAMESPACE, "deprecated" ).text( mojo.getDeprecation() ).endTag( NAMESPACE, "deprecated" );
 197  
             }
 198  0
             if ( mojo.getCall() != null )
 199  
             {
 200  0
                 serializer.startTag( NAMESPACE, "call" ).text( mojo.getCall() ).endTag( NAMESPACE, "call" );
 201  
             }
 202  0
             serializer.endTag( NAMESPACE, tagName );
 203  
         }
 204  0
     } //-- void writeMojo(Mojo, String, XmlSerializer) 
 205  
 
 206  
     /**
 207  
      * Method writeParameter
 208  
      * 
 209  
      * @param parameter
 210  
      * @param serializer
 211  
      * @param tagName
 212  
      */
 213  
     private void writeParameter(Parameter parameter, String tagName, XmlSerializer serializer)
 214  
         throws java.io.IOException
 215  
     {
 216  0
         if ( parameter != null )
 217  
         {
 218  0
             serializer.startTag( NAMESPACE, tagName );
 219  0
             if ( parameter.getName() != null )
 220  
             {
 221  0
                 serializer.startTag( NAMESPACE, "name" ).text( parameter.getName() ).endTag( NAMESPACE, "name" );
 222  
             }
 223  0
             if ( parameter.getAlias() != null )
 224  
             {
 225  0
                 serializer.startTag( NAMESPACE, "alias" ).text( parameter.getAlias() ).endTag( NAMESPACE, "alias" );
 226  
             }
 227  0
             if ( parameter.getProperty() != null )
 228  
             {
 229  0
                 serializer.startTag( NAMESPACE, "property" ).text( parameter.getProperty() ).endTag( NAMESPACE, "property" );
 230  
             }
 231  0
             if ( parameter.isRequired() != false )
 232  
             {
 233  0
                 serializer.startTag( NAMESPACE, "required" ).text( String.valueOf( parameter.isRequired() ) ).endTag( NAMESPACE, "required" );
 234  
             }
 235  0
             if ( parameter.isReadonly() != false )
 236  
             {
 237  0
                 serializer.startTag( NAMESPACE, "readonly" ).text( String.valueOf( parameter.isReadonly() ) ).endTag( NAMESPACE, "readonly" );
 238  
             }
 239  0
             if ( parameter.getExpression() != null )
 240  
             {
 241  0
                 serializer.startTag( NAMESPACE, "expression" ).text( parameter.getExpression() ).endTag( NAMESPACE, "expression" );
 242  
             }
 243  0
             if ( parameter.getDefaultValue() != null )
 244  
             {
 245  0
                 serializer.startTag( NAMESPACE, "defaultValue" ).text( parameter.getDefaultValue() ).endTag( NAMESPACE, "defaultValue" );
 246  
             }
 247  0
             if ( parameter.getType() != null )
 248  
             {
 249  0
                 serializer.startTag( NAMESPACE, "type" ).text( parameter.getType() ).endTag( NAMESPACE, "type" );
 250  
             }
 251  0
             if ( parameter.getDescription() != null )
 252  
             {
 253  0
                 serializer.startTag( NAMESPACE, "description" ).text( parameter.getDescription() ).endTag( NAMESPACE, "description" );
 254  
             }
 255  0
             if ( parameter.getDeprecation() != null )
 256  
             {
 257  0
                 serializer.startTag( NAMESPACE, "deprecated" ).text( parameter.getDeprecation() ).endTag( NAMESPACE, "deprecated" );
 258  
             }
 259  0
             serializer.endTag( NAMESPACE, tagName );
 260  
         }
 261  0
     } //-- void writeParameter(Parameter, String, XmlSerializer) 
 262  
 
 263  
     /**
 264  
      * Method writePluginMetadata
 265  
      * 
 266  
      * @param pluginMetadata
 267  
      * @param serializer
 268  
      * @param tagName
 269  
      */
 270  
     private void writePluginMetadata(PluginMetadata pluginMetadata, String tagName, XmlSerializer serializer)
 271  
         throws java.io.IOException
 272  
     {
 273  0
         if ( pluginMetadata != null )
 274  
         {
 275  0
             serializer.startTag( NAMESPACE, tagName );
 276  0
             if ( pluginMetadata.getMojos() != null && pluginMetadata.getMojos().size() > 0 )
 277  
             {
 278  0
                 serializer.startTag( NAMESPACE, "mojos" );
 279  0
                 for ( Iterator iter = pluginMetadata.getMojos().iterator(); iter.hasNext(); )
 280  
                 {
 281  0
                     Mojo o = (Mojo) iter.next();
 282  0
                     writeMojo( o, "mojo", serializer );
 283  0
                 }
 284  0
                 serializer.endTag( NAMESPACE, "mojos" );
 285  
             }
 286  0
             serializer.endTag( NAMESPACE, tagName );
 287  
         }
 288  0
     } //-- void writePluginMetadata(PluginMetadata, String, XmlSerializer) 
 289  
 
 290  
 }