Author: cnauroth
Date: Tue Jan  7 00:47:49 2014
New Revision: 1556090

URL: http://svn.apache.org/r1556090
Log:
HDFS-5673. Implement logic for modification of ACLs. Contributed by Chris 
Nauroth.

Modified:
    
hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclEntry.java
    
hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclStatus.java
    
hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/permission/TestAcl.java

Modified: 
hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclEntry.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclEntry.java?rev=1556090&r1=1556089&r2=1556090&view=diff
==============================================================================
--- 
hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclEntry.java
 (original)
+++ 
hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclEntry.java
 Tue Jan  7 00:47:49 2014
@@ -18,11 +18,8 @@
 package org.apache.hadoop.fs.permission;
 
 import static org.apache.hadoop.fs.permission.AclEntryScope.*;
-import static org.apache.hadoop.fs.permission.AclEntryType.*;
 
 import com.google.common.base.Objects;
-import com.google.common.collect.ComparisonChain;
-import com.google.common.collect.Ordering;
 
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
@@ -31,20 +28,12 @@ import org.apache.hadoop.classification.
  * Defines a single entry in an ACL.  An ACL entry has a type (user, group,
  * mask, or other), an optional name (referring to a specific user or group), a
  * set of permissions (any combination of read, write and execute), and a scope
- * (access or default).  The natural ordering for entries within an ACL is:
- * <ol>
- * <li>owner entry (unnamed user)</li>
- * <li>all named user entries (internal ordering undefined)</li>
- * <li>owning group entry (unnamed group)</li>
- * <li>all named group entries (internal ordering undefined)</li>
- * <li>other entry</li>
- * </ol>
- * All access ACL entries sort ahead of all default ACL entries.  AclEntry
- * instances are immutable.  Use a {@link Builder} to create a new instance.
+ * (access or default).  AclEntry instances are immutable.  Use a {@link 
Builder}
+ * to create a new instance.
  */
 @InterfaceAudience.Public
 @InterfaceStability.Evolving
-public class AclEntry implements Comparable<AclEntry> {
+public class AclEntry {
   private final AclEntryType type;
   private final String name;
   private final FsAction permission;
@@ -107,15 +96,6 @@ public class AclEntry implements Compara
   }
 
   @Override
-  public int compareTo(AclEntry other) {
-    return ComparisonChain.start()
-      .compare(scope, other.scope, Ordering.explicit(ACCESS, DEFAULT))
-      .compare(type, other.type, Ordering.explicit(USER, GROUP, MASK, OTHER))
-      .compare(name, other.name, Ordering.natural().nullsFirst())
-      .result();
-  }
-
-  @Override
   public String toString() {
     StringBuilder sb = new StringBuilder();
     if (scope == AclEntryScope.DEFAULT) {

Modified: 
hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclStatus.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclStatus.java?rev=1556090&r1=1556089&r2=1556090&view=diff
==============================================================================
--- 
hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclStatus.java
 (original)
+++ 
hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclStatus.java
 Tue Jan  7 00:47:49 2014
@@ -17,7 +17,6 @@
  */
 package org.apache.hadoop.fs.permission;
 
-import java.util.Collections;
 import java.util.List;
 
 import org.apache.hadoop.classification.InterfaceAudience;
@@ -197,8 +196,6 @@ public class AclStatus {
     this.owner = owner;
     this.group = group;
     this.stickyBit = stickyBit;
-    List<AclEntry> entriesCopy = Lists.newArrayList(entries);
-    Collections.sort(entriesCopy);
-    this.entries = entriesCopy;
+    this.entries = Lists.newArrayList(entries);
   }
 }

Modified: 
hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/permission/TestAcl.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/permission/TestAcl.java?rev=1556090&r1=1556089&r2=1556090&view=diff
==============================================================================
--- 
hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/permission/TestAcl.java
 (original)
+++ 
hadoop/common/branches/HDFS-4685/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/permission/TestAcl.java
 Tue Jan  7 00:47:49 2014
@@ -19,13 +19,9 @@ package org.apache.hadoop.fs.permission;
 
 import static org.junit.Assert.*;
 
-import java.util.List;
-
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import com.google.common.collect.Lists;
-
 /**
  * Tests covering basic functionality of the ACL objects.
  */
@@ -166,35 +162,6 @@ public class TestAcl {
   }
 
   @Test
-  public void testEntryNaturalOrdering() {
-    AclEntry expected[] = new AclEntry[] {
-      ENTRY5,  // owner
-      ENTRY1,  // named user
-      ENTRY11, // group
-      ENTRY3,  // named group
-      ENTRY9,  // mask
-      ENTRY7,  // other
-      ENTRY13, // default owner
-      ENTRY8,  // default named user
-      ENTRY12, // default group
-      ENTRY6,  // default named group
-      ENTRY10, // default mask
-      ENTRY4   // default other
-    };
-    List<AclEntry> actual = Lists.newArrayList(STATUS4.getEntries());
-    assertNotNull(actual);
-    assertEquals(expected.length, actual.size());
-    for (int i = 0; i < expected.length; ++i) {
-      AclEntry expectedEntry = expected[i];
-      AclEntry actualEntry = actual.get(i);
-      assertEquals(
-        String.format("At position %d, expected = %s, actual = %s", i,
-          expectedEntry, actualEntry),
-        expectedEntry, actualEntry);
-    }
-  }
-
-  @Test
   public void testEntryScopeIsAccessIfUnspecified() {
     assertEquals(AclEntryScope.ACCESS, ENTRY1.getScope());
     assertEquals(AclEntryScope.ACCESS, ENTRY2.getScope());


Reply via email to