@Override public RelationshipManager createRelationshipManager() { return new ContextualRelationshipManager(this); }
private PartitionManager getPartitionManager() { return this.relationshipManager.getPartitionManager(); }
private StoreSelector getStoreSelector() { return this.relationshipManager.getStoreSelector(); }
@Override protected void doUpdate(Relationship relationship) { IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForRelationshipOperation(identityContext, relationship.getClass(), relationship, IdentityOperation.update) .update(identityContext, relationship); }
@Override protected void fireAttributedTypeUpdatedEvent(Relationship relationship) { fireEvent(new RelationshipUpdatedEvent(relationship, this.partitionManager)); }
@Override public <T extends Relationship> RelationshipQuery<T> createRelationshipQuery(Class<T> relationshipClass) { if (relationshipClass == null) { MESSAGES.nullArgument("Relationship Type"); } return new DefaultRelationshipQuery<T>(getIdentityContext(), relationshipClass, this); }
@Override public <C extends Relationship> C lookupById(Class<C> attributedType, String id) throws IdentityManagementException { List<C> result = createRelationshipQuery(attributedType).setParameter (Relationship.ID, id) .getResultList(); if (!result.isEmpty()) { return result.get(0); } return null; }
@Override public boolean inheritsPrivileges(IdentityType identity, IdentityType assignee) { if (identity.equals(assignee)) { return true; } PrivilegeChainQuery privilegeChainQuery = getConfiguration().getPrivilegeChainQuery(); return privilegeChainQuery.inheritsPrivileges(this, identity, assignee); }
@Override protected void doRemove(Relationship relationship) { IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForRelationshipOperation(identityContext, relationship.getClass(), relationship, IdentityOperation.delete) .remove(identityContext, relationship); }
@Override protected void fireAttributedTypeRemovedEvent(Relationship attributedType) { fireEvent(new RelationshipDeletedEvent(attributedType, this.partitionManager)); }
@Override public <T extends Relationship> RelationshipQuery<T> createRelationshipQuery(Class<T> relationshipClass) { if (relationshipClass == null) { MESSAGES.nullArgument("Relationship Type"); } return new DefaultRelationshipQuery<T>(getIdentityContext(), relationshipClass, this); }
@Override public <C extends Relationship> C lookupById(Class<C> attributedType, String id) throws IdentityManagementException { List<C> result = createRelationshipQuery(attributedType).setParameter (Relationship.ID, id) .getResultList(); if (!result.isEmpty()) { return result.get(0); } return null; }
@Override public boolean inheritsPrivileges(IdentityType identity, IdentityType assignee) { if (identity.equals(assignee)) { return true; } PrivilegeChainQuery privilegeChainQuery = getConfiguration().getPrivilegeChainQuery(); return privilegeChainQuery.inheritsPrivileges(this, identity, assignee); }
@Override protected void doAdd(Relationship relationship) { IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForRelationshipOperation(identityContext, relationship.getClass(), relationship, IdentityOperation.create) .add(identityContext, relationship); }
@Override protected void fireAttributedTypeRemovedEvent(Relationship attributedType) { fireEvent(new RelationshipDeletedEvent(attributedType, this.partitionManager)); }
private PartitionManager getPartitionManager() { return this.relationshipManager.getPartitionManager(); }
@Override public RelationshipManager createRelationshipManager() { return new ContextualRelationshipManager(this); }
private StoreSelector getStoreSelector() { return this.relationshipManager.getStoreSelector(); }
@Override protected void doRemove(Relationship relationship) { IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForRelationshipOperation(identityContext, relationship.getClass(), relationship, IdentityOperation.delete) .remove(identityContext, relationship); }
@Override protected void fireAttributedTypeUpdatedEvent(Relationship relationship) { fireEvent(new RelationshipUpdatedEvent(relationship, this.partitionManager)); }