IGNITE-5080 - Fixes in SecurityBasicPermissionSet

Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2cfece4a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2cfece4a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2cfece4a

Branch: refs/heads/ignite-security-fixes
Commit: 2cfece4a90c0e46c03a10e81578e250507722265
Parents: 37a0911
Author: Valentin Kulichenko <[email protected]>
Authored: Tue Apr 25 16:33:02 2017 +0200
Committer: Valentin Kulichenko <[email protected]>
Committed: Tue Apr 25 16:33:02 2017 +0200

----------------------------------------------------------------------
 .../security/SecurityBasicPermissionSet.java    | 72 +++++++++++++++-----
 1 file changed, 54 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/2cfece4a/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityBasicPermissionSet.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityBasicPermissionSet.java
 
b/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityBasicPermissionSet.java
index 5b50c56..af1800a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityBasicPermissionSet.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityBasicPermissionSet.java
@@ -17,10 +17,12 @@
 
 package org.apache.ignite.plugin.security;
 
-import java.util.Map;
-import java.util.HashMap;
-import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.ignite.internal.util.tostring.GridToStringInclude;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.A;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.jetbrains.annotations.Nullable;
 
@@ -33,13 +35,16 @@ public class SecurityBasicPermissionSet implements 
SecurityPermissionSet {
     private static final long serialVersionUID = 0L;
 
     /** Cache permissions. */
-    private Map<String, Collection<SecurityPermission>> cachePerms = new 
HashMap<>();
+    @GridToStringInclude
+    private Map<String, Collection<SecurityPermission>> cachePermissions = new 
HashMap<>();
 
     /** Task permissions. */
-    private Map<String, Collection<SecurityPermission>> taskPerms = new 
HashMap<>();
+    @GridToStringInclude
+    private Map<String, Collection<SecurityPermission>> taskPermissions = new 
HashMap<>();
 
     /** System permissions. */
-    private Collection<SecurityPermission> sysPerms = new ArrayList<>();
+    @GridToStringInclude
+    private Collection<SecurityPermission> sysPermissions;
 
     /** Default allow all. */
     private boolean dfltAllowAll;
@@ -47,28 +52,32 @@ public class SecurityBasicPermissionSet implements 
SecurityPermissionSet {
     /**
      * Setter for set cache permission map.
      *
-     * @param cachePerms Cache permissions.
+     * @param cachePermissions Cache permissions.
      */
-    public void setCachePermissions(Map<String, 
Collection<SecurityPermission>> cachePerms) {
-        this.cachePerms = cachePerms;
+    public void setCachePermissions(Map<String, 
Collection<SecurityPermission>> cachePermissions) {
+        A.notNull(cachePermissions, "cachePermissions");
+
+        this.cachePermissions = cachePermissions;
     }
 
     /**
      * Setter for set task permission map.
      *
-     * @param taskPerms Task permissions.
+     * @param taskPermissions Task permissions.
      */
-    public void setTaskPermissions(Map<String, Collection<SecurityPermission>> 
taskPerms) {
-        this.taskPerms = taskPerms;
+    public void setTaskPermissions(Map<String, Collection<SecurityPermission>> 
taskPermissions) {
+        A.notNull(taskPermissions, "taskPermissions");
+
+        this.taskPermissions = taskPermissions;
     }
 
     /**
      * Setter for set collection  system permission.
      *
-     * @param sysPerms System permissions.
+     * @param sysPermissions System permissions.
      */
-    public void setSystemPermissions(Collection<SecurityPermission> sysPerms) {
-        this.sysPerms = sysPerms;
+    public void setSystemPermissions(Collection<SecurityPermission> 
sysPermissions) {
+        this.sysPermissions = sysPermissions;
     }
 
     /**
@@ -82,17 +91,17 @@ public class SecurityBasicPermissionSet implements 
SecurityPermissionSet {
 
     /** {@inheritDoc} */
     @Override public Map<String, Collection<SecurityPermission>> 
cachePermissions() {
-        return cachePerms;
+        return cachePermissions;
     }
 
     /** {@inheritDoc} */
     @Override public Map<String, Collection<SecurityPermission>> 
taskPermissions() {
-        return taskPerms;
+        return taskPermissions;
     }
 
     /** {@inheritDoc} */
     @Nullable @Override public Collection<SecurityPermission> 
systemPermissions() {
-        return sysPerms;
+        return sysPermissions;
     }
 
     /** {@inheritDoc} */
@@ -101,6 +110,33 @@ public class SecurityBasicPermissionSet implements 
SecurityPermissionSet {
     }
 
     /** {@inheritDoc} */
+    @Override public boolean equals(Object o) {
+        if (this == o)
+            return true;
+
+        if (!(o instanceof SecurityBasicPermissionSet))
+            return false;
+
+        SecurityBasicPermissionSet other = (SecurityBasicPermissionSet)o;
+
+        return dfltAllowAll == other.dfltAllowAll &&
+            F.eq(cachePermissions, other.cachePermissions) &&
+            F.eq(taskPermissions, other.taskPermissions) &&
+            F.eq(sysPermissions, other.sysPermissions);
+    }
+
+    /** {@inheritDoc} */
+    @Override public int hashCode() {
+        int res = (dfltAllowAll ? 1 : 0);
+
+        res = 31 * res + (cachePermissions != null ? 
cachePermissions.hashCode() : 0);
+        res = 31 * res + (taskPermissions != null ? taskPermissions.hashCode() 
: 0);
+        res = 31 * res + (sysPermissions != null ? sysPermissions.hashCode() : 
0);
+
+        return res;
+    }
+
+    /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(SecurityBasicPermissionSet.class, this);
     }

Reply via email to