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