Browse Source

svn merge -c 1084415 from trunk for HADOOP-7204.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/yahoo-merge@1126803 13f79535-47bb-0310-9956-ffa450edef68
Tsz-wo Sze 14 năm trước cách đây
mục cha
commit
b27f221469

+ 3 - 0
CHANGES.txt

@@ -70,6 +70,9 @@ Trunk (unreleased changes)
     HADOOP-6920, HADOOP-7292, HADOOP-7306. Porting bugfixes portion of the 
     three patches to yahoo-merge branch.
 
+    HADOOP-7204. remove local unused fs variable from CmdHandler 
+    and FsShellPermissions.changePermissions (boryas)
+
 Release 0.22.0 - Unreleased
 
   INCOMPATIBLE CHANGES

+ 2 - 2
src/java/org/apache/hadoop/fs/FsShell.java

@@ -982,7 +982,7 @@ public class FsShell extends Configured implements Tool {
     boolean okToContinue() { return okToContinue; }
     String getName() { return cmdName; }
     
-    protected CmdHandler(String cmdName, FileSystem fs) {
+    protected CmdHandler(String cmdName) {
       this.cmdName = cmdName;
     }
     
@@ -1617,7 +1617,7 @@ public class FsShell extends Configured implements Tool {
       } else if ("-chmod".equals(cmd) || 
                  "-chown".equals(cmd) ||
                  "-chgrp".equals(cmd)) {
-        exitCode = FsShellPermissions.changePermissions(fs, cmd, argv, i, this);
+        exitCode = FsShellPermissions.changePermissions(cmd, argv, i, this);
       } else if ("-mv".equals(cmd)) {
         exitCode = rename(argv, getConf());
       } else if ("-cp".equals(cmd)) {

+ 14 - 12
src/java/org/apache/hadoop/fs/FsShellPermissions.java

@@ -55,8 +55,8 @@ class FsShellPermissions {
   
   private static class ChmodHandler extends CmdHandler {
 
-    ChmodHandler(FileSystem fs, String modeStr) throws IOException {
-      super("chmod", fs);
+    ChmodHandler(String modeStr) throws IOException {
+      super("chmod");
       try {
         pp = new ChmodParser(modeStr);
       } catch(IllegalArgumentException iea) {
@@ -103,12 +103,14 @@ class FsShellPermissions {
     protected String owner = null;
     protected String group = null;
 
-    protected ChownHandler(String cmd, FileSystem fs) { //for chgrp
-      super(cmd, fs);
+    protected ChownHandler(String cmd) { //for chgrp
+      super(cmd);
     }
 
-    ChownHandler(FileSystem fs, String ownerStr) throws IOException {
-      super("chown", fs);
+    ChownHandler(String cmd, String ownerStr) throws IOException {
+      super(cmd);
+      if(!cmd.equals("chown"))
+        return;
       Matcher matcher = chownPattern.matcher(ownerStr);
       if (!matcher.matches()) {
         throw new IOException("'" + ownerStr + "' does not match " +
@@ -149,8 +151,8 @@ class FsShellPermissions {
   /*========== chgrp ==========*/    
   
   private static class ChgrpHandler extends ChownHandler {
-    ChgrpHandler(FileSystem fs, String groupStr) throws IOException {
-      super("chgrp", fs);
+    ChgrpHandler(String groupStr) throws IOException {
+      super("chgrp");
 
       Matcher matcher = chgrpPattern.matcher(groupStr);
       if (!matcher.matches()) {
@@ -161,7 +163,7 @@ class FsShellPermissions {
     }
   }
 
-  static int changePermissions(FileSystem fs, String cmd, 
+  static int changePermissions(String cmd, 
                                 String argv[], int startIndex, FsShell shell)
                                 throws IOException {
     CmdHandler handler = null;
@@ -178,11 +180,11 @@ class FsShellPermissions {
     }
 
     if (cmd.equals("-chmod")) {
-      handler = new ChmodHandler(fs, argv[startIndex++]);
+      handler = new ChmodHandler(argv[startIndex++]);
     } else if (cmd.equals("-chown")) {
-      handler = new ChownHandler(fs, argv[startIndex++]);
+      handler = new ChownHandler(argv[startIndex++]);
     } else if (cmd.equals("-chgrp")) {
-      handler = new ChgrpHandler(fs, argv[startIndex++]);
+      handler = new ChgrpHandler(argv[startIndex++]);
     }
 
     return shell.runCmdHandler(handler, argv, startIndex, recursive);

+ 1 - 1
src/test/core/org/apache/hadoop/fs/TestFsShellReturnCode.java

@@ -55,7 +55,7 @@ public class TestFsShellReturnCode {
   public void verify(FileSystem fs, String cmd, String argv[], int cmdIndex,
       FsShell fsShell, int exitCode) throws Exception {
     int ec;
-    ec = FsShellPermissions.changePermissions(fs, cmd, argv, cmdIndex, fsShell);
+    ec = FsShellPermissions.changePermissions(cmd, argv, cmdIndex, fsShell);
     Assert.assertEquals(ec, exitCode);
   }