001 /* 002 =================== DO NOT EDIT THIS FILE ==================== 003 Generated by Modello 1.4.1 on 2012-01-20 18:12:12, 004 any modifications will be overwritten. 005 ============================================================== 006 */ 007 008 package org.apache.maven.plugin.lifecycle.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.plugin.lifecycle.Execution; 020 import org.apache.maven.plugin.lifecycle.Lifecycle; 021 import org.apache.maven.plugin.lifecycle.LifecycleConfiguration; 022 import org.apache.maven.plugin.lifecycle.Phase; 023 import org.codehaus.plexus.util.xml.Xpp3Dom; 024 import org.codehaus.plexus.util.xml.pull.MXSerializer; 025 import org.codehaus.plexus.util.xml.pull.XmlSerializer; 026 027 /** 028 * Class LifecycleMappingsXpp3Writer. 029 * 030 * @version $Revision$ $Date$ 031 */ 032 @SuppressWarnings( "all" ) 033 public class LifecycleMappingsXpp3Writer 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 lifecycleConfiguration 055 * @throws java.io.IOException 056 */ 057 public void write( Writer writer, LifecycleConfiguration lifecycleConfiguration ) 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( lifecycleConfiguration.getModelEncoding(), null ); 065 writeLifecycleConfiguration( lifecycleConfiguration, "lifecycles", serializer ); 066 serializer.endDocument(); 067 } //-- void write( Writer, LifecycleConfiguration ) 068 069 /** 070 * Method write. 071 * 072 * @param stream 073 * @param lifecycleConfiguration 074 * @throws java.io.IOException 075 */ 076 public void write( OutputStream stream, LifecycleConfiguration lifecycleConfiguration ) 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, lifecycleConfiguration.getModelEncoding() ); 083 serializer.startDocument( lifecycleConfiguration.getModelEncoding(), null ); 084 writeLifecycleConfiguration( lifecycleConfiguration, "lifecycles", serializer ); 085 serializer.endDocument(); 086 } //-- void write( OutputStream, LifecycleConfiguration ) 087 088 /** 089 * Method writeExecution. 090 * 091 * @param execution 092 * @param serializer 093 * @param tagName 094 * @throws java.io.IOException 095 */ 096 private void writeExecution( Execution execution, String tagName, XmlSerializer serializer ) 097 throws java.io.IOException 098 { 099 serializer.startTag( NAMESPACE, tagName ); 100 if ( execution.getConfiguration() != null ) 101 { 102 ((Xpp3Dom) execution.getConfiguration()).writeToSerializer( NAMESPACE, serializer ); 103 } 104 if ( ( execution.getGoals() != null ) && ( execution.getGoals().size() > 0 ) ) 105 { 106 serializer.startTag( NAMESPACE, "goals" ); 107 for ( Iterator iter = execution.getGoals().iterator(); iter.hasNext(); ) 108 { 109 String goal = (String) iter.next(); 110 serializer.startTag( NAMESPACE, "goal" ).text( goal ).endTag( NAMESPACE, "goal" ); 111 } 112 serializer.endTag( NAMESPACE, "goals" ); 113 } 114 serializer.endTag( NAMESPACE, tagName ); 115 } //-- void writeExecution( Execution, String, XmlSerializer ) 116 117 /** 118 * Method writeLifecycle. 119 * 120 * @param lifecycle 121 * @param serializer 122 * @param tagName 123 * @throws java.io.IOException 124 */ 125 private void writeLifecycle( Lifecycle lifecycle, String tagName, XmlSerializer serializer ) 126 throws java.io.IOException 127 { 128 serializer.startTag( NAMESPACE, tagName ); 129 if ( lifecycle.getId() != null ) 130 { 131 serializer.startTag( NAMESPACE, "id" ).text( lifecycle.getId() ).endTag( NAMESPACE, "id" ); 132 } 133 if ( ( lifecycle.getPhases() != null ) && ( lifecycle.getPhases().size() > 0 ) ) 134 { 135 serializer.startTag( NAMESPACE, "phases" ); 136 for ( Iterator iter = lifecycle.getPhases().iterator(); iter.hasNext(); ) 137 { 138 Phase o = (Phase) iter.next(); 139 writePhase( o, "phase", serializer ); 140 } 141 serializer.endTag( NAMESPACE, "phases" ); 142 } 143 serializer.endTag( NAMESPACE, tagName ); 144 } //-- void writeLifecycle( Lifecycle, String, XmlSerializer ) 145 146 /** 147 * Method writeLifecycleConfiguration. 148 * 149 * @param lifecycleConfiguration 150 * @param serializer 151 * @param tagName 152 * @throws java.io.IOException 153 */ 154 private void writeLifecycleConfiguration( LifecycleConfiguration lifecycleConfiguration, String tagName, XmlSerializer serializer ) 155 throws java.io.IOException 156 { 157 serializer.setPrefix( "", "http://maven.apache.org/LIFECYCLE/1.0.0" ); 158 serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" ); 159 serializer.startTag( NAMESPACE, tagName ); 160 serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/LIFECYCLE/1.0.0 http://maven.apache.org/xsd/lifecycle-1.0.0.xsd" ); 161 if ( ( lifecycleConfiguration.getLifecycles() != null ) && ( lifecycleConfiguration.getLifecycles().size() > 0 ) ) 162 { 163 for ( Iterator iter = lifecycleConfiguration.getLifecycles().iterator(); iter.hasNext(); ) 164 { 165 Lifecycle o = (Lifecycle) iter.next(); 166 writeLifecycle( o, "lifecycle", serializer ); 167 } 168 } 169 serializer.endTag( NAMESPACE, tagName ); 170 } //-- void writeLifecycleConfiguration( LifecycleConfiguration, String, XmlSerializer ) 171 172 /** 173 * Method writePhase. 174 * 175 * @param phase 176 * @param serializer 177 * @param tagName 178 * @throws java.io.IOException 179 */ 180 private void writePhase( Phase phase, String tagName, XmlSerializer serializer ) 181 throws java.io.IOException 182 { 183 serializer.startTag( NAMESPACE, tagName ); 184 if ( phase.getId() != null ) 185 { 186 serializer.startTag( NAMESPACE, "id" ).text( phase.getId() ).endTag( NAMESPACE, "id" ); 187 } 188 if ( ( phase.getExecutions() != null ) && ( phase.getExecutions().size() > 0 ) ) 189 { 190 serializer.startTag( NAMESPACE, "executions" ); 191 for ( Iterator iter = phase.getExecutions().iterator(); iter.hasNext(); ) 192 { 193 Execution o = (Execution) iter.next(); 194 writeExecution( o, "execution", serializer ); 195 } 196 serializer.endTag( NAMESPACE, "executions" ); 197 } 198 if ( phase.getConfiguration() != null ) 199 { 200 ((Xpp3Dom) phase.getConfiguration()).writeToSerializer( NAMESPACE, serializer ); 201 } 202 serializer.endTag( NAMESPACE, tagName ); 203 } //-- void writePhase( Phase, String, XmlSerializer ) 204 205 }