001 /* 002 =================== DO NOT EDIT THIS FILE ==================== 003 Generated by Modello 1.4.1 on 2012-09-02 23:30:10, 004 any modifications will be overwritten. 005 ============================================================== 006 */ 007 008 package org.apache.maven.artifact.repository.metadata.io.xpp3; 009 010 //---------------------------------/ 011 //- Imported classes and packages -/ 012 //---------------------------------/ 013 014 import java.io.OutputStream; 015 import java.io.Writer; 016 import java.text.DateFormat; 017 import java.util.Iterator; 018 import java.util.Locale; 019 import org.apache.maven.artifact.repository.metadata.Metadata; 020 import org.apache.maven.artifact.repository.metadata.Plugin; 021 import org.apache.maven.artifact.repository.metadata.Snapshot; 022 import org.apache.maven.artifact.repository.metadata.SnapshotVersion; 023 import org.apache.maven.artifact.repository.metadata.Versioning; 024 import org.codehaus.plexus.util.xml.pull.MXSerializer; 025 import org.codehaus.plexus.util.xml.pull.XmlSerializer; 026 027 /** 028 * Class MetadataXpp3Writer. 029 * 030 * @version $Revision$ $Date$ 031 */ 032 @SuppressWarnings( "all" ) 033 public class MetadataXpp3Writer 034 { 035 036 //--------------------------/ 037 //- Class/Member Variables -/ 038 //--------------------------/ 039 040 /** 041 * Field NAMESPACE. 042 */ 043 private static final String NAMESPACE = null; 044 045 046 //-----------/ 047 //- Methods -/ 048 //-----------/ 049 050 /** 051 * Method write. 052 * 053 * @param writer 054 * @param metadata 055 * @throws java.io.IOException 056 */ 057 public void write( Writer writer, Metadata metadata ) 058 throws java.io.IOException 059 { 060 XmlSerializer serializer = new MXSerializer(); 061 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " ); 062 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" ); 063 serializer.setOutput( writer ); 064 serializer.startDocument( metadata.getModelEncoding(), null ); 065 writeMetadata( metadata, "metadata", serializer ); 066 serializer.endDocument(); 067 } //-- void write( Writer, Metadata ) 068 069 /** 070 * Method write. 071 * 072 * @param stream 073 * @param metadata 074 * @throws java.io.IOException 075 */ 076 public void write( OutputStream stream, Metadata metadata ) 077 throws java.io.IOException 078 { 079 XmlSerializer serializer = new MXSerializer(); 080 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " ); 081 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" ); 082 serializer.setOutput( stream, metadata.getModelEncoding() ); 083 serializer.startDocument( metadata.getModelEncoding(), null ); 084 writeMetadata( metadata, "metadata", serializer ); 085 serializer.endDocument(); 086 } //-- void write( OutputStream, Metadata ) 087 088 /** 089 * Method writeMetadata. 090 * 091 * @param metadata 092 * @param serializer 093 * @param tagName 094 * @throws java.io.IOException 095 */ 096 private void writeMetadata( Metadata metadata, String tagName, XmlSerializer serializer ) 097 throws java.io.IOException 098 { 099 serializer.startTag( NAMESPACE, tagName ); 100 if ( metadata.getModelVersion() != null ) 101 { 102 serializer.attribute( NAMESPACE, "modelVersion", metadata.getModelVersion() ); 103 } 104 if ( metadata.getGroupId() != null ) 105 { 106 serializer.startTag( NAMESPACE, "groupId" ).text( metadata.getGroupId() ).endTag( NAMESPACE, "groupId" ); 107 } 108 if ( metadata.getArtifactId() != null ) 109 { 110 serializer.startTag( NAMESPACE, "artifactId" ).text( metadata.getArtifactId() ).endTag( NAMESPACE, "artifactId" ); 111 } 112 if ( metadata.getVersion() != null ) 113 { 114 serializer.startTag( NAMESPACE, "version" ).text( metadata.getVersion() ).endTag( NAMESPACE, "version" ); 115 } 116 if ( metadata.getVersioning() != null ) 117 { 118 writeVersioning( (Versioning) metadata.getVersioning(), "versioning", serializer ); 119 } 120 if ( ( metadata.getPlugins() != null ) && ( metadata.getPlugins().size() > 0 ) ) 121 { 122 serializer.startTag( NAMESPACE, "plugins" ); 123 for ( Iterator iter = metadata.getPlugins().iterator(); iter.hasNext(); ) 124 { 125 Plugin o = (Plugin) iter.next(); 126 writePlugin( o, "plugin", serializer ); 127 } 128 serializer.endTag( NAMESPACE, "plugins" ); 129 } 130 serializer.endTag( NAMESPACE, tagName ); 131 } //-- void writeMetadata( Metadata, String, XmlSerializer ) 132 133 /** 134 * Method writePlugin. 135 * 136 * @param plugin 137 * @param serializer 138 * @param tagName 139 * @throws java.io.IOException 140 */ 141 private void writePlugin( Plugin plugin, String tagName, XmlSerializer serializer ) 142 throws java.io.IOException 143 { 144 serializer.startTag( NAMESPACE, tagName ); 145 if ( plugin.getName() != null ) 146 { 147 serializer.startTag( NAMESPACE, "name" ).text( plugin.getName() ).endTag( NAMESPACE, "name" ); 148 } 149 if ( plugin.getPrefix() != null ) 150 { 151 serializer.startTag( NAMESPACE, "prefix" ).text( plugin.getPrefix() ).endTag( NAMESPACE, "prefix" ); 152 } 153 if ( plugin.getArtifactId() != null ) 154 { 155 serializer.startTag( NAMESPACE, "artifactId" ).text( plugin.getArtifactId() ).endTag( NAMESPACE, "artifactId" ); 156 } 157 serializer.endTag( NAMESPACE, tagName ); 158 } //-- void writePlugin( Plugin, String, XmlSerializer ) 159 160 /** 161 * Method writeSnapshot. 162 * 163 * @param snapshot 164 * @param serializer 165 * @param tagName 166 * @throws java.io.IOException 167 */ 168 private void writeSnapshot( Snapshot snapshot, String tagName, XmlSerializer serializer ) 169 throws java.io.IOException 170 { 171 serializer.startTag( NAMESPACE, tagName ); 172 if ( snapshot.getTimestamp() != null ) 173 { 174 serializer.startTag( NAMESPACE, "timestamp" ).text( snapshot.getTimestamp() ).endTag( NAMESPACE, "timestamp" ); 175 } 176 if ( snapshot.getBuildNumber() != 0 ) 177 { 178 serializer.startTag( NAMESPACE, "buildNumber" ).text( String.valueOf( snapshot.getBuildNumber() ) ).endTag( NAMESPACE, "buildNumber" ); 179 } 180 if ( snapshot.isLocalCopy() != false ) 181 { 182 serializer.startTag( NAMESPACE, "localCopy" ).text( String.valueOf( snapshot.isLocalCopy() ) ).endTag( NAMESPACE, "localCopy" ); 183 } 184 serializer.endTag( NAMESPACE, tagName ); 185 } //-- void writeSnapshot( Snapshot, String, XmlSerializer ) 186 187 /** 188 * Method writeSnapshotVersion. 189 * 190 * @param snapshotVersion 191 * @param serializer 192 * @param tagName 193 * @throws java.io.IOException 194 */ 195 private void writeSnapshotVersion( SnapshotVersion snapshotVersion, String tagName, XmlSerializer serializer ) 196 throws java.io.IOException 197 { 198 serializer.startTag( NAMESPACE, tagName ); 199 if ( ( snapshotVersion.getClassifier() != null ) && !snapshotVersion.getClassifier().equals( "" ) ) 200 { 201 serializer.startTag( NAMESPACE, "classifier" ).text( snapshotVersion.getClassifier() ).endTag( NAMESPACE, "classifier" ); 202 } 203 if ( snapshotVersion.getExtension() != null ) 204 { 205 serializer.startTag( NAMESPACE, "extension" ).text( snapshotVersion.getExtension() ).endTag( NAMESPACE, "extension" ); 206 } 207 if ( snapshotVersion.getVersion() != null ) 208 { 209 serializer.startTag( NAMESPACE, "value" ).text( snapshotVersion.getVersion() ).endTag( NAMESPACE, "value" ); 210 } 211 if ( snapshotVersion.getUpdated() != null ) 212 { 213 serializer.startTag( NAMESPACE, "updated" ).text( snapshotVersion.getUpdated() ).endTag( NAMESPACE, "updated" ); 214 } 215 serializer.endTag( NAMESPACE, tagName ); 216 } //-- void writeSnapshotVersion( SnapshotVersion, String, XmlSerializer ) 217 218 /** 219 * Method writeVersioning. 220 * 221 * @param versioning 222 * @param serializer 223 * @param tagName 224 * @throws java.io.IOException 225 */ 226 private void writeVersioning( Versioning versioning, String tagName, XmlSerializer serializer ) 227 throws java.io.IOException 228 { 229 serializer.startTag( NAMESPACE, tagName ); 230 if ( versioning.getLatest() != null ) 231 { 232 serializer.startTag( NAMESPACE, "latest" ).text( versioning.getLatest() ).endTag( NAMESPACE, "latest" ); 233 } 234 if ( versioning.getRelease() != null ) 235 { 236 serializer.startTag( NAMESPACE, "release" ).text( versioning.getRelease() ).endTag( NAMESPACE, "release" ); 237 } 238 if ( versioning.getSnapshot() != null ) 239 { 240 writeSnapshot( (Snapshot) versioning.getSnapshot(), "snapshot", serializer ); 241 } 242 if ( ( versioning.getVersions() != null ) && ( versioning.getVersions().size() > 0 ) ) 243 { 244 serializer.startTag( NAMESPACE, "versions" ); 245 for ( Iterator iter = versioning.getVersions().iterator(); iter.hasNext(); ) 246 { 247 String version = (String) iter.next(); 248 serializer.startTag( NAMESPACE, "version" ).text( version ).endTag( NAMESPACE, "version" ); 249 } 250 serializer.endTag( NAMESPACE, "versions" ); 251 } 252 if ( versioning.getLastUpdated() != null ) 253 { 254 serializer.startTag( NAMESPACE, "lastUpdated" ).text( versioning.getLastUpdated() ).endTag( NAMESPACE, "lastUpdated" ); 255 } 256 if ( ( versioning.getSnapshotVersions() != null ) && ( versioning.getSnapshotVersions().size() > 0 ) ) 257 { 258 serializer.startTag( NAMESPACE, "snapshotVersions" ); 259 for ( Iterator iter = versioning.getSnapshotVersions().iterator(); iter.hasNext(); ) 260 { 261 SnapshotVersion o = (SnapshotVersion) iter.next(); 262 writeSnapshotVersion( o, "snapshotVersion", serializer ); 263 } 264 serializer.endTag( NAMESPACE, "snapshotVersions" ); 265 } 266 serializer.endTag( NAMESPACE, tagName ); 267 } //-- void writeVersioning( Versioning, String, XmlSerializer ) 268 269 }