/** * Returns a sorted set of rules associated to the role * * @param role */ public SortedSet<DataAccessRule> getRulesAssociatedWithRole(String role) { SortedSet<DataAccessRule> result = new TreeSet<DataAccessRule>(); for (DataAccessRule rule : getRules()) if (rule.getRoles().contains(role)) result.add(rule); return result; } }
SecureTreeNode buildAuthorizationTree(DataAccessRuleDAO dao) { SecureTreeNode root = new SecureTreeNode(); for (DataAccessRule rule : dao.getRules()) { String workspace = rule.getRoot(); String layer = rule.getLayer();
@Override protected List<DataAccessRule> getItems() { return DataAccessRuleDAO.get().getRules(); }
@Override protected List<DataAccessRule> getItems() { return DataAccessRuleDAO.get().getRules(); }
@Override protected List<DataAccessRule> getItems() { return DataAccessRuleDAO.get().getRules(); }
List<String> lookupWorkspaceAdminRoles() { List<String> roles = new ArrayList<String>(); DataAccessRuleDAO dao = DataAccessRuleDAO.get(); for (DataAccessRule rule : dao.getRules()) { if (rule.getAccessMode() == AccessMode.ADMIN) { roles.addAll(rule.getRoles()); } } return roles; } }
@Test public void testAdd() { assertEquals(4, dao.getRules().size()); DataAccessRule newRule = dao.parseDataAccessRule("*.*.w", "ROLE_GENERIC_W"); assertTrue(dao.addRule(newRule)); assertEquals(5, dao.getRules().size()); assertEquals(newRule, dao.getRules().get(1)); assertFalse(dao.addRule(newRule)); }
@Test public void testRemove() { assertEquals(4, dao.getRules().size()); DataAccessRule newRule = dao.parseDataAccessRule("*.*.w", "ROLE_GENERIC_W"); assertFalse(dao.removeRule(newRule)); DataAccessRule first = dao.getRules().get(0); assertTrue(dao.removeRule(first)); assertFalse(dao.removeRule(first)); assertEquals(3, dao.getRules().size()); }
public void validate(Form<?> form) { if (form.findSubmittingButton() != form.get("save")) { // only validate on final submit return; } updateModels(); DataAccessRule rule = (DataAccessRule) form.getModelObject(); //DataAccessRule rule = new DataAccessRule(model.getWorkspace(), // model.getLayer(),model.getAccessMode(), // rolesFormComponent.getRolesNamesForStoring()); if (DataAccessRuleDAO.get().getRules().contains(rule)) { form.error(new ParamResourceModel("duplicateRule", getPage(), rule.getKey()) .getString()); } }
public void validate(Form<?> form) { if (form.findSubmittingButton() != form.get("save")) { // only validate on final submit return; } updateModels(); DataAccessRule rule = (DataAccessRule) form.getModelObject(); // DataAccessRule rule = new DataAccessRule(model.getWorkspace(), // model.getLayer(),model.getAccessMode(), // rolesFormComponent.getRolesNamesForStoring()); if (DataAccessRuleDAO.get().getRules().contains(rule)) { form.error( new ParamResourceModel("duplicateRule", getPage(), rule.getKey()) .getString()); } } }
public void validate(Form<?> form) { if (form.findSubmittingButton() != form.get("save")) { // only validate on final submit return; } updateModels(); DataAccessRule rule = (DataAccessRule) form.getModelObject(); //DataAccessRule rule = new DataAccessRule(model.getWorkspace(), // model.getLayer(),model.getAccessMode(), // rolesFormComponent.getRolesNamesForStoring()); if (DataAccessRuleDAO.get().getRules().contains(rule)) { form.error(new ParamResourceModel("duplicateRule", getPage(), rule.getKey()) .getString()); } }
@Override protected void onFormSubmit(DataAccessRule rule) { try { DataAccessRuleDAO dao = DataAccessRuleDAO.get(); // we cannot update the original because it might have been serialized // and thus detached, we'll update the rule that is the same as the original one instead dao.getRules() .forEach( r -> { if (r.equals(orig)) { r.setRoot(rule.getRoot()); r.setGlobalGroupRule(rule.isGlobalGroupRule()); r.setLayer(rule.getLayer()); r.setAccessMode(rule.getAccessMode()); r.getRoles().clear(); r.getRoles().addAll(rule.getRoles()); } }); dao.storeRules(); doReturn(DataSecurityPage.class); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Error occurred while saving rule ", e); error(new ParamResourceModel("saveError", getPage(), e.getMessage())); } } }