Return-Path: Delivered-To: apmail-ant-dev-archive@ant.apache.org Received: (qmail 25826 invoked by uid 500); 4 Jul 2003 13:03:37 -0000 Mailing-List: contact dev-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list dev@ant.apache.org Received: (qmail 25815 invoked by uid 500); 4 Jul 2003 13:03:37 -0000 Received: (qmail 25810 invoked from network); 4 Jul 2003 13:03:37 -0000 Received: from icarus.apache.org (208.185.179.13) by daedalus.apache.org with SMTP; 4 Jul 2003 13:03:37 -0000 Received: (qmail 2450 invoked by uid 1142); 4 Jul 2003 13:03:38 -0000 Date: 4 Jul 2003 13:03:38 -0000 Message-ID: <20030704130338.2449.qmail@icarus.apache.org> From: conor@apache.org To: ant-cvs@apache.org Subject: cvs commit: ant/src/main/org/apache/tools/tar TarEntry.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N conor 2003/07/04 06:03:38 Modified: . check.xml src/etc/checkstyle checkstyle-config src/main/org/apache/tools/ant/taskdefs CVSPass.java src/main/org/apache/tools/ant/taskdefs/optional/extension Specification.java src/main/org/apache/tools/tar TarEntry.java Log: More checkstyle fixes Revision Changes Path 1.8 +15 -6 ant/check.xml Index: check.xml =================================================================== RCS file: /home/cvs/ant/check.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -u -w -u -r1.7 -r1.8 --- check.xml 4 Jul 2003 11:36:32 -0000 1.7 +++ check.xml 4 Jul 2003 13:03:37 -0000 1.8 @@ -20,6 +20,8 @@ + + @@ -28,6 +30,7 @@ + @@ -59,5 +62,11 @@ + + + + + + 1.3 +26 -19 ant/src/etc/checkstyle/checkstyle-config Index: checkstyle-config =================================================================== RCS file: /home/cvs/ant/src/etc/checkstyle/checkstyle-config,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -u -r1.2 -r1.3 --- checkstyle-config 4 Jul 2003 11:36:32 -0000 1.2 +++ checkstyle-config 4 Jul 2003 13:03:37 -0000 1.3 @@ -41,7 +41,10 @@ - + + + + @@ -62,14 +65,16 @@ - + + + - + @@ -79,12 +84,14 @@ - + + + - + @@ -99,5 +106,5 @@ - + 1.19 +12 -4 ant/src/main/org/apache/tools/ant/taskdefs/CVSPass.java Index: CVSPass.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/CVSPass.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -w -u -r1.18 -r1.19 --- CVSPass.java 10 Feb 2003 14:13:34 -0000 1.18 +++ CVSPass.java 4 Jul 2003 13:03:37 -0000 1.19 @@ -161,7 +161,9 @@ if (reader != null) { try { reader.close(); - } catch (IOException e) {} + } catch (IOException e) { + // ignore + } } if (writer != null) { writer.close(); @@ -179,6 +181,8 @@ /** * The CVS repository to add an entry for. + * + * @param cvsRoot the CVS repository */ public void setCvsroot(String cvsRoot) { this.cvsRoot = cvsRoot; @@ -186,6 +190,8 @@ /** * Password file to add the entry to. + * + * @param passFile the password file. */ public void setPassfile(File passFile) { this.passFile = passFile; @@ -193,6 +199,8 @@ /** * Password to be added to the password file. + * + * @param password the password. */ public void setPassword(String password) { this.password = password; 1.4 +203 -249 ant/src/main/org/apache/tools/ant/taskdefs/optional/extension/Specification.java Index: Specification.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/extension/Specification.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -u -r1.3 -r1.4 --- Specification.java 10 Feb 2003 14:14:03 -0000 1.3 +++ Specification.java 4 Jul 2003 13:03:37 -0000 1.4 @@ -71,53 +71,51 @@ * Java2 Standard Edition package, in file * guide/extensions/versioning.html.

* - * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING - * This file is from excalibur.extension package. Dont edit this file - * directly as there is no unit tests to make sure it is operational - * in ant. Edit file in excalibur and run tests there before changing - * ants file. - * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING - * * @author Peter Donald * @version $Revision$ $Date$ */ -public final class Specification -{ +public final class Specification { /** * Manifest Attribute Name object for SPECIFICATION_TITLE. * @see Attributes.Name#SPECIFICATION_TITLE */ - public static final Attributes.Name SPECIFICATION_TITLE = Attributes.Name.SPECIFICATION_TITLE; + public static final Attributes.Name SPECIFICATION_TITLE + = Attributes.Name.SPECIFICATION_TITLE; /** * Manifest Attribute Name object for SPECIFICATION_VERSION. * @see Attributes.Name#SPECIFICATION_VERSION */ - public static final Attributes.Name SPECIFICATION_VERSION = Attributes.Name.SPECIFICATION_VERSION; + public static final Attributes.Name SPECIFICATION_VERSION + = Attributes.Name.SPECIFICATION_VERSION; /** * Manifest Attribute Name object for SPECIFICATION_VENDOR. * @see Attributes.Name#SPECIFICATION_VENDOR */ - public static final Attributes.Name SPECIFICATION_VENDOR = Attributes.Name.SPECIFICATION_VENDOR; + public static final Attributes.Name SPECIFICATION_VENDOR + = Attributes.Name.SPECIFICATION_VENDOR; /** * Manifest Attribute Name object for IMPLEMENTATION_TITLE. * @see Attributes.Name#IMPLEMENTATION_TITLE */ - public static final Attributes.Name IMPLEMENTATION_TITLE = Attributes.Name.IMPLEMENTATION_TITLE; + public static final Attributes.Name IMPLEMENTATION_TITLE + = Attributes.Name.IMPLEMENTATION_TITLE; /** * Manifest Attribute Name object for IMPLEMENTATION_VERSION. * @see Attributes.Name#IMPLEMENTATION_VERSION */ - public static final Attributes.Name IMPLEMENTATION_VERSION = Attributes.Name.IMPLEMENTATION_VERSION; + public static final Attributes.Name IMPLEMENTATION_VERSION + = Attributes.Name.IMPLEMENTATION_VERSION; /** * Manifest Attribute Name object for IMPLEMENTATION_VENDOR. * @see Attributes.Name#IMPLEMENTATION_VENDOR */ - public static final Attributes.Name IMPLEMENTATION_VENDOR = Attributes.Name.IMPLEMENTATION_VENDOR; + public static final Attributes.Name IMPLEMENTATION_VENDOR + = Attributes.Name.IMPLEMENTATION_VENDOR; /** * Enum indicating that extension is compatible with other Package @@ -159,41 +157,41 @@ /** * The name of the Package Specification. */ - private String m_specificationTitle; + private String specificationTitle; /** * The version number (dotted decimal notation) of the specification * to which this optional package conforms. */ - private DeweyDecimal m_specificationVersion; + private DeweyDecimal specificationVersion; /** * The name of the company or organization that originated the * specification to which this specification conforms. */ - private String m_specificationVendor; + private String specificationVendor; /** * The title of implementation. */ - private String m_implementationTitle; + private String implementationTitle; /** * The name of the company or organization that produced this * implementation of this specification. */ - private String m_implementationVendor; + private String implementationVendor; /** * The version string for implementation. The version string is * opaque. */ - private String m_implementationVersion; + private String implementationVersion; /** * The sections of jar that the specification applies to. */ - private String[] m_sections; + private String[] sections; /** * Return an array of Package Specification objects. @@ -201,12 +199,12 @@ * * @param manifest Manifest to be parsed * @return the Package Specifications extensions in specified manifest + * @throws ParseException if the attributes of the specifications cannot + * be parsed according to their expected formats. */ public static Specification[] getSpecifications( final Manifest manifest ) - throws ParseException - { - if( null == manifest ) - { + throws ParseException { + if (null == manifest) { return new Specification[ 0 ]; } @@ -214,13 +212,12 @@ final Map entries = manifest.getEntries(); final Iterator keys = entries.keySet().iterator(); - while( keys.hasNext() ) - { + while (keys.hasNext()) { final String key = (String)keys.next(); final Attributes attributes = (Attributes)entries.get( key ); - final Specification specification = getSpecification( key, attributes ); - if( null != specification ) - { + final Specification specification + = getSpecification(key, attributes); + if (null != specification) { results.add( specification ); } } @@ -246,8 +243,7 @@ final String specificationVendor, final String implementationTitle, final String implementationVersion, - final String implementationVendor ) - { + final String implementationVendor) { this( specificationTitle, specificationVersion, specificationVendor, implementationTitle, implementationVersion, implementationVendor, null ); @@ -272,41 +268,36 @@ final String implementationTitle, final String implementationVersion, final String implementationVendor, - final String[] sections ) - { - m_specificationTitle = specificationTitle; - m_specificationVendor = specificationVendor; - - if( null != specificationVersion ) - { - try - { - m_specificationVersion = new DeweyDecimal( specificationVersion ); - } - catch( final NumberFormatException nfe ) - { - final String error = "Bad specification version format '" + specificationVersion + - "' in '" + specificationTitle + "'. (Reason: " + nfe + ")"; + final String[] sections) { + this.specificationTitle = specificationTitle; + this.specificationVendor = specificationVendor; + + if (null != specificationVersion) { + try { + this.specificationVersion + = new DeweyDecimal(specificationVersion); + } catch (final NumberFormatException nfe) { + final String error = "Bad specification version format '" + + specificationVersion + "' in '" + specificationTitle + + "'. (Reason: " + nfe + ")"; throw new IllegalArgumentException( error ); } } - m_implementationTitle = implementationTitle; - m_implementationVendor = implementationVendor; - m_implementationVersion = implementationVersion; + this.implementationTitle = implementationTitle; + this.implementationVendor = implementationVendor; + this.implementationVersion = implementationVersion; - if( null == m_specificationTitle ) - { + if (null == this.specificationTitle) { throw new NullPointerException( "specificationTitle" ); } String[] copy = null; - if( null != sections ) - { + if (null != sections) { copy = new String[ sections.length ]; System.arraycopy( sections, 0, copy, 0, sections.length ); } - m_sections = copy; + this.sections = copy; } /** @@ -314,9 +305,8 @@ * * @return the title of speciication */ - public String getSpecificationTitle() - { - return m_specificationTitle; + public String getSpecificationTitle() { + return specificationTitle; } /** @@ -324,9 +314,8 @@ * * @return the vendor of the specification. */ - public String getSpecificationVendor() - { - return m_specificationVendor; + public String getSpecificationVendor() { + return specificationVendor; } /** @@ -334,9 +323,8 @@ * * @return the title of the specification. */ - public String getImplementationTitle() - { - return m_implementationTitle; + public String getImplementationTitle() { + return implementationTitle; } /** @@ -344,9 +332,8 @@ * * @return the version of the specification. */ - public DeweyDecimal getSpecificationVersion() - { - return m_specificationVersion; + public DeweyDecimal getSpecificationVersion() { + return specificationVersion; } /** @@ -354,9 +341,8 @@ * * @return the vendor of the extensions implementation. */ - public String getImplementationVendor() - { - return m_implementationVendor; + public String getImplementationVendor() { + return implementationVendor; } /** @@ -364,9 +350,8 @@ * * @return the version of the implementation. */ - public String getImplementationVersion() - { - return m_implementationVersion; + public String getImplementationVersion() { + return implementationVersion; } /** @@ -376,65 +361,55 @@ * @return an array containing sections to which specification applies * or null if relevent to no sections. */ - public String[] getSections() - { - if( null == m_sections ) - { + public String[] getSections() { + if (null == sections) { return null; - } - else - { - final String[] sections = new String[ m_sections.length ]; - System.arraycopy( m_sections, 0, sections, 0, m_sections.length ); - return sections; + } else { + final String[] newSections = new String[ sections.length ]; + System.arraycopy(sections, 0, newSections, 0, sections.length); + return newSections; } } /** * Return a Compatibility enum indicating the relationship of this - * Package Specification with the specified Extension. + * Package Specification with the specified + * Extension. * * @param other the other specification * @return the enum indicating the compatibility (or lack thereof) * of specifed Package Specification */ - public Compatibility getCompatibilityWith( final Specification other ) - { + public Compatibility getCompatibilityWith(final Specification other) { // Specification Name must match - if( !m_specificationTitle.equals( other.getSpecificationTitle() ) ) - { + if (!specificationTitle.equals(other.getSpecificationTitle())) { return INCOMPATIBLE; } // Available specification version must be >= required - final DeweyDecimal specificationVersion = other.getSpecificationVersion(); - if( null != specificationVersion ) - { - if( null == m_specificationVersion || - !isCompatible( m_specificationVersion, specificationVersion ) ) - { + final DeweyDecimal specificationVersion + = other.getSpecificationVersion(); + if (null != specificationVersion) { + if (null == specificationVersion + || !isCompatible(specificationVersion, specificationVersion)) { return REQUIRE_SPECIFICATION_UPGRADE; } } // Implementation Vendor ID must match final String implementationVendor = other.getImplementationVendor(); - if( null != implementationVendor ) - { - if( null == m_implementationVendor || - !m_implementationVendor.equals( implementationVendor ) ) - { + if (null != implementationVendor) { + if (null == implementationVendor + || !implementationVendor.equals(implementationVendor)) { return REQUIRE_VENDOR_SWITCH; } } // Implementation version must be >= required final String implementationVersion = other.getImplementationVersion(); - if( null != implementationVersion ) - { - if( null == m_implementationVersion || - !m_implementationVersion.equals( implementationVersion ) ) - { + if (null != implementationVersion) { + if (null == implementationVersion + || !implementationVersion.equals(implementationVersion)) { return REQUIRE_IMPLEMENTATION_CHANGE; } } @@ -451,8 +426,7 @@ * @param other the specification * @return true if the specification is compatible with this specification */ - public boolean isCompatibleWith( final Specification other ) - { + public boolean isCompatibleWith(final Specification other) { return ( COMPATIBLE == getCompatibilityWith( other ) ); } @@ -461,53 +435,48 @@ * * @return string representation of object. */ - public String toString() - { + public String toString() { final String lineSeparator = System.getProperty( "line.separator" ); final String brace = ": "; - final StringBuffer sb = new StringBuffer( SPECIFICATION_TITLE.toString() ); + final StringBuffer sb + = new StringBuffer(SPECIFICATION_TITLE.toString()); sb.append( brace ); - sb.append( m_specificationTitle ); + sb.append(specificationTitle); sb.append( lineSeparator ); - if( null != m_specificationVersion ) - { + if (null != specificationVersion) { sb.append( SPECIFICATION_VERSION ); sb.append( brace ); - sb.append( m_specificationVersion ); + sb.append(specificationVersion); sb.append( lineSeparator ); } - if( null != m_specificationVendor ) - { + if (null != specificationVendor) { sb.append( SPECIFICATION_VENDOR ); sb.append( brace ); - sb.append( m_specificationVendor ); + sb.append(specificationVendor); sb.append( lineSeparator ); } - if( null != m_implementationTitle ) - { + if (null != implementationTitle) { sb.append( IMPLEMENTATION_TITLE ); sb.append( brace ); - sb.append( m_implementationTitle ); + sb.append(implementationTitle); sb.append( lineSeparator ); } - if( null != m_implementationVersion ) - { + if (null != implementationVersion) { sb.append( IMPLEMENTATION_VERSION ); sb.append( brace ); - sb.append( m_implementationVersion ); + sb.append(implementationVersion); sb.append( lineSeparator ); } - if( null != m_implementationVendor ) - { + if (null != implementationVendor) { sb.append( IMPLEMENTATION_VENDOR ); sb.append( brace ); - sb.append( m_implementationVendor ); + sb.append(implementationVendor); sb.append( lineSeparator ); } @@ -521,8 +490,8 @@ * @param first First version number (dotted decimal) * @param second Second version number (dotted decimal) */ - private boolean isCompatible( final DeweyDecimal first, final DeweyDecimal second ) - { + private boolean isCompatible(final DeweyDecimal first, + final DeweyDecimal second) { return first.isGreaterThanOrEqual( second ); } @@ -536,22 +505,17 @@ * @param list the array of results to trim * @return an array list with all duplicates removed */ - private static ArrayList removeDuplicates( final ArrayList list ) - { + private static ArrayList removeDuplicates(final ArrayList list) { final ArrayList results = new ArrayList(); final ArrayList sections = new ArrayList(); - while( list.size() > 0 ) - { + while (list.size() > 0) { final Specification specification = (Specification)list.remove( 0 ); final Iterator iterator = list.iterator(); - while( iterator.hasNext() ) - { + while (iterator.hasNext()) { final Specification other = (Specification)iterator.next(); - if( isEqual( specification, other ) ) - { + if (isEqual(specification, other)) { final String[] otherSections = other.getSections(); - if( null != sections ) - { + if (null != sections) { sections.addAll( Arrays.asList( otherSections ) ); } iterator.remove(); @@ -577,15 +541,14 @@ * sections, else false */ private static boolean isEqual( final Specification specification, - final Specification other ) - { + final Specification other) { return - specification.getSpecificationTitle().equals( other.getSpecificationTitle() ) && - specification.getSpecificationVersion().isEqual( other.getSpecificationVersion() ) && - specification.getSpecificationVendor().equals( other.getSpecificationVendor() ) && - specification.getImplementationTitle().equals( other.getImplementationTitle() ) && - specification.getImplementationVersion().equals( other.getImplementationVersion() ) && - specification.getImplementationVendor().equals( other.getImplementationVendor() ); + specification.getSpecificationTitle().equals(other.getSpecificationTitle()) + && specification.getSpecificationVersion().isEqual(other.getSpecificationVersion()) + && specification.getSpecificationVendor().equals(other.getSpecificationVendor()) + && specification.getImplementationTitle().equals(other.getImplementationTitle()) + && specification.getImplementationVersion().equals(other.getImplementationVersion()) + && specification.getImplementationVendor().equals(other.getImplementationVendor()); } /** @@ -597,14 +560,10 @@ * @return the merged specification */ private static Specification mergeInSections( final Specification specification, - final ArrayList sectionsToAdd ) - { - if( 0 == sectionsToAdd.size() ) - { + final ArrayList sectionsToAdd) { + if (0 == sectionsToAdd.size()) { return specification; - } - else - { + } else { sectionsToAdd.addAll( Arrays.asList( specification.getSections() ) ); final String[] sections = @@ -626,14 +585,10 @@ * @param value the string to trim or null * @return the trimmed string or null */ - private static String getTrimmedString( final String value ) - { - if( null == value ) - { + private static String getTrimmedString(final String value) { + if (null == value) { return null; - } - else - { + } else { return value.trim(); } } @@ -646,44 +601,43 @@ */ private static Specification getSpecification( final String section, final Attributes attributes ) - throws ParseException - { + throws ParseException { //WARNING: We trim the values of all the attributes because //Some extension declarations are badly defined (ie have spaces //after version or vendor) - final String name = getTrimmedString( attributes.getValue( SPECIFICATION_TITLE ) ); - if( null == name ) - { + final String name + = getTrimmedString(attributes.getValue(SPECIFICATION_TITLE)); + if (null == name) { return null; } - final String specVendor = getTrimmedString( attributes.getValue( SPECIFICATION_VENDOR ) ); - if( null == specVendor ) - { + final String specVendor + = getTrimmedString(attributes.getValue(SPECIFICATION_VENDOR)); + if (null == specVendor) { throw new ParseException( "Missing " + SPECIFICATION_VENDOR, 0 ); } - final String specVersion = getTrimmedString( attributes.getValue( SPECIFICATION_VERSION ) ); - if( null == specVersion ) - { + final String specVersion + = getTrimmedString(attributes.getValue(SPECIFICATION_VERSION)); + if (null == specVersion) { throw new ParseException( "Missing " + SPECIFICATION_VERSION, 0 ); } - final String impTitle = getTrimmedString( attributes.getValue( IMPLEMENTATION_TITLE ) ); - if( null == impTitle ) - { + final String impTitle + = getTrimmedString(attributes.getValue(IMPLEMENTATION_TITLE)); + if (null == impTitle) { throw new ParseException( "Missing " + IMPLEMENTATION_TITLE, 0 ); } - final String impVersion = getTrimmedString( attributes.getValue( IMPLEMENTATION_VERSION ) ); - if( null == impVersion ) - { + final String impVersion + = getTrimmedString(attributes.getValue(IMPLEMENTATION_VERSION)); + if (null == impVersion) { throw new ParseException( "Missing " + IMPLEMENTATION_VERSION, 0 ); } - final String impVendor = getTrimmedString( attributes.getValue( IMPLEMENTATION_VENDOR ) ); - if( null == impVendor ) - { + final String impVendor + = getTrimmedString(attributes.getValue(IMPLEMENTATION_VENDOR)); + if (null == impVendor) { throw new ParseException( "Missing " + IMPLEMENTATION_VENDOR, 0 ); } 1.16 +275 -219 ant/src/main/org/apache/tools/tar/TarEntry.java Index: TarEntry.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/tar/TarEntry.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -w -u -r1.15 -r1.16 --- TarEntry.java 19 Mar 2003 10:09:38 -0000 1.15 +++ TarEntry.java 4 Jul 2003 13:03:38 -0000 1.16 @@ -115,22 +115,62 @@ */ public class TarEntry implements TarConstants { + /** The entry's name. */ + private StringBuffer name; - private StringBuffer name; /** The entry's name. */ - private int mode; /** The entry's permission mode. */ - private int userId; /** The entry's user id. */ - private int groupId; /** The entry's group id. */ - private long size; /** The entry's size. */ - private long modTime; /** The entry's modification time. */ - private int checkSum; /** The entry's checksum. */ - private byte linkFlag; /** The entry's link flag. */ - private StringBuffer linkName; /** The entry's link name. */ - private StringBuffer magic; /** The entry's magic tag. */ - private StringBuffer userName; /** The entry's user name. */ - private StringBuffer groupName; /** The entry's group name. */ - private int devMajor; /** The entry's major device number. */ - private int devMinor; /** The entry's minor device number. */ - private File file; /** The entry's file reference */ + /** The entry's permission mode. */ + private int mode; + + /** The entry's user id. */ + private int userId; + + /** The entry's group id. */ + private int groupId; + + /** The entry's size. */ + private long size; + + /** The entry's modification time. */ + private long modTime; + + /** The entry's checksum. */ + private int checkSum; + + /** The entry's link flag. */ + private byte linkFlag; + + /** The entry's link name. */ + private StringBuffer linkName; + + /** The entry's magic tag. */ + private StringBuffer magic; + + /** The entry's user name. */ + private StringBuffer userName; + + /** The entry's group name. */ + private StringBuffer groupName; + + /** The entry's major device number. */ + private int devMajor; + + /** The entry's minor device number. */ + private int devMinor; + + /** The entry's file reference */ + private File file; + + /** Maximum length of a user's name in the tar file */ + public static final int MAX_NAMELEN = 31; + + /** Default permissions bits for directories */ + public static final int DEFAULT_DIR_MODE = 040755; + + /** Default permissions bits for files */ + public static final int DEFAULT_FILE_MODE = 0100644; + + /** Convert millis to seconds */ + public static final int MILLIS_PER_SECOND = 1000; /** * Construct an empty entry and prepares the header values. @@ -142,8 +182,8 @@ String user = System.getProperty("user.name", ""); - if (user.length() > 31) { - user = user.substring(0, 31); + if (user.length() > MAX_NAMELEN) { + user = user.substring(0, MAX_NAMELEN); } this.userId = 0; @@ -156,6 +196,8 @@ /** * Construct an entry with only a name. This allows the programmer * to construct the entry's header "by hand". File is set to null. + * + * @param name the entry name */ public TarEntry(String name) { this(); @@ -166,13 +208,13 @@ this.devMajor = 0; this.devMinor = 0; this.name = new StringBuffer(name); - this.mode = isDir ? 040755 : 0100644; + this.mode = isDir ? DEFAULT_DIR_MODE : DEFAULT_FILE_MODE; this.linkFlag = isDir ? LF_DIR : LF_NORMAL; this.userId = 0; this.groupId = 0; this.size = 0; this.checkSum = 0; - this.modTime = (new Date()).getTime() / 1000; + this.modTime = (new Date()).getTime() / MILLIS_PER_SECOND; this.linkName = new StringBuffer(""); this.userName = new StringBuffer(""); this.groupName = new StringBuffer(""); @@ -183,6 +225,9 @@ /** * Construct an entry with a name an a link flag. + * + * @param name the entry name + * @param linkFlag the entry link flag. */ public TarEntry(String name, byte linkFlag) { this(name); @@ -240,19 +285,19 @@ this.name = new StringBuffer(name); if (file.isDirectory()) { - this.mode = 040755; + this.mode = DEFAULT_DIR_MODE; this.linkFlag = LF_DIR; if (this.name.charAt(this.name.length() - 1) != '/') { this.name.append("/"); } } else { - this.mode = 0100644; + this.mode = DEFAULT_FILE_MODE; this.linkFlag = LF_NORMAL; } this.size = file.length(); - this.modTime = file.lastModified() / 1000; + this.modTime = file.lastModified() / MILLIS_PER_SECOND; this.checkSum = 0; this.devMajor = 0; this.devMinor = 0; @@ -273,7 +318,7 @@ * Determine if the two entries are equal. Equality is determined * by the header names being equal. * - * @return it Entry to be checked for equality. + * @param it Entry to be checked for equality. * @return True if the entries are equal. */ public boolean equals(TarEntry it) { @@ -281,6 +326,15 @@ } /** + * Hashcodes are based on entry names. + * + * @return the entry hashcode + */ + public int hashCode() { + return getName().hashCode(); + } + + /** * Determine if the given entry is a descendant of this entry. * Descendancy is determined by the name of the descendant * starting with this entry's name. @@ -312,6 +366,8 @@ /** * Set the mode for this entry + * + * @param mode the mode for this entry */ public void setMode(int mode) { this.mode = mode; @@ -427,7 +483,7 @@ * @param time This entry's new modification time. */ public void setModTime(long time) { - this.modTime = time / 1000; + this.modTime = time / MILLIS_PER_SECOND; } /** @@ -436,16 +492,16 @@ * @param time This entry's new modification time. */ public void setModTime(Date time) { - this.modTime = time.getTime() / 1000; + this.modTime = time.getTime() / MILLIS_PER_SECOND; } /** * Set this entry's modification time. * - * @param time This entry's new modification time. + * @return time This entry's new modification time. */ public Date getModTime() { - return new Date(this.modTime * 1000); + return new Date(this.modTime * MILLIS_PER_SECOND); } /** @@ -491,8 +547,8 @@ * @return true if this is a long name extension provided by GNU tar */ public boolean isGNULongNameEntry() { - return linkFlag == LF_GNUTYPE_LONGNAME && - name.toString().equals(GNU_LONGLINK); + return linkFlag == LF_GNUTYPE_LONGNAME + && name.toString().equals(GNU_LONGLINK); } /** --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org For additional commands, e-mail: dev-help@ant.apache.org