Coverage Report - org.apache.maven.plugin.registry.io.xpp3.PluginRegistryXpp3Writer
 
Classes in this File Line Coverage Branch Coverage Complexity
PluginRegistryXpp3Writer
0%
0/49
0%
0/34
4.5
 
 1  
 /*
 2  
  * $Id$
 3  
  */
 4  
 
 5  
 package org.apache.maven.plugin.registry.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.registry.Plugin;
 16  
 import org.apache.maven.plugin.registry.PluginRegistry;
 17  
 import org.apache.maven.plugin.registry.TrackableBase;
 18  
 import org.codehaus.plexus.util.xml.pull.MXSerializer;
 19  
 import org.codehaus.plexus.util.xml.pull.XmlSerializer;
 20  
 
 21  
 /**
 22  
  * Class PluginRegistryXpp3Writer.
 23  
  * 
 24  
  * @version $Revision$ $Date$
 25  
  */
 26  0
 public class PluginRegistryXpp3Writer {
 27  
 
 28  
 
 29  
       //--------------------------/
 30  
      //- Class/Member Variables -/
 31  
     //--------------------------/
 32  
 
 33  
     /**
 34  
      * Field NAMESPACE.
 35  
      */
 36  
     private String NAMESPACE;
 37  
 
 38  
 
 39  
       //-----------/
 40  
      //- Methods -/
 41  
     //-----------/
 42  
 
 43  
     /**
 44  
      * Method write.
 45  
      * 
 46  
      * @param writer
 47  
      * @param pluginRegistry
 48  
      * @throws java.io.IOException
 49  
      */
 50  
     public void write( Writer writer, PluginRegistry pluginRegistry )
 51  
         throws java.io.IOException
 52  
     {
 53  0
         XmlSerializer serializer = new MXSerializer();
 54  0
         serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
 55  0
         serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
 56  0
         serializer.setOutput( writer );
 57  0
         serializer.startDocument( pluginRegistry.getModelEncoding(), null );
 58  0
         writePluginRegistry( pluginRegistry, "pluginRegistry", serializer );
 59  0
         serializer.endDocument();
 60  0
     } //-- void write( Writer, PluginRegistry ) 
 61  
 
 62  
     /**
 63  
      * Method writePlugin.
 64  
      * 
 65  
      * @param plugin
 66  
      * @param serializer
 67  
      * @param tagName
 68  
      * @throws java.io.IOException
 69  
      */
 70  
     private void writePlugin( Plugin plugin, String tagName, XmlSerializer serializer )
 71  
         throws java.io.IOException
 72  
     {
 73  0
         if ( plugin != null )
 74  
         {
 75  0
             serializer.startTag( NAMESPACE, tagName );
 76  0
             if ( plugin.getGroupId() != null )
 77  
             {
 78  0
                 serializer.startTag( NAMESPACE, "groupId" ).text( plugin.getGroupId() ).endTag( NAMESPACE, "groupId" );
 79  
             }
 80  0
             if ( plugin.getArtifactId() != null )
 81  
             {
 82  0
                 serializer.startTag( NAMESPACE, "artifactId" ).text( plugin.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
 83  
             }
 84  0
             if ( plugin.getLastChecked() != null )
 85  
             {
 86  0
                 serializer.startTag( NAMESPACE, "lastChecked" ).text( plugin.getLastChecked() ).endTag( NAMESPACE, "lastChecked" );
 87  
             }
 88  0
             if ( plugin.getUseVersion() != null )
 89  
             {
 90  0
                 serializer.startTag( NAMESPACE, "useVersion" ).text( plugin.getUseVersion() ).endTag( NAMESPACE, "useVersion" );
 91  
             }
 92  0
             if ( plugin.getRejectedVersions() != null && plugin.getRejectedVersions().size() > 0 )
 93  
             {
 94  0
                 serializer.startTag( NAMESPACE, "rejectedVersions" );
 95  0
                 for ( Iterator iter = plugin.getRejectedVersions().iterator(); iter.hasNext(); )
 96  
                 {
 97  0
                     String rejectedVersion = (String) iter.next();
 98  0
                     serializer.startTag( NAMESPACE, "rejectedVersion" ).text( rejectedVersion ).endTag( NAMESPACE, "rejectedVersion" );
 99  0
                 }
 100  0
                 serializer.endTag( NAMESPACE, "rejectedVersions" );
 101  
             }
 102  0
             serializer.endTag( NAMESPACE, tagName );
 103  
         }
 104  0
     } //-- void writePlugin( Plugin, String, XmlSerializer ) 
 105  
 
 106  
     /**
 107  
      * Method writePluginRegistry.
 108  
      * 
 109  
      * @param pluginRegistry
 110  
      * @param serializer
 111  
      * @param tagName
 112  
      * @throws java.io.IOException
 113  
      */
 114  
     private void writePluginRegistry( PluginRegistry pluginRegistry, String tagName, XmlSerializer serializer )
 115  
         throws java.io.IOException
 116  
     {
 117  0
         if ( pluginRegistry != null )
 118  
         {
 119  0
             serializer.startTag( NAMESPACE, tagName );
 120  0
             if ( pluginRegistry.getUpdateInterval() != null && !pluginRegistry.getUpdateInterval().equals( "never" ) )
 121  
             {
 122  0
                 serializer.startTag( NAMESPACE, "updateInterval" ).text( pluginRegistry.getUpdateInterval() ).endTag( NAMESPACE, "updateInterval" );
 123  
             }
 124  0
             if ( pluginRegistry.getAutoUpdate() != null )
 125  
             {
 126  0
                 serializer.startTag( NAMESPACE, "autoUpdate" ).text( pluginRegistry.getAutoUpdate() ).endTag( NAMESPACE, "autoUpdate" );
 127  
             }
 128  0
             if ( pluginRegistry.getCheckLatest() != null )
 129  
             {
 130  0
                 serializer.startTag( NAMESPACE, "checkLatest" ).text( pluginRegistry.getCheckLatest() ).endTag( NAMESPACE, "checkLatest" );
 131  
             }
 132  0
             if ( pluginRegistry.getPlugins() != null && pluginRegistry.getPlugins().size() > 0 )
 133  
             {
 134  0
                 serializer.startTag( NAMESPACE, "plugins" );
 135  0
                 for ( Iterator iter = pluginRegistry.getPlugins().iterator(); iter.hasNext(); )
 136  
                 {
 137  0
                     Plugin o = (Plugin) iter.next();
 138  0
                     writePlugin( o, "plugin", serializer );
 139  0
                 }
 140  0
                 serializer.endTag( NAMESPACE, "plugins" );
 141  
             }
 142  0
             serializer.endTag( NAMESPACE, tagName );
 143  
         }
 144  0
     } //-- void writePluginRegistry( PluginRegistry, String, XmlSerializer ) 
 145  
 
 146  
     /**
 147  
      * Method writeTrackableBase.
 148  
      * 
 149  
      * @param trackableBase
 150  
      * @param serializer
 151  
      * @param tagName
 152  
      * @throws java.io.IOException
 153  
      */
 154  
     private void writeTrackableBase( TrackableBase trackableBase, String tagName, XmlSerializer serializer )
 155  
         throws java.io.IOException
 156  
     {
 157  0
         if ( trackableBase != null )
 158  
         {
 159  0
             serializer.startTag( NAMESPACE, tagName );
 160  0
             serializer.endTag( NAMESPACE, tagName );
 161  
         }
 162  0
     } //-- void writeTrackableBase( TrackableBase, String, XmlSerializer ) 
 163  
 
 164  
 
 165  
 }