public void validate() throws IllegalStateException { if (type == null || (!DEFAULT.equals(type) && !ROLE.equals(type) && !GROUP.equals(type))) { throw new IllegalArgumentException("Key must start with [default|role|group]"); } if (isRole() && (roleGroup == null || roleGroup.length() == 0)) { throw new IllegalArgumentException("Role value is empty"); } if (isGroup() && (roleGroup == null || roleGroup.length() == 0)) { throw new IllegalArgumentException("Group value is empty"); } if (attributeType == null || attributeType.length() == 0) { throw new IllegalArgumentException("Empty attribute type not allowed: " + attributeType); } } }
if (result.isRole()) { result.setRole(tokens[_idx++]); } else if (result.isGroup()) {
if (keyObj.isRole()) { builder.role(keyObj.getRole()); } else if (keyObj.isGroup()) {
public String getRole() { return isRole() ? roleGroup : null; }
@Test public void testSpecialCharsAllowed() { AuthorizationPolicyMarshaller.Key key = marshaller.parse("role.manager.permission.repository.update.git://repo1"); assertTrue(key.isRole()); assertEquals(key.getRole(), "manager"); assertEquals(key.getAttributeType(), "permission"); assertEquals(key.getAttributeId(), "repository.update.git://repo1"); }
@Test public void testGroupEntry() { AuthorizationPolicyMarshaller.Key key = marshaller.parse("group.IT.home"); assertFalse(key.isRole()); assertTrue(key.isGroup()); assertEquals(key.getGroup(), "IT"); assertEquals(key.getAttributeType(), "home"); assertNull(key.getAttributeId()); }
@Test public void testPermissionEntry() { AuthorizationPolicyMarshaller.Key key = marshaller.parse("role.admin.permission.perspective.read"); assertTrue(key.isRole()); assertEquals(key.getRole(), "admin"); assertEquals(key.getAttributeType(), "permission"); assertEquals(key.getAttributeId(), "perspective.read"); }
@Test public void testPermissionEntry() { AuthorizationPolicyMarshaller.Key key = marshaller.parse("role.admin.permission.perspective.read"); assertTrue(key.isRole()); assertEquals(key.getRole(), "admin"); assertEquals(key.getAttributeType(), "permission"); assertEquals(key.getAttributeId(), "perspective.read"); }
@Test public void testHomeEntry() { AuthorizationPolicyMarshaller.Key key = marshaller.parse("role.admin.home"); assertTrue(key.isRole()); assertEquals(key.getRole(), "admin"); assertEquals(key.getAttributeType(), "home"); assertNull(key.getAttributeId()); }
@Test public void testSpecialCharsAllowed() { AuthorizationPolicyMarshaller.Key key = marshaller.parse("role.manager.permission.repository.update.git://repo1"); assertTrue(key.isRole()); assertEquals(key.getRole(), "manager"); assertEquals(key.getAttributeType(), "permission"); assertEquals(key.getAttributeId(), "repository.update.git://repo1"); }
@Test public void testGroupEntry() { AuthorizationPolicyMarshaller.Key key = marshaller.parse("group.IT.home"); assertFalse(key.isRole()); assertTrue(key.isGroup()); assertEquals(key.getGroup(), "IT"); assertEquals(key.getAttributeType(), "home"); assertNull(key.getAttributeId()); }
@Test public void testPriorityEntry() { AuthorizationPolicyMarshaller.Key key = marshaller.parse("role.admin.priority"); assertTrue(key.isRole()); assertEquals(key.getRole(), "admin"); assertEquals(key.getAttributeType(), "priority"); assertNull(key.getAttributeId()); }
@Test public void testHomeEntry() { AuthorizationPolicyMarshaller.Key key = marshaller.parse("role.admin.home"); assertTrue(key.isRole()); assertEquals(key.getRole(), "admin"); assertEquals(key.getAttributeType(), "home"); assertNull(key.getAttributeId()); }
@Test public void testPriorityEntry() { AuthorizationPolicyMarshaller.Key key = marshaller.parse("role.admin.priority"); assertTrue(key.isRole()); assertEquals(key.getRole(), "admin"); assertEquals(key.getAttributeType(), "priority"); assertNull(key.getAttributeId()); }