Author: bodewig Date: Wed Aug 17 14:49:08 2011 New Revision: 1158752 URL: http://svn.apache.org/viewvc?rev=1158752&view=rev Log: make DumpArchiveEntry's getName consistent with other implementations by adding a trailing / for directories. Strip leading . if present. COMPRESS-132
Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveEntry.java commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveInputStream.java commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/DumpTestCase.java Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveEntry.java URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveEntry.java?rev=1158752&r1=1158751&r2=1158752&view=diff ============================================================================== --- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveEntry.java (original) +++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveEntry.java Wed Aug 17 14:49:08 2011 @@ -195,6 +195,7 @@ public class DumpArchiveEntry implements // this information is available from standard index. private TapeSegmentHeader header = new TapeSegmentHeader(); private String simpleName; + private String originalName; // this information is available from QFA index private int volume; @@ -217,7 +218,7 @@ public class DumpArchiveEntry implements * @param simpleName actual filename. */ public DumpArchiveEntry(String name, String simpleName) { - this.name = name; + setName(name); this.simpleName = simpleName; } @@ -561,9 +562,26 @@ public class DumpArchiveEntry implements } /** + * Returns the unmodified name of the entry. + * @return the name of the entry. + */ + String getOriginalName() { + return originalName; + } + + /** * Sets the name of the entry. */ - public void setName(String name) { + public final void setName(String name) { + this.originalName = name; + if (name != null) { + if (".".equals(name) || name.startsWith("./")) { + name = name.substring(1); + } + if (isDirectory() && !name.endsWith("/")) { + name += "/"; + } + } this.name = name; } Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveInputStream.java URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveInputStream.java?rev=1158752&r1=1158751&r2=1158752&view=diff ============================================================================== --- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveInputStream.java (original) +++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveInputStream.java Wed Aug 17 14:49:08 2011 @@ -109,11 +109,11 @@ public class DumpArchiveInputStream exte queue = new PriorityQueue<DumpArchiveEntry>(10, new Comparator<DumpArchiveEntry>() { public int compare(DumpArchiveEntry p, DumpArchiveEntry q) { - if ((p.getName() == null) || (q.getName() == null)) { + if ((p.getOriginalName() == null) || (q.getOriginalName() == null)) { return Integer.MAX_VALUE; } - return p.getName().compareTo(q.getName()); + return p.getOriginalName().compareTo(q.getOriginalName()); } }); } Modified: commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/DumpTestCase.java URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/DumpTestCase.java?rev=1158752&r1=1158751&r2=1158752&view=diff ============================================================================== --- commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/DumpTestCase.java (original) +++ commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/DumpTestCase.java Wed Aug 17 14:49:08 2011 @@ -104,10 +104,10 @@ public final class DumpTestCase extends private void checkDumpArchive(final File f) throws Exception { ArrayList<String> expected = new ArrayList<String>(); - expected.add("."); - expected.add("./lost+found"); - expected.add("./test1.xml"); - expected.add("./test2.xml"); + expected.add("/"); + expected.add("/lost+found/"); + expected.add("/test1.xml"); + expected.add("/test2.xml"); final InputStream is = new FileInputStream(f); try { checkArchiveContent(new DumpArchiveInputStream(is),