public ORole addRule(final ORule.ResourceGeneric resourceGeneric, String resourceSpecific, final int iOperation) { ORule rule = rules.get(resourceGeneric); if (rule == null) { rule = new ORule(resourceGeneric, null, null); rules.put(resourceGeneric, rule); } rule.grantAccess(resourceSpecific, iOperation); rules.put(resourceGeneric, rule); updateRolesDocumentContent(); return this; }
/** * Grant a permission to the resource. * * @return */ public ORole grant(final ORule.ResourceGeneric resourceGeneric, String resourceSpecific, final int iOperation) { ORule rule = rules.get(resourceGeneric); if (rule == null) { rule = new ORule(resourceGeneric, null, null); rules.put(resourceGeneric, rule); } rule.grantAccess(resourceSpecific, iOperation); rules.put(resourceGeneric, rule); updateRolesDocumentContent(); return this; }
/** * Revoke a permission to the resource. */ public ORole revoke(final ORule.ResourceGeneric resourceGeneric, String resourceSpecific, final int iOperation) { if (iOperation == PERMISSION_NONE) return this; ORule rule = rules.get(resourceGeneric); if (rule == null) { rule = new ORule(resourceGeneric, null, null); rules.put(resourceGeneric, rule); } rule.revokeAccess(resourceSpecific, iOperation); rules.put(resourceGeneric, rule); updateRolesDocumentContent(); return this; }
private void loadOldVersionOfRules(final Map<String, Number> storedRules) { if (storedRules != null) for (Entry<String, Number> a : storedRules.entrySet()) { ORule.ResourceGeneric resourceGeneric = ORule.mapLegacyResourceToGenericResource(a.getKey()); ORule rule = rules.get(resourceGeneric); if (rule == null) { rule = new ORule(resourceGeneric, null, null); rules.put(resourceGeneric, rule); } String specificResource = ORule.mapLegacyResourceToSpecificResource(a.getKey()); if (specificResource == null || specificResource.equals("*")) { rule.grantAccess(null, a.getValue().intValue()); } else { rule.grantAccess(specificResource, a.getValue().intValue()); } } }
final Byte access = ruleDoc.field("access"); final ORule rule = new ORule(resourceGeneric, specificResources, access); rules.put(resourceGeneric, rule);