Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -353,33 +353,34 @@ public void setPolicy(RangerPolicy policy) {
}

@Override
public boolean equals(Object other) {
if (other == null) {
public boolean equals(Object obj) {
if (this == obj) {
return true;
} else if (obj == null || getClass() != obj.getClass()) {
return false;
}

if (other instanceof AccessResult) {
AccessResult otherObject = (AccessResult) other;
return result == otherObject.result && isFinal == otherObject.isFinal;
} else {
return false;
AccessResult other = (AccessResult) obj;

return result == other.result &&
isFinal == other.isFinal &&
policy == null ? other.policy == null : (other.policy != null && Objects.equals(policy.getId(), other.policy.getId()));
}
}

@Override
public int hashCode() {
return Objects.hash(result, isFinal); // policy is not relevant for equals() and hashCode()
return Objects.hash(result, isFinal, policy == null ? null : policy.getId());
}

@Override
public String toString() {
if (result == ACCESS_ALLOWED) {
return "ALLOWED, final=" + isFinal;
return "ALLOWED, final=" + isFinal + ", policyId=" + (policy != null ? policy.getId() : null);
}
if (result == ACCESS_DENIED) {
return "NOT_ALLOWED, final=" + isFinal;
return "NOT_ALLOWED, final=" + isFinal + ", policyId=" + (policy != null ? policy.getId() : null);
}
return "CONDITIONAL_ALLOWED, final=" + isFinal;
return "CONDITIONAL_ALLOWED, final=" + isFinal + ", policyId=" + (policy != null ? policy.getId() : null);
}
}

Expand All @@ -396,6 +397,15 @@ public static class DataMaskResult implements Serializable {
private final RangerPolicyItemDataMaskInfo maskInfo;
private boolean isConditional;

public DataMaskResult() {
this.users = new HashSet<>();
this.groups = new HashSet<>();
this.roles = new HashSet<>();
this.accessTypes = new HashSet<>();
this.maskInfo = new RangerPolicyItemDataMaskInfo();
this.isConditional = false;
}

public DataMaskResult(Set<String> users, Set<String> groups, Set<String> roles, Set<String> accessTypes, RangerPolicyItemDataMaskInfo maskInfo) {
this.users = users;
this.groups = groups;
Expand Down Expand Up @@ -527,6 +537,15 @@ public static class RowFilterResult implements Serializable {
private final RangerPolicyItemRowFilterInfo filterInfo;
private boolean isConditional;

public RowFilterResult() {
this.users = new HashSet<>();
this.groups = new HashSet<>();
this.roles = new HashSet<>();
this.accessTypes = new HashSet<>();
this.filterInfo = new RangerPolicyItemRowFilterInfo();
this.isConditional = false;
}

public RowFilterResult(Set<String> users, Set<String> groups, Set<String> roles, Set<String> accessTypes, RangerPolicyItemRowFilterInfo filterInfo) {
this.users = users;
this.groups = groups;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
Expand Down Expand Up @@ -145,11 +147,11 @@ static class OneTest {
String name;
RangerAccessResource resource;
ResourceMatchingScope resourceMatchingScope;
Map<String, Map<String, RangerResourceACLs.AccessResult>> userPermissions;
Map<String, Map<String, RangerResourceACLs.AccessResult>> groupPermissions;
Map<String, Map<String, RangerResourceACLs.AccessResult>> rolePermissions;
List<RowFilterResult> rowFilters;
List<DataMaskResult> dataMasks;
Map<String, Map<String, RangerResourceACLs.AccessResult>> userPermissions = new HashMap<>();
Map<String, Map<String, RangerResourceACLs.AccessResult>> groupPermissions = new HashMap<>();
Map<String, Map<String, RangerResourceACLs.AccessResult>> rolePermissions = new HashMap<>();
List<RowFilterResult> rowFilters = new ArrayList<>();
List<DataMaskResult> dataMasks = new ArrayList<>();
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -406,9 +406,9 @@
},
"acls": {
"userACLs": {
"res-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 100 } } },
"tag-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 200 } } },
"ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2001 } } },
"res-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 110 } } },
"tag-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 201 } } },
"ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } },
"ds1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2001 } } },
"ds2-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } },
"proj-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } },
Expand All @@ -425,8 +425,8 @@
},
"acls": {
"userACLs": {
"res-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 100 } } },
"tag-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 200 } } },
"res-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 121 } } },
"tag-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 202 } } },
"ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } },
"ds2-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } },
"proj-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -305,10 +305,10 @@
"request": { "resource": { "elements": { "database": "sales", "table": "prospects" } } },
"acls": {
"userACLs": {
"ds-user": { "select": { "result": 1, "isFinal": true } },
"ds1-user": { "select": { "result": 1, "isFinal": true } },
"proj-user": { "select": { "result": 1, "isFinal": true } },
"proj1-user": { "select": { "result": 1, "isFinal": true } }
"ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2001 } } },
"ds1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2001 } } },
"proj-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } },
"proj1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } }
},
"datasets": [ "dataset-1" ],
"projects": [ "project-1" ]
Expand All @@ -319,10 +319,10 @@
"request": { "resource": { "elements": { "database": "sales", "table": "orders" } } },
"acls": {
"userACLs": {
"ds-user": { "select": { "result": 1, "isFinal": true } },
"ds1-user": { "select": { "result": 1, "isFinal": true } },
"proj-user": { "select": { "result": 1, "isFinal": true } },
"proj1-user": { "select": { "result": 1, "isFinal": true } }
"ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2001 } } },
"ds1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2001 } } },
"proj-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } },
"proj1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } }
},
"datasets": [ "dataset-1" ],
"projects": [ "project-1" ]
Expand All @@ -338,10 +338,10 @@
"request": { "resource": { "elements": { "database": "sales", "table": "orders", "column": "created_time" } } },
"acls": {
"userACLs": {
"ds-user": { "select": { "result": 1, "isFinal": true } },
"ds1-user": { "select": { "result": 1, "isFinal": true } },
"proj-user": { "select": { "result": 1, "isFinal": true } },
"proj1-user": { "select": { "result": 1, "isFinal": true } }
"ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2001 } } },
"ds1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2001 } } },
"proj-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } },
"proj1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } }
},
"datasets": [ "dataset-1" ],
"projects": [ "project-1" ]
Expand All @@ -357,11 +357,11 @@
"request": { "resource": { "elements": { "database": "finance", "table": "invoices" } } },
"acls": {
"userACLs": {
"ds-user": { "select": { "result": 1, "isFinal": true } },
"ds1-user": { "select": { "result": 1, "isFinal": true } },
"ds2-user": { "select": { "result": 1, "isFinal": true } },
"proj-user": { "select": { "result": 1, "isFinal": true } },
"proj1-user": { "select": { "result": 1, "isFinal": true } }
"ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } },
"ds1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2001 } } },
"ds2-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } },
"proj-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } },
"proj1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } }
},
"datasets": [ "dataset-1", "dataset-2" ],
"projects": [ "project-1" ]
Expand All @@ -372,11 +372,11 @@
"request": { "resource": { "elements": { "database": "finance", "table": "payments" } } },
"acls": {
"userACLs": {
"ds-user": { "select": { "result": 1, "isFinal": true } },
"ds1-user": { "select": { "result": 1, "isFinal": true } },
"ds2-user": { "select": { "result": 1, "isFinal": true } },
"proj-user": { "select": { "result": 1, "isFinal": true } },
"proj1-user": { "select": { "result": 1, "isFinal": true } }
"ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } },
"ds1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2001 } } },
"ds2-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } },
"proj-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } },
"proj1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } }
},
"datasets": [ "dataset-1", "dataset-2" ],
"projects": [ "project-1" ]
Expand All @@ -392,10 +392,10 @@
"request": { "resource": { "elements": { "database": "shipping", "table": "shipments" } } },
"acls": {
"userACLs": {
"ds-user": { "select": { "result": 1, "isFinal": true } },
"ds2-user": { "select": { "result": 1, "isFinal": true } },
"proj-user": { "select": { "result": 1, "isFinal": true } },
"proj1-user": { "select": { "result": 1, "isFinal": true } }
"ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } },
"ds2-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } },
"proj-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } },
"proj1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } }
},
"datasets": [ "dataset-2" ],
"projects": [ "project-1" ]
Expand All @@ -411,12 +411,12 @@
"request": { "resource": { "elements": { "database": "customers", "table": "contact_info" } } },
"acls": {
"userACLs": {
"ds-user": { "select": { "result": 1, "isFinal": true } },
"ds3-user": { "select": { "result": 1, "isFinal": true } },
"ds6-user": { "select": { "result": 1, "isFinal": true } },
"proj-user": { "select": { "result": 1, "isFinal": true } },
"proj2-user": { "select": { "result": 1, "isFinal": true } },
"proj4-user": { "select": { "result": 1, "isFinal": true } }
"ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2003 } } },
"ds3-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2003 } } },
"ds6-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2006 } } },
"proj-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3002 } } },
"proj2-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3002 } } },
"proj4-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3004 } } }
},
"datasets": [ "dataset-3", "dataset-6" ],
"projects": [ "project-2", "project-4" ]
Expand All @@ -432,8 +432,8 @@
"request": { "resource": { "elements": { "database": "operations", "table": "facilities" } } },
"acls": {
"userACLs": {
"ds-user": { "select": { "result": 1, "isFinal": true } },
"ds4-user": { "select": { "result": 1, "isFinal": true } }
"ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2004 } } },
"ds4-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2004 } } }
},
"datasets": [ "dataset-4" ]
}
Expand Down
Loading
Loading