git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271209 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -23,8 +23,8 @@ import java.util.Enumeration; | |||
| import java.util.Hashtable; | |||
| import java.util.Iterator; | |||
| import java.util.jar.Attributes; | |||
| import org.apache.myrmidon.api.AbstractTask; | |||
| import org.apache.myrmidon.api.TaskException; | |||
| import org.apache.tools.ant.Task; | |||
| import org.apache.tools.ant.types.EnumeratedAttribute; | |||
| /** | |||
| @@ -34,7 +34,7 @@ import org.apache.tools.ant.types.EnumeratedAttribute; | |||
| * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | |||
| */ | |||
| public class Manifest | |||
| extends Task | |||
| extends AbstractTask | |||
| { | |||
| /** | |||
| * The standard manifest version header | |||
| @@ -74,21 +74,21 @@ public class Manifest | |||
| /** | |||
| * The version of this manifest | |||
| */ | |||
| private String manifestVersion = DEFAULT_MANIFEST_VERSION; | |||
| private String m_manifestVersion = DEFAULT_MANIFEST_VERSION; | |||
| /** | |||
| * The main section of this manifest | |||
| */ | |||
| private Section mainSection = new Section(); | |||
| private Section m_mainSection = new Section(); | |||
| /** | |||
| * The named sections of this manifest | |||
| */ | |||
| private Hashtable sections = new Hashtable(); | |||
| private Hashtable m_sections = new Hashtable(); | |||
| private File manifestFile; | |||
| private File m_manifestFile; | |||
| private Mode mode; | |||
| private ManifestMode m_mode; | |||
| /** | |||
| * Construct an empty manifest | |||
| @@ -96,9 +96,9 @@ public class Manifest | |||
| public Manifest() | |||
| throws TaskException | |||
| { | |||
| mode = new Mode(); | |||
| mode.setValue( "replace" ); | |||
| manifestVersion = null; | |||
| m_mode = new ManifestMode(); | |||
| m_mode.setValue( "replace" ); | |||
| m_manifestVersion = null; | |||
| } | |||
| /** | |||
| @@ -116,12 +116,12 @@ public class Manifest | |||
| { | |||
| BufferedReader reader = new BufferedReader( r ); | |||
| // This should be the manifest version | |||
| String nextSectionName = mainSection.read( reader ); | |||
| String readManifestVersion = mainSection.getAttributeValue( ATTRIBUTE_MANIFEST_VERSION ); | |||
| String nextSectionName = m_mainSection.read( reader ); | |||
| String readManifestVersion = m_mainSection.getAttributeValue( ATTRIBUTE_MANIFEST_VERSION ); | |||
| if( readManifestVersion != null ) | |||
| { | |||
| manifestVersion = readManifestVersion; | |||
| mainSection.removeAttribute( ATTRIBUTE_MANIFEST_VERSION ); | |||
| m_manifestVersion = readManifestVersion; | |||
| m_mainSection.removeAttribute( ATTRIBUTE_MANIFEST_VERSION ); | |||
| } | |||
| String line = null; | |||
| @@ -201,17 +201,17 @@ public class Manifest | |||
| */ | |||
| public void setFile( File f ) | |||
| { | |||
| manifestFile = f; | |||
| m_manifestFile = f; | |||
| } | |||
| /** | |||
| * Shall we update or replace an existing manifest? | |||
| * | |||
| * @param m The new Mode value | |||
| * @param m The new ManifestMode value | |||
| */ | |||
| public void setMode( Mode m ) | |||
| public void setMode( ManifestMode m ) | |||
| { | |||
| mode = m; | |||
| m_mode = m; | |||
| } | |||
| /** | |||
| @@ -223,13 +223,13 @@ public class Manifest | |||
| { | |||
| ArrayList warnings = new ArrayList(); | |||
| for( Iterator e2 = mainSection.getWarnings(); e2.hasNext(); ) | |||
| for( Iterator e2 = m_mainSection.getWarnings(); e2.hasNext(); ) | |||
| { | |||
| warnings.add( e2.next() ); | |||
| } | |||
| // create a vector and add in the warnings for all the sections | |||
| for( Enumeration e = sections.elements(); e.hasMoreElements(); ) | |||
| for( Enumeration e = m_sections.elements(); e.hasMoreElements(); ) | |||
| { | |||
| Section section = (Section)e.nextElement(); | |||
| for( Iterator e2 = section.getWarnings(); e2.hasNext(); ) | |||
| @@ -244,7 +244,7 @@ public class Manifest | |||
| public void addAttribute( final Attribute attribute ) | |||
| throws ManifestException, TaskException | |||
| { | |||
| mainSection.addAttribute( attribute ); | |||
| m_mainSection.addAttribute( attribute ); | |||
| } | |||
| public void addSection( final Section section ) | |||
| @@ -254,7 +254,7 @@ public class Manifest | |||
| { | |||
| throw new TaskException( "Sections must have a name" ); | |||
| } | |||
| sections.put( section.getName().toLowerCase(), section ); | |||
| m_sections.put( section.getName().toLowerCase(), section ); | |||
| } | |||
| public boolean equals( Object rhs ) | |||
| @@ -265,31 +265,31 @@ public class Manifest | |||
| } | |||
| Manifest rhsManifest = (Manifest)rhs; | |||
| if( manifestVersion == null ) | |||
| if( m_manifestVersion == null ) | |||
| { | |||
| if( rhsManifest.manifestVersion != null ) | |||
| if( rhsManifest.m_manifestVersion != null ) | |||
| { | |||
| return false; | |||
| } | |||
| } | |||
| else if( !manifestVersion.equals( rhsManifest.manifestVersion ) ) | |||
| else if( !m_manifestVersion.equals( rhsManifest.m_manifestVersion ) ) | |||
| { | |||
| return false; | |||
| } | |||
| if( sections.size() != rhsManifest.sections.size() ) | |||
| if( m_sections.size() != rhsManifest.m_sections.size() ) | |||
| { | |||
| return false; | |||
| } | |||
| if( !mainSection.equals( rhsManifest.mainSection ) ) | |||
| if( !m_mainSection.equals( rhsManifest.m_mainSection ) ) | |||
| { | |||
| return false; | |||
| } | |||
| for( Enumeration e = sections.elements(); e.hasMoreElements(); ) | |||
| for( Enumeration e = m_sections.elements(); e.hasMoreElements(); ) | |||
| { | |||
| Section section = (Section)e.nextElement(); | |||
| Section rhsSection = (Section)rhsManifest.sections.get( section.getName().toLowerCase() ); | |||
| Section rhsSection = (Section)rhsManifest.m_sections.get( section.getName().toLowerCase() ); | |||
| if( !section.equals( rhsSection ) ) | |||
| { | |||
| return false; | |||
| @@ -307,30 +307,30 @@ public class Manifest | |||
| public void execute() | |||
| throws TaskException | |||
| { | |||
| if( manifestFile == null ) | |||
| if( m_manifestFile == null ) | |||
| { | |||
| throw new TaskException( "the file attribute is required" ); | |||
| } | |||
| Manifest toWrite = getDefaultManifest(); | |||
| if( mode.getValue().equals( "update" ) && manifestFile.exists() ) | |||
| if( m_mode.getValue().equals( "update" ) && m_manifestFile.exists() ) | |||
| { | |||
| FileReader f = null; | |||
| try | |||
| { | |||
| f = new FileReader( manifestFile ); | |||
| f = new FileReader( m_manifestFile ); | |||
| toWrite.merge( new Manifest( f ) ); | |||
| } | |||
| catch( ManifestException m ) | |||
| { | |||
| throw new TaskException( "Existing manifest " + manifestFile | |||
| throw new TaskException( "Existing manifest " + m_manifestFile | |||
| + " is invalid", m ); | |||
| } | |||
| catch( IOException e ) | |||
| { | |||
| throw new | |||
| TaskException( "Failed to read " + manifestFile, e ); | |||
| TaskException( "Failed to read " + m_manifestFile, e ); | |||
| } | |||
| finally | |||
| { | |||
| @@ -359,12 +359,12 @@ public class Manifest | |||
| PrintWriter w = null; | |||
| try | |||
| { | |||
| w = new PrintWriter( new FileWriter( manifestFile ) ); | |||
| w = new PrintWriter( new FileWriter( m_manifestFile ) ); | |||
| toWrite.write( w ); | |||
| } | |||
| catch( IOException e ) | |||
| { | |||
| throw new TaskException( "Failed to write " + manifestFile, e ); | |||
| throw new TaskException( "Failed to write " + m_manifestFile, e ); | |||
| } | |||
| finally | |||
| { | |||
| @@ -385,19 +385,19 @@ public class Manifest | |||
| public void merge( Manifest other ) | |||
| throws ManifestException | |||
| { | |||
| if( other.manifestVersion != null ) | |||
| if( other.m_manifestVersion != null ) | |||
| { | |||
| manifestVersion = other.manifestVersion; | |||
| m_manifestVersion = other.m_manifestVersion; | |||
| } | |||
| mainSection.merge( other.mainSection ); | |||
| for( Enumeration e = other.sections.keys(); e.hasMoreElements(); ) | |||
| m_mainSection.merge( other.m_mainSection ); | |||
| for( Enumeration e = other.m_sections.keys(); e.hasMoreElements(); ) | |||
| { | |||
| String sectionName = (String)e.nextElement(); | |||
| Section ourSection = (Section)sections.get( sectionName ); | |||
| Section otherSection = (Section)other.sections.get( sectionName ); | |||
| Section ourSection = (Section)m_sections.get( sectionName ); | |||
| Section otherSection = (Section)other.m_sections.get( sectionName ); | |||
| if( ourSection == null ) | |||
| { | |||
| sections.put( sectionName.toLowerCase(), otherSection ); | |||
| m_sections.put( sectionName.toLowerCase(), otherSection ); | |||
| } | |||
| else | |||
| { | |||
| @@ -436,19 +436,19 @@ public class Manifest | |||
| public void write( PrintWriter writer ) | |||
| throws IOException, TaskException | |||
| { | |||
| writer.println( ATTRIBUTE_MANIFEST_VERSION + ": " + manifestVersion ); | |||
| String signatureVersion = mainSection.getAttributeValue( ATTRIBUTE_SIGNATURE_VERSION ); | |||
| writer.println( ATTRIBUTE_MANIFEST_VERSION + ": " + m_manifestVersion ); | |||
| String signatureVersion = m_mainSection.getAttributeValue( ATTRIBUTE_SIGNATURE_VERSION ); | |||
| if( signatureVersion != null ) | |||
| { | |||
| writer.println( ATTRIBUTE_SIGNATURE_VERSION + ": " + signatureVersion ); | |||
| mainSection.removeAttribute( ATTRIBUTE_SIGNATURE_VERSION ); | |||
| m_mainSection.removeAttribute( ATTRIBUTE_SIGNATURE_VERSION ); | |||
| } | |||
| mainSection.write( writer ); | |||
| m_mainSection.write( writer ); | |||
| if( signatureVersion != null ) | |||
| { | |||
| try | |||
| { | |||
| mainSection.addAttribute( new Attribute( ATTRIBUTE_SIGNATURE_VERSION, signatureVersion ) ); | |||
| m_mainSection.addAttribute( new Attribute( ATTRIBUTE_SIGNATURE_VERSION, signatureVersion ) ); | |||
| } | |||
| catch( ManifestException e ) | |||
| { | |||
| @@ -456,7 +456,7 @@ public class Manifest | |||
| } | |||
| } | |||
| for( Enumeration e = sections.elements(); e.hasMoreElements(); ) | |||
| for( Enumeration e = m_sections.elements(); e.hasMoreElements(); ) | |||
| { | |||
| Section section = (Section)e.nextElement(); | |||
| section.write( writer ); | |||
| @@ -631,10 +631,8 @@ public class Manifest | |||
| /** | |||
| * Helper class for Manifest's mode attribute. | |||
| * | |||
| * @author RT | |||
| */ | |||
| public static class Mode extends EnumeratedAttribute | |||
| public static class ManifestMode extends EnumeratedAttribute | |||
| { | |||
| public String[] getValues() | |||
| { | |||
| @@ -23,8 +23,8 @@ import java.util.Enumeration; | |||
| import java.util.Hashtable; | |||
| import java.util.Iterator; | |||
| import java.util.jar.Attributes; | |||
| import org.apache.myrmidon.api.AbstractTask; | |||
| import org.apache.myrmidon.api.TaskException; | |||
| import org.apache.tools.ant.Task; | |||
| import org.apache.tools.ant.types.EnumeratedAttribute; | |||
| /** | |||
| @@ -34,7 +34,7 @@ import org.apache.tools.ant.types.EnumeratedAttribute; | |||
| * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | |||
| */ | |||
| public class Manifest | |||
| extends Task | |||
| extends AbstractTask | |||
| { | |||
| /** | |||
| * The standard manifest version header | |||
| @@ -74,21 +74,21 @@ public class Manifest | |||
| /** | |||
| * The version of this manifest | |||
| */ | |||
| private String manifestVersion = DEFAULT_MANIFEST_VERSION; | |||
| private String m_manifestVersion = DEFAULT_MANIFEST_VERSION; | |||
| /** | |||
| * The main section of this manifest | |||
| */ | |||
| private Section mainSection = new Section(); | |||
| private Section m_mainSection = new Section(); | |||
| /** | |||
| * The named sections of this manifest | |||
| */ | |||
| private Hashtable sections = new Hashtable(); | |||
| private Hashtable m_sections = new Hashtable(); | |||
| private File manifestFile; | |||
| private File m_manifestFile; | |||
| private Mode mode; | |||
| private ManifestMode m_mode; | |||
| /** | |||
| * Construct an empty manifest | |||
| @@ -96,9 +96,9 @@ public class Manifest | |||
| public Manifest() | |||
| throws TaskException | |||
| { | |||
| mode = new Mode(); | |||
| mode.setValue( "replace" ); | |||
| manifestVersion = null; | |||
| m_mode = new ManifestMode(); | |||
| m_mode.setValue( "replace" ); | |||
| m_manifestVersion = null; | |||
| } | |||
| /** | |||
| @@ -116,12 +116,12 @@ public class Manifest | |||
| { | |||
| BufferedReader reader = new BufferedReader( r ); | |||
| // This should be the manifest version | |||
| String nextSectionName = mainSection.read( reader ); | |||
| String readManifestVersion = mainSection.getAttributeValue( ATTRIBUTE_MANIFEST_VERSION ); | |||
| String nextSectionName = m_mainSection.read( reader ); | |||
| String readManifestVersion = m_mainSection.getAttributeValue( ATTRIBUTE_MANIFEST_VERSION ); | |||
| if( readManifestVersion != null ) | |||
| { | |||
| manifestVersion = readManifestVersion; | |||
| mainSection.removeAttribute( ATTRIBUTE_MANIFEST_VERSION ); | |||
| m_manifestVersion = readManifestVersion; | |||
| m_mainSection.removeAttribute( ATTRIBUTE_MANIFEST_VERSION ); | |||
| } | |||
| String line = null; | |||
| @@ -201,17 +201,17 @@ public class Manifest | |||
| */ | |||
| public void setFile( File f ) | |||
| { | |||
| manifestFile = f; | |||
| m_manifestFile = f; | |||
| } | |||
| /** | |||
| * Shall we update or replace an existing manifest? | |||
| * | |||
| * @param m The new Mode value | |||
| * @param m The new ManifestMode value | |||
| */ | |||
| public void setMode( Mode m ) | |||
| public void setMode( ManifestMode m ) | |||
| { | |||
| mode = m; | |||
| m_mode = m; | |||
| } | |||
| /** | |||
| @@ -223,13 +223,13 @@ public class Manifest | |||
| { | |||
| ArrayList warnings = new ArrayList(); | |||
| for( Iterator e2 = mainSection.getWarnings(); e2.hasNext(); ) | |||
| for( Iterator e2 = m_mainSection.getWarnings(); e2.hasNext(); ) | |||
| { | |||
| warnings.add( e2.next() ); | |||
| } | |||
| // create a vector and add in the warnings for all the sections | |||
| for( Enumeration e = sections.elements(); e.hasMoreElements(); ) | |||
| for( Enumeration e = m_sections.elements(); e.hasMoreElements(); ) | |||
| { | |||
| Section section = (Section)e.nextElement(); | |||
| for( Iterator e2 = section.getWarnings(); e2.hasNext(); ) | |||
| @@ -244,7 +244,7 @@ public class Manifest | |||
| public void addAttribute( final Attribute attribute ) | |||
| throws ManifestException, TaskException | |||
| { | |||
| mainSection.addAttribute( attribute ); | |||
| m_mainSection.addAttribute( attribute ); | |||
| } | |||
| public void addSection( final Section section ) | |||
| @@ -254,7 +254,7 @@ public class Manifest | |||
| { | |||
| throw new TaskException( "Sections must have a name" ); | |||
| } | |||
| sections.put( section.getName().toLowerCase(), section ); | |||
| m_sections.put( section.getName().toLowerCase(), section ); | |||
| } | |||
| public boolean equals( Object rhs ) | |||
| @@ -265,31 +265,31 @@ public class Manifest | |||
| } | |||
| Manifest rhsManifest = (Manifest)rhs; | |||
| if( manifestVersion == null ) | |||
| if( m_manifestVersion == null ) | |||
| { | |||
| if( rhsManifest.manifestVersion != null ) | |||
| if( rhsManifest.m_manifestVersion != null ) | |||
| { | |||
| return false; | |||
| } | |||
| } | |||
| else if( !manifestVersion.equals( rhsManifest.manifestVersion ) ) | |||
| else if( !m_manifestVersion.equals( rhsManifest.m_manifestVersion ) ) | |||
| { | |||
| return false; | |||
| } | |||
| if( sections.size() != rhsManifest.sections.size() ) | |||
| if( m_sections.size() != rhsManifest.m_sections.size() ) | |||
| { | |||
| return false; | |||
| } | |||
| if( !mainSection.equals( rhsManifest.mainSection ) ) | |||
| if( !m_mainSection.equals( rhsManifest.m_mainSection ) ) | |||
| { | |||
| return false; | |||
| } | |||
| for( Enumeration e = sections.elements(); e.hasMoreElements(); ) | |||
| for( Enumeration e = m_sections.elements(); e.hasMoreElements(); ) | |||
| { | |||
| Section section = (Section)e.nextElement(); | |||
| Section rhsSection = (Section)rhsManifest.sections.get( section.getName().toLowerCase() ); | |||
| Section rhsSection = (Section)rhsManifest.m_sections.get( section.getName().toLowerCase() ); | |||
| if( !section.equals( rhsSection ) ) | |||
| { | |||
| return false; | |||
| @@ -307,30 +307,30 @@ public class Manifest | |||
| public void execute() | |||
| throws TaskException | |||
| { | |||
| if( manifestFile == null ) | |||
| if( m_manifestFile == null ) | |||
| { | |||
| throw new TaskException( "the file attribute is required" ); | |||
| } | |||
| Manifest toWrite = getDefaultManifest(); | |||
| if( mode.getValue().equals( "update" ) && manifestFile.exists() ) | |||
| if( m_mode.getValue().equals( "update" ) && m_manifestFile.exists() ) | |||
| { | |||
| FileReader f = null; | |||
| try | |||
| { | |||
| f = new FileReader( manifestFile ); | |||
| f = new FileReader( m_manifestFile ); | |||
| toWrite.merge( new Manifest( f ) ); | |||
| } | |||
| catch( ManifestException m ) | |||
| { | |||
| throw new TaskException( "Existing manifest " + manifestFile | |||
| throw new TaskException( "Existing manifest " + m_manifestFile | |||
| + " is invalid", m ); | |||
| } | |||
| catch( IOException e ) | |||
| { | |||
| throw new | |||
| TaskException( "Failed to read " + manifestFile, e ); | |||
| TaskException( "Failed to read " + m_manifestFile, e ); | |||
| } | |||
| finally | |||
| { | |||
| @@ -359,12 +359,12 @@ public class Manifest | |||
| PrintWriter w = null; | |||
| try | |||
| { | |||
| w = new PrintWriter( new FileWriter( manifestFile ) ); | |||
| w = new PrintWriter( new FileWriter( m_manifestFile ) ); | |||
| toWrite.write( w ); | |||
| } | |||
| catch( IOException e ) | |||
| { | |||
| throw new TaskException( "Failed to write " + manifestFile, e ); | |||
| throw new TaskException( "Failed to write " + m_manifestFile, e ); | |||
| } | |||
| finally | |||
| { | |||
| @@ -385,19 +385,19 @@ public class Manifest | |||
| public void merge( Manifest other ) | |||
| throws ManifestException | |||
| { | |||
| if( other.manifestVersion != null ) | |||
| if( other.m_manifestVersion != null ) | |||
| { | |||
| manifestVersion = other.manifestVersion; | |||
| m_manifestVersion = other.m_manifestVersion; | |||
| } | |||
| mainSection.merge( other.mainSection ); | |||
| for( Enumeration e = other.sections.keys(); e.hasMoreElements(); ) | |||
| m_mainSection.merge( other.m_mainSection ); | |||
| for( Enumeration e = other.m_sections.keys(); e.hasMoreElements(); ) | |||
| { | |||
| String sectionName = (String)e.nextElement(); | |||
| Section ourSection = (Section)sections.get( sectionName ); | |||
| Section otherSection = (Section)other.sections.get( sectionName ); | |||
| Section ourSection = (Section)m_sections.get( sectionName ); | |||
| Section otherSection = (Section)other.m_sections.get( sectionName ); | |||
| if( ourSection == null ) | |||
| { | |||
| sections.put( sectionName.toLowerCase(), otherSection ); | |||
| m_sections.put( sectionName.toLowerCase(), otherSection ); | |||
| } | |||
| else | |||
| { | |||
| @@ -436,19 +436,19 @@ public class Manifest | |||
| public void write( PrintWriter writer ) | |||
| throws IOException, TaskException | |||
| { | |||
| writer.println( ATTRIBUTE_MANIFEST_VERSION + ": " + manifestVersion ); | |||
| String signatureVersion = mainSection.getAttributeValue( ATTRIBUTE_SIGNATURE_VERSION ); | |||
| writer.println( ATTRIBUTE_MANIFEST_VERSION + ": " + m_manifestVersion ); | |||
| String signatureVersion = m_mainSection.getAttributeValue( ATTRIBUTE_SIGNATURE_VERSION ); | |||
| if( signatureVersion != null ) | |||
| { | |||
| writer.println( ATTRIBUTE_SIGNATURE_VERSION + ": " + signatureVersion ); | |||
| mainSection.removeAttribute( ATTRIBUTE_SIGNATURE_VERSION ); | |||
| m_mainSection.removeAttribute( ATTRIBUTE_SIGNATURE_VERSION ); | |||
| } | |||
| mainSection.write( writer ); | |||
| m_mainSection.write( writer ); | |||
| if( signatureVersion != null ) | |||
| { | |||
| try | |||
| { | |||
| mainSection.addAttribute( new Attribute( ATTRIBUTE_SIGNATURE_VERSION, signatureVersion ) ); | |||
| m_mainSection.addAttribute( new Attribute( ATTRIBUTE_SIGNATURE_VERSION, signatureVersion ) ); | |||
| } | |||
| catch( ManifestException e ) | |||
| { | |||
| @@ -456,7 +456,7 @@ public class Manifest | |||
| } | |||
| } | |||
| for( Enumeration e = sections.elements(); e.hasMoreElements(); ) | |||
| for( Enumeration e = m_sections.elements(); e.hasMoreElements(); ) | |||
| { | |||
| Section section = (Section)e.nextElement(); | |||
| section.write( writer ); | |||
| @@ -631,10 +631,8 @@ public class Manifest | |||
| /** | |||
| * Helper class for Manifest's mode attribute. | |||
| * | |||
| * @author RT | |||
| */ | |||
| public static class Mode extends EnumeratedAttribute | |||
| public static class ManifestMode extends EnumeratedAttribute | |||
| { | |||
| public String[] getValues() | |||
| { | |||