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),


Reply via email to