@Override public IdentityQueryBuilder getQueryBuilder() { return new DefaultQueryBuilder(getIdentityContext(), this.partitionManager, getStoreSelector()); }
@Override public IdentityQueryBuilder getQueryBuilder() { return new DefaultQueryBuilder(getIdentityContext(), this.partitionManager, getStoreSelector()); }
@Override protected void doAdd(IdentityType attributedType) { IdentityContext identityContext = getIdentityContext(); IdentityStore identityStore = getStoreSelector().getStoreForIdentityOperation(identityContext, IdentityStore.class, attributedType.getClass(), IdentityOperation.create); identityStore.add(identityContext, attributedType); configureDefaultPartition(identityContext, attributedType, identityStore, this.partitionManager); }
@Override protected void doAdd(IdentityType attributedType) { IdentityContext identityContext = getIdentityContext(); IdentityStore identityStore = getStoreSelector().getStoreForIdentityOperation(identityContext, IdentityStore.class, attributedType.getClass(), IdentityOperation.create); identityStore.add(identityContext, attributedType); configureDefaultPartition(identityContext, attributedType, identityStore, this.partitionManager); }
@Override protected void doUpdate(IdentityType attributedType) { if (attributedType.getPartition() == null) { throw MESSAGES.attributedUndefinedPartition(attributedType); } IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForIdentityOperation(identityContext, IdentityStore.class, attributedType.getClass(), IdentityOperation.update) .update(identityContext, attributedType); }
@Override protected void doUpdate(IdentityType attributedType) { if (attributedType.getPartition() == null) { throw MESSAGES.attributedUndefinedPartition(attributedType); } IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForIdentityOperation(identityContext, IdentityStore.class, attributedType.getClass(), IdentityOperation.update) .update(identityContext, attributedType); }
@Override public void validateCredentials(Credentials credentials) { if (credentials == null) { throw MESSAGES.nullArgument("Credentials"); } try { IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForCredentialOperation(identityContext, credentials.getClass()).validateCredentials(identityContext, credentials); } catch (Exception e) { throw MESSAGES.credentialValidationFailed(credentials, e); } }
@Override public void validateCredentials(Credentials credentials) { if (credentials == null) { throw MESSAGES.nullArgument("Credentials"); } try { IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForCredentialOperation(identityContext, credentials.getClass()).validateCredentials(identityContext, credentials); } catch (Exception e) { throw MESSAGES.credentialValidationFailed(credentials, e); } }
@SuppressWarnings({"rawtypes", "unchecked"}) @Override public <T extends IdentityType> IdentityQuery<T> createIdentityQuery(Class<T> identityType) { if (identityType == null) { throw MESSAGES.nullArgument("IdentityType class"); } return new DefaultIdentityQuery(getQueryBuilder(), getIdentityContext(), identityType, this.partitionManager, getStoreSelector()); }
@SuppressWarnings({"rawtypes", "unchecked"}) @Override public <T extends IdentityType> IdentityQuery<T> createIdentityQuery(Class<T> identityType) { if (identityType == null) { throw MESSAGES.nullArgument("IdentityType class"); } return new DefaultIdentityQuery(getQueryBuilder(), getIdentityContext(), identityType, this.partitionManager, getStoreSelector()); }
@Override public <T extends CredentialStorage> List<T> retrieveCredentials(Account account, Class<T> storageClass) { checkIfExists(account); if (storageClass == null) { throw MESSAGES.nullArgument("CredentialStorage type"); } List<T> storages = new ArrayList<T>(); try { IdentityContext identityContext = getIdentityContext(); for (CredentialStore credentialStore : getStoreSelector().getStoresForCredentialStorage(identityContext, storageClass)) { storages.addAll(credentialStore.retrieveCredentials(identityContext, account, storageClass)); } } catch (Exception e) { throw MESSAGES.credentialRetrievalFailed(account, storageClass, e); } return storages; }
@Override public <T extends CredentialStorage> List<T> retrieveCredentials(Account account, Class<T> storageClass) { checkIfExists(account); if (storageClass == null) { throw MESSAGES.nullArgument("CredentialStorage type"); } List<T> storages = new ArrayList<T>(); try { IdentityContext identityContext = getIdentityContext(); for (CredentialStore credentialStore : getStoreSelector().getStoresForCredentialStorage(identityContext, storageClass)) { storages.addAll(credentialStore.retrieveCredentials(identityContext, account, storageClass)); } } catch (Exception e) { throw MESSAGES.credentialRetrievalFailed(account, storageClass, e); } return storages; }
public ContextualIdentityManager(Partition partition, DefaultPartitionManager partitionManager) { super(partitionManager.getConfiguration(), partition); this.partitionManager = partitionManager; IdentityContext identityContext = getIdentityContext(); if (getStoreSelector().getStoreForPermissionOperation(identityContext) != null) { this.permissionManager = this.partitionManager.createPermissionManager(partition); } else { this.permissionManager = null; } this.relationshipManager = this.partitionManager.createRelationshipManager(); }
public ContextualIdentityManager(Partition partition, DefaultPartitionManager partitionManager) { super(partitionManager.getConfiguration(), partition); this.partitionManager = partitionManager; IdentityContext identityContext = getIdentityContext(); if (getStoreSelector().getStoreForPermissionOperation(identityContext) != null) { this.permissionManager = this.partitionManager.createPermissionManager(partition); } else { this.permissionManager = null; } this.relationshipManager = this.partitionManager.createRelationshipManager(); }
@Override public void updateCredential(Account account, Object credential, Date effectiveDate, Date expiryDate) { checkIfExists(account); if (credential == null) { throw MESSAGES.nullArgument("Credential"); } try { IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForCredentialOperation(identityContext, credential.getClass()).updateCredential(identityContext, account, credential, effectiveDate, expiryDate); fireEvent(new CredentialUpdatedEvent(account, credential, effectiveDate, expiryDate, this.partitionManager)); } catch (Exception e) { throw MESSAGES.credentialUpdateFailed(account, credential, e); } }
@Override public void updateCredential(Account account, Object credential, Date effectiveDate, Date expiryDate) { checkIfExists(account); if (credential == null) { throw MESSAGES.nullArgument("Credential"); } try { IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForCredentialOperation(identityContext, credential.getClass()).updateCredential(identityContext, account, credential, effectiveDate, expiryDate); fireEvent(new CredentialUpdatedEvent(account, credential, effectiveDate, expiryDate, this.partitionManager)); } catch (Exception e) { throw MESSAGES.credentialUpdateFailed(account, credential, e); } }
@Override public void removeCredential(Account account, Class<? extends CredentialStorage> storageClass) { checkIfExists(account); if (storageClass == null) { throw MESSAGES.nullArgument("CredentialStorage type"); } try { IdentityContext identityContext = getIdentityContext(); for (CredentialStore credentialStore : getStoreSelector().getStoresForCredentialStorage(identityContext, storageClass)) { credentialStore.removeCredential(identityContext, account, storageClass); } } catch (Exception e) { throw MESSAGES.credentialRetrievalFailed(account, storageClass, e); } }
@Override public void removeCredential(Account account, Class<? extends CredentialStorage> storageClass) { checkIfExists(account); if (storageClass == null) { throw MESSAGES.nullArgument("CredentialStorage type"); } try { IdentityContext identityContext = getIdentityContext(); for (CredentialStore credentialStore : getStoreSelector().getStoresForCredentialStorage(identityContext, storageClass)) { credentialStore.removeCredential(identityContext, account, storageClass); } } catch (Exception e) { throw MESSAGES.credentialRetrievalFailed(account, storageClass, e); } }
@Override protected void doRemove(IdentityType attributedType) { RelationshipQuery<Relationship> query = this.relationshipManager.createRelationshipQuery(Relationship.class); query.setParameter(Relationship.IDENTITY, attributedType); for (Relationship relationship : query.getResultList()) { this.relationshipManager.remove(relationship); } if (this.permissionManager != null) { List<Permission> permissions = this.permissionManager.listPermissions(attributedType); for (Permission permission : permissions) { this.permissionManager.revokePermission(attributedType, permission.getResourceClass(), permission.getOperation()); } } IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForIdentityOperation(identityContext, IdentityStore.class, attributedType.getClass(), IdentityOperation.delete) .remove(identityContext, attributedType); }
@Override protected void doRemove(IdentityType attributedType) { RelationshipQuery<Relationship> query = this.relationshipManager.createRelationshipQuery(Relationship.class); query.setParameter(Relationship.IDENTITY, attributedType); for (Relationship relationship : query.getResultList()) { this.relationshipManager.remove(relationship); } if (this.permissionManager != null) { List<Permission> permissions = this.permissionManager.listPermissions(attributedType); for (Permission permission : permissions) { this.permissionManager.revokePermission(attributedType, permission.getResourceClass(), permission.getOperation()); } } IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForIdentityOperation(identityContext, IdentityStore.class, attributedType.getClass(), IdentityOperation.delete) .remove(identityContext, attributedType); }