You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by ja...@apache.org on 2015/05/15 08:43:02 UTC

[16/17] drill git commit: DRILL-3099: FileSelection's selectionRoot does not include the scheme and authority

DRILL-3099: FileSelection's selectionRoot does not include the scheme and authority


Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/36ff2590
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/36ff2590
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/36ff2590

Branch: refs/heads/master
Commit: 36ff259078f3fa9ebc2fb552eaedc8ce14298636
Parents: 984ee01
Author: Aditya Kishore <ad...@apache.org>
Authored: Thu May 14 21:56:13 2015 -0700
Committer: Jacques Nadeau <ja...@apache.org>
Committed: Thu May 14 22:18:03 2015 -0700

----------------------------------------------------------------------
 .../drill/exec/store/dfs/FileSelection.java       | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/drill/blob/36ff2590/exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/FileSelection.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/FileSelection.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/FileSelection.java
index be9784e..e7f7b28 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/FileSelection.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/FileSelection.java
@@ -18,6 +18,7 @@
 package org.apache.drill.exec.store.dfs;
 
 import java.io.IOException;
+import java.net.URI;
 import java.util.Collections;
 import java.util.List;
 
@@ -127,29 +128,30 @@ public class FileSelection {
     return statuses;
   }
 
-  public static String commonPath(FileStatus... paths){
+  private static String commonPath(FileStatus... paths) {
     String commonPath = "";
     String[][] folders = new String[paths.length][];
-    for(int i = 0; i < paths.length; i++){
+    for (int i = 0; i < paths.length; i++) {
       folders[i] = Path.getPathWithoutSchemeAndAuthority(paths[i].getPath()).toString().split("/");
     }
-    for(int j = 0; j < folders[0].length; j++){
+    for (int j = 0; j < folders[0].length; j++) {
       String thisFolder = folders[0][j];
       boolean allMatched = true;
-      for(int i = 1; i < folders.length && allMatched; i++){
-        if(folders[i].length < j){
+      for (int i = 1; i < folders.length && allMatched; i++) {
+        if (folders[i].length < j) {
           allMatched = false;
           break;
         }
         allMatched &= folders[i][j].equals(thisFolder);
       }
-      if(allMatched){
+      if (allMatched) {
         commonPath += thisFolder + "/";
-      }else{
+      } else {
         break;
       }
     }
-    return commonPath;
+    URI oneURI = paths[0].getPath().toUri();
+    return new Path(oneURI.getScheme(), oneURI.getAuthority(), commonPath).toString();
   }
 
   public static FileSelection create(DrillFileSystem fs, String parent, String path) throws IOException {