Search in sources :

Example 6 with Policy

use of org.apache.nifi.registry.security.authorization.file.generated.Policy in project nifi-registry by apache.

the class FileAccessPolicyProvider method updateAccessPolicy.

@Override
public synchronized AccessPolicy updateAccessPolicy(AccessPolicy accessPolicy) throws AuthorizationAccessException {
    if (accessPolicy == null) {
        throw new IllegalArgumentException("AccessPolicy cannot be null");
    }
    final AuthorizationsHolder holder = this.authorizationsHolder.get();
    final Authorizations authorizations = holder.getAuthorizations();
    // try to find an existing Authorization that matches the policy id
    Policy updatePolicy = null;
    for (Policy policy : authorizations.getPolicies().getPolicy()) {
        if (policy.getIdentifier().equals(accessPolicy.getIdentifier())) {
            updatePolicy = policy;
            break;
        }
    }
    // no matching Policy so return null
    if (updatePolicy == null) {
        return null;
    }
    // update the Policy, save, reload, and return
    transferUsersAndGroups(accessPolicy, updatePolicy);
    saveAndRefreshHolder(authorizations);
    return this.authorizationsHolder.get().getPoliciesById().get(accessPolicy.getIdentifier());
}
Also used : AccessPolicy(org.apache.nifi.registry.security.authorization.AccessPolicy) Policy(org.apache.nifi.registry.security.authorization.file.generated.Policy) Authorizations(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)

Aggregations

AccessPolicy (org.apache.nifi.registry.security.authorization.AccessPolicy)6 Policy (org.apache.nifi.registry.security.authorization.file.generated.Policy)6 Authorizations (org.apache.nifi.registry.security.authorization.file.generated.Authorizations)3 User (org.apache.nifi.registry.security.authorization.User)1