You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ma...@apache.org on 2012/02/22 21:56:14 UTC

android commit: Refactoring the checks for file:// into a convenience method

Updated Branches:
  refs/heads/master cc5cfad58 -> e85394dd9


Refactoring the checks for file:// into a convenience method


Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/commit/e85394dd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/e85394dd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/e85394dd

Branch: refs/heads/master
Commit: e85394dd99fcaccbb9c674d05f66d163952bf3c6
Parents: cc5cfad
Author: macdonst <si...@gmail.com>
Authored: Wed Feb 22 15:56:03 2012 -0500
Committer: macdonst <si...@gmail.com>
Committed: Wed Feb 22 15:56:03 2012 -0500

----------------------------------------------------------------------
 framework/src/org/apache/cordova/FileUtils.java |   88 ++++++++----------
 1 files changed, 39 insertions(+), 49 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/e85394dd/framework/src/org/apache/cordova/FileUtils.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/FileUtils.java b/framework/src/org/apache/cordova/FileUtils.java
index 7dbf905..f2cc980 100755
--- a/framework/src/org/apache/cordova/FileUtils.java
+++ b/framework/src/org/apache/cordova/FileUtils.java
@@ -281,11 +281,7 @@ public class FileUtils extends Plugin {
      * @throws JSONException
      */
     private JSONArray readEntries(String fileName) throws FileNotFoundException, JSONException {
-        if (fileName.startsWith("file://")) {
-            fileName = fileName.substring(7);
-        }
-
-        File fp = new File(fileName);
+        File fp = createFileObject(fileName);
 
         if (!fp.exists()) {
             // The directory we are listing doesn't exist so we should fail.
@@ -319,12 +315,8 @@ public class FileUtils extends Plugin {
      * @throws JSONException
      */
     private JSONObject transferTo(String fileName, String newParent, String newName, boolean move) throws JSONException, NoModificationAllowedException, IOException, InvalidModificationException, EncodingException {
-        if (fileName.startsWith("file://")) {
-            fileName = fileName.substring(7);
-        }
-        if (newParent.startsWith("file://")) {
-            newParent = newParent.substring(7);
-        }
+        fileName = stripFileProtocol(fileName);
+        newParent = stripFileProtocol(newParent);
 
 
         // Check for invalid file name
@@ -567,11 +559,7 @@ public class FileUtils extends Plugin {
      * @throws FileExistsException
      */
     private boolean removeRecursively(String filePath) throws FileExistsException {
-        if (filePath.startsWith("file://")) {
-            filePath = filePath.substring(7);
-        }
-
-        File fp = new File(filePath);
+        File fp = createFileObject(filePath);
 
         // You can't delete the root directory.
         if (atRootDirectory(filePath)) {
@@ -612,11 +600,7 @@ public class FileUtils extends Plugin {
      * @throws InvalidModificationException
      */
     private boolean remove(String filePath) throws NoModificationAllowedException, InvalidModificationException {
-        if (filePath.startsWith("file://")) {
-            filePath = filePath.substring(7);
-        }
-
-        File fp = new File(filePath);
+        File fp = createFileObject(filePath);
 
         // You can't delete the root directory.
         if (atRootDirectory(filePath)) {
@@ -707,9 +691,7 @@ public class FileUtils extends Plugin {
         if (fileName.startsWith("/")) {
             fp = new File(fileName);
         } else {
-            if (dirPath.startsWith("file://")) {
-                dirPath = dirPath.substring(7);
-            }
+            dirPath = stripFileProtocol(dirPath);
             fp = new File(dirPath + File.separator + fileName);
         }
         return fp;
@@ -724,9 +706,7 @@ public class FileUtils extends Plugin {
      * @throws JSONException
      */
     private JSONObject getParent(String filePath) throws JSONException {
-        if (filePath.startsWith("file://")) {
-            filePath = filePath.substring(7);
-        }
+        filePath = stripFileProtocol(filePath);
 
         if (atRootDirectory(filePath)) {
             return getEntry(filePath);
@@ -742,9 +722,7 @@ public class FileUtils extends Plugin {
      * @return true if we are at the root, false otherwise.
      */
     private boolean atRootDirectory(String filePath) {
-        if (filePath.startsWith("file://")) {
-            filePath = filePath.substring(7);
-        }
+        filePath = stripFileProtocol(filePath);
 
         if (filePath.equals(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Android/data/" + ctx.getPackageName() + "/cache") ||
                 filePath.equals(Environment.getExternalStorageDirectory().getAbsolutePath()) || 
@@ -755,6 +733,32 @@ public class FileUtils extends Plugin {
     }
 
     /**
+     * This method removes the "file://" from the passed in filePath
+     * 
+     * @param filePath to be checked.
+     * @return
+     */
+    private String stripFileProtocol(String filePath) {
+        if (filePath.startsWith("file://")) {
+            filePath = filePath.substring(7);
+        }
+        return filePath;
+    }
+    
+    /**
+     * Create a File object from the passed in path
+     * 
+     * @param filePath
+     * @return
+     */
+    private File createFileObject(String filePath) {
+        filePath = stripFileProtocol(filePath);
+
+        File file = new File(filePath);
+        return file;
+    }
+
+    /**
      * Look up metadata about this entry.
      *
      * @param filePath to entry
@@ -763,11 +767,7 @@ public class FileUtils extends Plugin {
      * @throws JSONException
      */
     private JSONObject getMetadata(String filePath) throws FileNotFoundException, JSONException {
-        if (filePath.startsWith("file://")) {
-            filePath = filePath.substring(7);
-        }
-
-        File file = new File(filePath);
+        File file = createFileObject(filePath);
 
         if (!file.exists()) {
             throw new FileNotFoundException("Failed to find file in getMetadata");
@@ -788,11 +788,7 @@ public class FileUtils extends Plugin {
      * @throws JSONException
      */
     private JSONObject getFileMetadata(String filePath) throws FileNotFoundException, JSONException {
-        if (filePath.startsWith("file://")) {
-            filePath = filePath.substring(7);
-        }
-
-        File file = new File(filePath);
+        File file = createFileObject(filePath);
 
         if (!file.exists()) {
             throw new FileNotFoundException("File: " + filePath + " does not exist.");
@@ -975,9 +971,7 @@ public class FileUtils extends Plugin {
      */
     /**/
     public long write(String filename, String data, int offset) throws FileNotFoundException, IOException {
-        if (filename.startsWith("file://")) {
-            filename = filename.substring(7);
-        }
+        filename = stripFileProtocol(filename);
 
         boolean append = false;
         if (offset > 0) {
@@ -1005,9 +999,7 @@ public class FileUtils extends Plugin {
      * @throws FileNotFoundException, IOException
      */
     private long truncateFile(String filename, long size) throws FileNotFoundException, IOException {
-        if (filename.startsWith("file://")) {
-            filename = filename.substring(7);
-        }
+        filename = stripFileProtocol(filename);
 
         RandomAccessFile raf = new RandomAccessFile(filename, "rw");
 
@@ -1033,9 +1025,7 @@ public class FileUtils extends Plugin {
             return ctx.getContentResolver().openInputStream(uri);
         }
         else {
-            if (path.startsWith("file://")) {
-                path = path.substring(7);
-            }
+            path = stripFileProtocol(path);
             return new FileInputStream(path);
         }
     }