public Map<String, String> getRelationshipProperties(IdentityStoreInvocationContext ctx, IdentityObjectRelationship relationship) throws IdentityException, OperationNotSupportedException HibernateIdentityObject fromIO = safeGet(ctx, relationship.getFromIdentityObject()); HibernateIdentityObject toIO = safeGet(ctx, relationship.getToIdentityObject()); HibernateIdentityObjectRelationshipType type = getHibernateIdentityObjectRelationshipType(ctx, relationship.getType());
public void setRelationshipProperties(IdentityStoreInvocationContext ctx, IdentityObjectRelationship relationship, Map<String, String> properties) throws IdentityException, OperationNotSupportedException HibernateIdentityObject fromIO = safeGet(ctx, relationship.getFromIdentityObject()); HibernateIdentityObject toIO = safeGet(ctx, relationship.getToIdentityObject()); HibernateIdentityObjectRelationshipType type = getHibernateIdentityObjectRelationshipType(ctx, relationship.getType());
public void removeRelationshipProperties(IdentityStoreInvocationContext ctx, IdentityObjectRelationship relationship, Set<String> properties) throws IdentityException, OperationNotSupportedException HibernateIdentityObject fromIO = safeGet(ctx, relationship.getFromIdentityObject()); HibernateIdentityObject toIO = safeGet(ctx, relationship.getToIdentityObject()); HibernateIdentityObjectRelationshipType type = getHibernateIdentityObjectRelationshipType(ctx, relationship.getType());
public void removeRelationshipProperties(IdentityStoreInvocationContext ctx, IdentityObjectRelationship relationship, Set<String> properties) throws IdentityException, OperationNotSupportedException { IdentityStore fromStore = resolveIdentityStore(relationship.getFromIdentityObject()); IdentityStore toStore = resolveIdentityStore(relationship.getToIdentityObject()); if (fromStore == toStore && toStore.getSupportedFeatures().isNamedRelationshipsSupported()) { fromStore.removeRelationshipProperties(resolveInvocationContext(fromStore, ctx), relationship, properties); return; } defaultIdentityStore.removeRelationshipProperties(resolveInvocationContext(defaultIdentityStore, ctx), relationship, properties); }
public Map<String, String> getRelationshipProperties(IdentityStoreInvocationContext ctx, IdentityObjectRelationship relationship) throws IdentityException, OperationNotSupportedException { IdentityStore fromStore = resolveIdentityStore(relationship.getFromIdentityObject()); IdentityStore toStore = resolveIdentityStore(relationship.getToIdentityObject()); if (fromStore == toStore && toStore.getSupportedFeatures().isNamedRelationshipsSupported()) { return fromStore.getRelationshipProperties(resolveInvocationContext(fromStore, ctx), relationship); } return defaultIdentityStore.getRelationshipProperties(resolveInvocationContext(defaultIdentityStore, ctx), relationship); }
public void setRelationshipProperties(IdentityStoreInvocationContext ctx, IdentityObjectRelationship relationship, Map<String, String> properties) throws IdentityException, OperationNotSupportedException { IdentityStore fromStore = resolveIdentityStore(relationship.getFromIdentityObject()); IdentityStore toStore = resolveIdentityStore(relationship.getToIdentityObject()); if (fromStore == toStore && toStore.getSupportedFeatures().isNamedRelationshipsSupported()) { fromStore.setRelationshipProperties(resolveInvocationContext(fromStore, ctx), relationship, properties); return; } defaultIdentityStore.setRelationshipProperties(resolveInvocationContext(defaultIdentityStore, ctx), relationship, properties); }
roles.add(new SimpleRole(new SimpleRoleType(relationship.getName()), createUser(relationship.getToIdentityObject()), createGroup(relationship.getFromIdentityObject()))); roles.add(new SimpleRole(new SimpleRoleType(relationship.getName()), createUser(relationship.getToIdentityObject()), createGroup(relationship.getFromIdentityObject())));
public Role getRole(RoleType roleType, User user, Group group) throws IdentityException { checkNotNullArgument(roleType, "RoleType"); checkNotNullArgument(user, "User"); checkNotNullArgument(group, "Group"); //TODO: does separate hasRelationship method in IdentityStore makes sense? Set<IdentityObjectRelationship> rels = getRepository().resolveRelationships(getInvocationContext(), createIdentityObject(group), createIdentityObject(user), ROLE); if (rels.size() == 0) { return null; } for (IdentityObjectRelationship relationship : rels) { if (roleType.getName().equals(relationship.getName())) { return new SimpleRole(new SimpleRoleType(relationship.getName()), createUser(relationship.getToIdentityObject()), createGroup(relationship.getFromIdentityObject())); } } return null; }
public Role createRole(RoleType roleType, User user, Group group) throws IdentityException { checkNotNullArgument(roleType, "RoleType"); checkNotNullArgument(user, "User"); checkNotNullArgument(group, "Group"); //TODO: add createRoleType switch to the API IdentityObjectRelationship rel = getRepository().createRelationship(getInvocationContext(), createIdentityObject(group), createIdentityObject(user), ROLE, roleType.getName(), false); //TODO: null id - IdentityObjectRelationship doesn't have id return new SimpleRole(new SimpleRoleType(rel.getName()), createUser(rel.getToIdentityObject()), createGroup(rel.getFromIdentityObject())); }