You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by gn...@apache.org on 2010/04/26 18:30:16 UTC

svn commit: r938115 - /felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Scanner.java

Author: gnodet
Date: Mon Apr 26 16:30:16 2010
New Revision: 938115

URL: http://svn.apache.org/viewvc?rev=938115&view=rev
Log:
FELIX-1776: problem when using relative dirs

Modified:
    felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Scanner.java

Modified: felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Scanner.java
URL: http://svn.apache.org/viewvc/felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Scanner.java?rev=938115&r1=938114&r2=938115&view=diff
==============================================================================
--- felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Scanner.java (original)
+++ felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Scanner.java Mon Apr 26 16:30:16 2010
@@ -20,6 +20,7 @@ package org.apache.felix.fileinstall.int
 
 import java.io.File;
 import java.io.FilenameFilter;
+import java.io.IOException;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -107,7 +108,7 @@ public class Scanner {
         Set/*<File>*/ removed = new HashSet/*<File>*/(storedChecksums.keySet());
         for (int i = 0; i < list.length; i++)
         {
-            File file  = list[i];
+            File file  = canon(list[i]);
             long lastChecksum = lastChecksums.get(file) != null ? ((Long) lastChecksums.get(file)).longValue() : 0;
             long storedChecksum = storedChecksums.get(file) != null ? ((Long) storedChecksums.get(file)).longValue() : 0;
             long newChecksum = checksum(file);
@@ -132,6 +133,18 @@ public class Scanner {
         return files;
     }
 
+    private static File canon(File file)
+    {
+        try
+        {
+            return file.getCanonicalFile();
+        }
+        catch (IOException e)
+        {
+            return file;
+        }
+    }
+
     /**
      * Retrieve the previously computed checksum for a give file.
      *