@Override public Rule getRule() { return new Rule(rule); }
public void setRule(Rule rule) { if (rule != null) { this.rule = rule.getRuleString(); } }
public Rule(final String rule) { validate(rule); this.rule = rule; }
@Override public RolePermissionVO doInTransaction(TransactionStatus status) { return rolePermissionsDao.persist(new RolePermissionVO(role.getId(), rule.toString(), permission, description)); } });
if (permission.getRule().matches(commandName)) { if (RolePermission.Permission.ALLOW.equals(permission.getPermission())) { return true;
public Rule getRule() { return new Rule(rule); }
@Test public void testValidateRuleWithInvalidData() throws Exception { for (String rule : Arrays.asList(null, "", " ", " ", "\n", "\t", "\r", "\"", "\'", "^someApi$", "^someApi", "some$", "some-Api;", "some,Api", "^", "$", "^$", ".*", "\\w+", "r**l3rd0@Kr3", "j@s1n|+|0ȷ", "[a-z0-9-]+", "^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$")) { try { new Rule(rule); Assert.fail("Invalid rule, exception was expected"); } catch (InvalidParameterValueException e) { Assert.assertTrue(e.getMessage().startsWith("Only API names and wildcards are allowed")); } } } }