Repository: nifi-registry
Updated Branches:
  refs/heads/master 247985ada -> 81a1a360c


NIFIREG-59 Migrate Authorizer Exceptions

Replaces Authorizer exception types with more general security
provider exception types.

This closes #44.

Signed-off-by: Bryan Bende <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/nifi-registry/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-registry/commit/81a1a360
Tree: http://git-wip-us.apache.org/repos/asf/nifi-registry/tree/81a1a360
Diff: http://git-wip-us.apache.org/repos/asf/nifi-registry/diff/81a1a360

Branch: refs/heads/master
Commit: 81a1a360c038d6e019ff7f84fd136422aea9d1d5
Parents: 247985a
Author: Kevin Doran <[email protected]>
Authored: Wed Nov 29 18:57:31 2017 -0500
Committer: Bryan Bende <[email protected]>
Committed: Fri Dec 1 15:58:07 2017 -0500

----------------------------------------------------------------------
 .../AbstractPolicyBasedAuthorizer.java          | 37 +++++----------
 .../authorization/AuthorizerFactory.java        | 40 ++++++++--------
 .../CompositeConfigurableUserGroupProvider.java | 26 ++++------
 .../CompositeUserGroupProvider.java             | 21 +++-----
 .../StandardManagedAuthorizer.java              | 32 ++++---------
 .../file/FileAccessPolicyProvider.java          | 25 +++++-----
 .../authorization/file/FileAuthorizer.java      | 14 +++---
 .../file/FileUserGroupProvider.java             | 34 ++++++-------
 .../ldap/tenants/LdapUserGroupProvider.java     | 50 ++++++++++----------
 .../registry/service/AuthorizationService.java  | 16 +++----
 .../authorization/AccessPolicyProvider.java     | 14 +++---
 .../security/authorization/Authorizer.java      | 14 +++---
 .../authorization/UserGroupProvider.java        | 14 +++---
 .../exception/AuthorizerCreationException.java  | 40 ----------------
 .../AuthorizerDestructionException.java         | 40 ----------------
 15 files changed, 146 insertions(+), 271 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AbstractPolicyBasedAuthorizer.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AbstractPolicyBasedAuthorizer.java
 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AbstractPolicyBasedAuthorizer.java
index 734a983..3e721de 100644
--- 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AbstractPolicyBasedAuthorizer.java
+++ 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AbstractPolicyBasedAuthorizer.java
@@ -16,25 +16,10 @@
  */
 package org.apache.nifi.registry.security.authorization;
 
-import org.apache.nifi.registry.security.authorization.AccessPolicy;
-import org.apache.nifi.registry.security.authorization.AccessPolicyProvider;
-import 
org.apache.nifi.registry.security.authorization.AccessPolicyProviderInitializationContext;
-import org.apache.nifi.registry.security.authorization.AuthorizationRequest;
-import org.apache.nifi.registry.security.authorization.AuthorizationResult;
-import 
org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext;
-import 
org.apache.nifi.registry.security.authorization.ConfigurableAccessPolicyProvider;
-import 
org.apache.nifi.registry.security.authorization.ConfigurableUserGroupProvider;
-import org.apache.nifi.registry.security.authorization.Group;
-import org.apache.nifi.registry.security.authorization.ManagedAuthorizer;
-import org.apache.nifi.registry.security.authorization.RequestAction;
-import org.apache.nifi.registry.security.authorization.User;
-import org.apache.nifi.registry.security.authorization.UserAndGroups;
-import org.apache.nifi.registry.security.authorization.UserGroupProvider;
-import 
org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext;
 import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException;
 import 
org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderDestructionException;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -78,7 +63,7 @@ public abstract class AbstractPolicyBasedAuthorizer 
implements ManagedAuthorizer
     static final String ACTIONS_ATTR = "actions";
 
     @Override
-    public final void onConfigured(final AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+    public final void onConfigured(final AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
         doOnConfigured(configurationContext);
     }
 
@@ -86,9 +71,9 @@ public abstract class AbstractPolicyBasedAuthorizer 
implements ManagedAuthorizer
      * Allows sub-classes to take action when onConfigured is called.
      *
      * @param configurationContext the configuration context
-     * @throws AuthorizerCreationException if an error occurs during 
onConfigured process
+     * @throws SecurityProviderCreationException if an error occurs during 
onConfigured process
      */
-    protected abstract void doOnConfigured(final 
AuthorizerConfigurationContext configurationContext) throws 
AuthorizerCreationException;
+    protected abstract void doOnConfigured(final 
AuthorizerConfigurationContext configurationContext) throws 
SecurityProviderCreationException;
 
     @Override
     public final AuthorizationResult authorize(AuthorizationRequest request) 
throws AuthorizationAccessException {
@@ -667,29 +652,29 @@ public abstract class AbstractPolicyBasedAuthorizer 
implements ManagedAuthorizer
                     }
 
                     @Override
-                    public void 
initialize(UserGroupProviderInitializationContext initializationContext) throws 
AuthorizerCreationException {
+                    public void 
initialize(UserGroupProviderInitializationContext initializationContext) throws 
SecurityProviderCreationException {
                     }
 
                     @Override
-                    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+                    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
                     }
 
                     @Override
-                    public void preDestruction() throws 
AuthorizerDestructionException {
+                    public void preDestruction() throws 
SecurityProviderDestructionException {
                     }
                 };
             }
 
             @Override
-            public void initialize(AccessPolicyProviderInitializationContext 
initializationContext) throws AuthorizerCreationException {
+            public void initialize(AccessPolicyProviderInitializationContext 
initializationContext) throws SecurityProviderCreationException {
             }
 
             @Override
-            public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+            public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
             }
 
             @Override
-            public void preDestruction() throws AuthorizerDestructionException 
{
+            public void preDestruction() throws 
SecurityProviderDestructionException {
             }
         };
     }

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AuthorizerFactory.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AuthorizerFactory.java
 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AuthorizerFactory.java
index 1ca6368..f94889f 100644
--- 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AuthorizerFactory.java
+++ 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AuthorizerFactory.java
@@ -22,11 +22,11 @@ import 
org.apache.nifi.registry.properties.NiFiRegistryProperties;
 import org.apache.nifi.registry.provider.StandardProviderFactory;
 import 
org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext;
 import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException;
 import 
org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException;
 import org.apache.nifi.registry.security.authorization.generated.Authorizers;
 import org.apache.nifi.registry.security.authorization.generated.Prop;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderDestructionException;
 import org.apache.nifi.registry.security.util.XmlUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -399,15 +399,15 @@ public class AuthorizerFactory implements 
UserGroupProviderLookup, AccessPolicyP
             }
 
             @Override
-            public void initialize(AuthorizerInitializationContext 
initializationContext) throws AuthorizerCreationException {
+            public void initialize(AuthorizerInitializationContext 
initializationContext) throws SecurityProviderCreationException {
             }
 
             @Override
-            public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+            public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
             }
 
             @Override
-            public void preDestruction() throws AuthorizerDestructionException 
{
+            public void preDestruction() throws 
SecurityProviderCreationException {
             }
         };
     }
@@ -636,17 +636,17 @@ public class AuthorizerFactory implements 
UserGroupProviderLookup, AccessPolicyP
                                         }
 
                                         @Override
-                                        public void 
initialize(UserGroupProviderInitializationContext initializationContext) throws 
AuthorizerCreationException {
+                                        public void 
initialize(UserGroupProviderInitializationContext initializationContext) throws 
SecurityProviderCreationException {
                                             
baseConfigurableUserGroupProvider.initialize(initializationContext);
                                         }
 
                                         @Override
-                                        public void 
onConfigured(AuthorizerConfigurationContext configurationContext) throws 
AuthorizerCreationException {
+                                        public void 
onConfigured(AuthorizerConfigurationContext configurationContext) throws 
SecurityProviderCreationException {
                                             
baseConfigurableUserGroupProvider.onConfigured(configurationContext);
                                         }
 
                                         @Override
-                                        public void preDestruction() throws 
AuthorizerDestructionException {
+                                        public void preDestruction() throws 
SecurityProviderDestructionException {
                                             
baseConfigurableUserGroupProvider.preDestruction();
                                         }
                                     };
@@ -656,17 +656,17 @@ public class AuthorizerFactory implements 
UserGroupProviderLookup, AccessPolicyP
                             }
 
                             @Override
-                            public void 
initialize(AccessPolicyProviderInitializationContext initializationContext) 
throws AuthorizerCreationException {
+                            public void 
initialize(AccessPolicyProviderInitializationContext initializationContext) 
throws SecurityProviderCreationException {
                                 
baseConfigurableAccessPolicyProvider.initialize(initializationContext);
                             }
 
                             @Override
-                            public void 
onConfigured(AuthorizerConfigurationContext configurationContext) throws 
AuthorizerCreationException {
+                            public void 
onConfigured(AuthorizerConfigurationContext configurationContext) throws 
SecurityProviderCreationException {
                                 
baseConfigurableAccessPolicyProvider.onConfigured(configurationContext);
                             }
 
                             @Override
-                            public void preDestruction() throws 
AuthorizerDestructionException {
+                            public void preDestruction() throws 
SecurityProviderDestructionException {
                                 
baseConfigurableAccessPolicyProvider.preDestruction();
                             }
                         };
@@ -686,12 +686,12 @@ public class AuthorizerFactory implements 
UserGroupProviderLookup, AccessPolicyP
                 }
 
                 @Override
-                public void initialize(AuthorizerInitializationContext 
initializationContext) throws AuthorizerCreationException {
+                public void initialize(AuthorizerInitializationContext 
initializationContext) throws SecurityProviderCreationException {
                     baseManagedAuthorizer.initialize(initializationContext);
                 }
 
                 @Override
-                public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+                public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
                     baseManagedAuthorizer.onConfigured(configurationContext);
 
                     final AccessPolicyProvider accessPolicyProvider = 
baseManagedAuthorizer.getAccessPolicyProvider();
@@ -700,27 +700,27 @@ public class AuthorizerFactory implements 
UserGroupProviderLookup, AccessPolicyP
                     // ensure that only one policy per resource-action exists
                     for (AccessPolicy accessPolicy : 
accessPolicyProvider.getAccessPolicies()) {
                         if (policyExists(accessPolicyProvider, accessPolicy)) {
-                            throw new 
AuthorizerCreationException(String.format("Found multiple policies for '%s' 
with '%s'.", accessPolicy.getResource(), accessPolicy.getAction()));
+                            throw new 
SecurityProviderCreationException(String.format("Found multiple policies for 
'%s' with '%s'.", accessPolicy.getResource(), accessPolicy.getAction()));
                         }
                     }
 
                     // ensure that only one group exists per identity
                     for (User user : userGroupProvider.getUsers()) {
                         if (tenantExists(userGroupProvider, 
user.getIdentifier(), user.getIdentity())) {
-                            throw new 
AuthorizerCreationException(String.format("Found multiple users/user groups 
with identity '%s'.", user.getIdentity()));
+                            throw new 
SecurityProviderCreationException(String.format("Found multiple users/user 
groups with identity '%s'.", user.getIdentity()));
                         }
                     }
 
                     // ensure that only one group exists per identity
                     for (Group group : userGroupProvider.getGroups()) {
                         if (tenantExists(userGroupProvider, 
group.getIdentifier(), group.getName())) {
-                            throw new 
AuthorizerCreationException(String.format("Found multiple users/user groups 
with name '%s'.", group.getName()));
+                            throw new 
SecurityProviderCreationException(String.format("Found multiple users/user 
groups with name '%s'.", group.getName()));
                         }
                     }
                 }
 
                 @Override
-                public void preDestruction() throws 
AuthorizerDestructionException {
+                public void preDestruction() throws 
SecurityProviderDestructionException {
                     baseManagedAuthorizer.preDestruction();
                 }
             };
@@ -737,17 +737,17 @@ public class AuthorizerFactory implements 
UserGroupProviderLookup, AccessPolicyP
                 }
 
                 @Override
-                public void initialize(AuthorizerInitializationContext 
initializationContext) throws AuthorizerCreationException {
+                public void initialize(AuthorizerInitializationContext 
initializationContext) throws SecurityProviderCreationException {
                     baseAuthorizer.initialize(initializationContext);
                 }
 
                 @Override
-                public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+                public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
                     baseAuthorizer.onConfigured(configurationContext);
                 }
 
                 @Override
-                public void preDestruction() throws 
AuthorizerDestructionException {
+                public void preDestruction() throws 
SecurityProviderDestructionException {
                     baseAuthorizer.preDestruction();
                 }
             };

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeConfigurableUserGroupProvider.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeConfigurableUserGroupProvider.java
 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeConfigurableUserGroupProvider.java
index dc687ef..dfa671e 100644
--- 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeConfigurableUserGroupProvider.java
+++ 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeConfigurableUserGroupProvider.java
@@ -16,19 +16,11 @@
  */
 package org.apache.nifi.registry.security.authorization;
 
-import 
org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext;
-import 
org.apache.nifi.registry.security.authorization.ConfigurableUserGroupProvider;
-import org.apache.nifi.registry.security.authorization.Group;
-import org.apache.nifi.registry.security.authorization.User;
-import org.apache.nifi.registry.security.authorization.UserAndGroups;
-import org.apache.nifi.registry.security.authorization.UserGroupProvider;
-import 
org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext;
-import org.apache.nifi.registry.security.authorization.UserGroupProviderLookup;
+import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
 import 
org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderDestructionException;
 import org.apache.nifi.registry.util.PropertyValue;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -45,7 +37,7 @@ public class CompositeConfigurableUserGroupProvider extends 
CompositeUserGroupPr
     }
 
     @Override
-    public void initialize(UserGroupProviderInitializationContext 
initializationContext) throws AuthorizerCreationException {
+    public void initialize(UserGroupProviderInitializationContext 
initializationContext) throws SecurityProviderCreationException {
         userGroupProviderLookup = 
initializationContext.getUserGroupProviderLookup();
 
         // initialize the CompositeUserGroupProvider
@@ -53,20 +45,20 @@ public class CompositeConfigurableUserGroupProvider extends 
CompositeUserGroupPr
     }
 
     @Override
-    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
         final PropertyValue configurableUserGroupProviderKey = 
configurationContext.getProperty(PROP_CONFIGURABLE_USER_GROUP_PROVIDER);
         if (!configurableUserGroupProviderKey.isSet()) {
-            throw new AuthorizerCreationException("The Configurable User Group 
Provider must be set.");
+            throw new SecurityProviderCreationException("The Configurable User 
Group Provider must be set.");
         }
 
         final UserGroupProvider userGroupProvider = 
userGroupProviderLookup.getUserGroupProvider(configurableUserGroupProviderKey.getValue());
 
         if (userGroupProvider == null) {
-            throw new AuthorizerCreationException(String.format("Unable to 
locate the Configurable User Group Provider: %s", 
configurableUserGroupProviderKey));
+            throw new SecurityProviderCreationException(String.format("Unable 
to locate the Configurable User Group Provider: %s", 
configurableUserGroupProviderKey));
         }
 
         if (!(userGroupProvider instanceof ConfigurableUserGroupProvider)) {
-            throw new AuthorizerCreationException(String.format("The 
Configurable User Group Provider is not configurable: %s", 
configurableUserGroupProviderKey));
+            throw new SecurityProviderCreationException(String.format("The 
Configurable User Group Provider is not configurable: %s", 
configurableUserGroupProviderKey));
         }
 
         configurableUserGroupProvider = (ConfigurableUserGroupProvider) 
userGroupProvider;
@@ -199,7 +191,7 @@ public class CompositeConfigurableUserGroupProvider extends 
CompositeUserGroupPr
     }
 
     @Override
-    public void preDestruction() throws AuthorizerDestructionException {
+    public void preDestruction() throws SecurityProviderDestructionException {
         super.preDestruction();
     }
 }

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeUserGroupProvider.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeUserGroupProvider.java
 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeUserGroupProvider.java
index 96e9d41..40ced18 100644
--- 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeUserGroupProvider.java
+++ 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeUserGroupProvider.java
@@ -17,16 +17,9 @@
 package org.apache.nifi.registry.security.authorization;
 
 import org.apache.commons.lang3.StringUtils;
-import 
org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext;
-import org.apache.nifi.registry.security.authorization.Group;
-import org.apache.nifi.registry.security.authorization.User;
-import org.apache.nifi.registry.security.authorization.UserAndGroups;
-import org.apache.nifi.registry.security.authorization.UserGroupProvider;
-import 
org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext;
-import org.apache.nifi.registry.security.authorization.UserGroupProviderLookup;
 import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderDestructionException;
 
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -55,12 +48,12 @@ public class CompositeUserGroupProvider implements 
UserGroupProvider {
     }
 
     @Override
-    public void initialize(UserGroupProviderInitializationContext 
initializationContext) throws AuthorizerCreationException {
+    public void initialize(UserGroupProviderInitializationContext 
initializationContext) throws SecurityProviderCreationException {
         userGroupProviderLookup = 
initializationContext.getUserGroupProviderLookup();
     }
 
     @Override
-    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
         for (Map.Entry<String,String> entry : 
configurationContext.getProperties().entrySet()) {
             Matcher matcher = 
USER_GROUP_PROVIDER_PATTERN.matcher(entry.getKey());
             if (matcher.matches() && !StringUtils.isBlank(entry.getValue())) {
@@ -68,7 +61,7 @@ public class CompositeUserGroupProvider implements 
UserGroupProvider {
                 final UserGroupProvider userGroupProvider = 
userGroupProviderLookup.getUserGroupProvider(userGroupProviderKey);
 
                 if (userGroupProvider == null) {
-                    throw new 
AuthorizerCreationException(String.format("Unable to locate the configured User 
Group Provider: %s", userGroupProviderKey));
+                    throw new 
SecurityProviderCreationException(String.format("Unable to locate the 
configured User Group Provider: %s", userGroupProviderKey));
                 }
 
                 userGroupProviders.add(userGroupProvider);
@@ -76,7 +69,7 @@ public class CompositeUserGroupProvider implements 
UserGroupProvider {
         }
 
         if (!allowEmptyProviderList && userGroupProviders.isEmpty()) {
-            throw new AuthorizerCreationException("At least one User Group 
Provider must be configured.");
+            throw new SecurityProviderCreationException("At least one User 
Group Provider must be configured.");
         }
     }
 
@@ -179,6 +172,6 @@ public class CompositeUserGroupProvider implements 
UserGroupProvider {
     }
 
     @Override
-    public void preDestruction() throws AuthorizerDestructionException {
+    public void preDestruction() throws SecurityProviderDestructionException {
     }
 }

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/StandardManagedAuthorizer.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/StandardManagedAuthorizer.java
 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/StandardManagedAuthorizer.java
index b6f9842..58bcf55 100644
--- 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/StandardManagedAuthorizer.java
+++ 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/StandardManagedAuthorizer.java
@@ -17,25 +17,11 @@
 package org.apache.nifi.registry.security.authorization;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.nifi.registry.security.authorization.AccessPolicy;
-import org.apache.nifi.registry.security.authorization.AccessPolicyProvider;
-import 
org.apache.nifi.registry.security.authorization.AccessPolicyProviderLookup;
-import org.apache.nifi.registry.security.authorization.AuthorizationRequest;
-import org.apache.nifi.registry.security.authorization.AuthorizationResult;
-import 
org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext;
-import 
org.apache.nifi.registry.security.authorization.AuthorizerInitializationContext;
-import 
org.apache.nifi.registry.security.authorization.ConfigurableAccessPolicyProvider;
-import 
org.apache.nifi.registry.security.authorization.ConfigurableUserGroupProvider;
-import org.apache.nifi.registry.security.authorization.Group;
-import org.apache.nifi.registry.security.authorization.ManagedAuthorizer;
-import org.apache.nifi.registry.security.authorization.User;
-import org.apache.nifi.registry.security.authorization.UserAndGroups;
-import org.apache.nifi.registry.security.authorization.UserGroupProvider;
+import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
 import 
org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderDestructionException;
 import org.apache.nifi.registry.util.PropertyValue;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -75,29 +61,29 @@ public class StandardManagedAuthorizer implements 
ManagedAuthorizer {
     }
 
     @Override
-    public void initialize(AuthorizerInitializationContext 
initializationContext) throws AuthorizerCreationException {
+    public void initialize(AuthorizerInitializationContext 
initializationContext) throws SecurityProviderCreationException {
         accessPolicyProviderLookup = 
initializationContext.getAccessPolicyProviderLookup();
     }
 
     @Override
-    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
         final PropertyValue accessPolicyProviderKey = 
configurationContext.getProperty("Access Policy Provider");
         if (!accessPolicyProviderKey.isSet()) {
-            throw new AuthorizerCreationException("The Access Policy Provider 
must be set.");
+            throw new SecurityProviderCreationException("The Access Policy 
Provider must be set.");
         }
 
         accessPolicyProvider = 
accessPolicyProviderLookup.getAccessPolicyProvider(accessPolicyProviderKey.getValue());
 
         // ensure the desired access policy provider was found
         if (accessPolicyProvider == null) {
-            throw new AuthorizerCreationException(String.format("Unable to 
locate configured Access Policy Provider: %s", accessPolicyProviderKey));
+            throw new SecurityProviderCreationException(String.format("Unable 
to locate configured Access Policy Provider: %s", accessPolicyProviderKey));
         }
 
         userGroupProvider = accessPolicyProvider.getUserGroupProvider();
 
         // ensure the desired access policy provider has a user group provider
         if (userGroupProvider == null) {
-            throw new AuthorizerCreationException(String.format("Configured 
Access Policy Provider %s does not contain a User Group Provider", 
accessPolicyProviderKey));
+            throw new 
SecurityProviderCreationException(String.format("Configured Access Policy 
Provider %s does not contain a User Group Provider", accessPolicyProviderKey));
         }
     }
 
@@ -254,7 +240,7 @@ public class StandardManagedAuthorizer implements 
ManagedAuthorizer {
     }
 
     @Override
-    public void preDestruction() throws AuthorizerDestructionException {
+    public void preDestruction() throws SecurityProviderDestructionException {
 
     }
 

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAccessPolicyProvider.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAccessPolicyProvider.java
 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAccessPolicyProvider.java
index 74887ad..2a71c5e 100644
--- 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAccessPolicyProvider.java
+++ 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAccessPolicyProvider.java
@@ -30,12 +30,12 @@ import 
org.apache.nifi.registry.security.authorization.UserGroupProvider;
 import org.apache.nifi.registry.security.authorization.UserGroupProviderLookup;
 import 
org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext;
 import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException;
 import 
org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException;
 import 
org.apache.nifi.registry.security.authorization.file.generated.Authorizations;
 import org.apache.nifi.registry.security.authorization.file.generated.Policies;
 import org.apache.nifi.registry.security.authorization.file.generated.Policy;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderDestructionException;
 import org.apache.nifi.registry.util.PropertyValue;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -143,34 +143,33 @@ public class FileAccessPolicyProvider implements 
ConfigurableAccessPolicyProvide
     private final AtomicReference<AuthorizationsHolder> authorizationsHolder = 
new AtomicReference<>();
 
     @Override
-    public void initialize(AccessPolicyProviderInitializationContext 
initializationContext) throws AuthorizerCreationException {
+    public void initialize(AccessPolicyProviderInitializationContext 
initializationContext) throws SecurityProviderCreationException {
         userGroupProviderLookup = 
initializationContext.getUserGroupProviderLookup();
 
         try {
             final SchemaFactory schemaFactory = 
SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
             authorizationsSchema = 
schemaFactory.newSchema(FileAuthorizer.class.getResource(AUTHORIZATIONS_XSD));
-//            usersSchema = 
schemaFactory.newSchema(FileAuthorizer.class.getResource(USERS_XSD));
         } catch (Exception e) {
-            throw new AuthorizerCreationException(e);
+            throw new SecurityProviderCreationException(e);
         }
     }
 
     @Override
-    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
         try {
             final PropertyValue userGroupProviderIdentifier = 
configurationContext.getProperty(PROP_USER_GROUP_PROVIDER);
             if (!userGroupProviderIdentifier.isSet()) {
-                throw new AuthorizerCreationException("The user group provider 
must be specified.");
+                throw new SecurityProviderCreationException("The user group 
provider must be specified.");
             }
 
             userGroupProvider = 
userGroupProviderLookup.getUserGroupProvider(userGroupProviderIdentifier.getValue());
             if (userGroupProvider == null) {
-                throw new AuthorizerCreationException("Unable to locate user 
group provider with identifier " + userGroupProviderIdentifier.getValue());
+                throw new SecurityProviderCreationException("Unable to locate 
user group provider with identifier " + userGroupProviderIdentifier.getValue());
             }
 
             final PropertyValue authorizationsPath = 
configurationContext.getProperty(PROP_AUTHORIZATIONS_FILE);
             if (StringUtils.isBlank(authorizationsPath.getValue())) {
-                throw new AuthorizerCreationException("The authorizations file 
must be specified.");
+                throw new SecurityProviderCreationException("The 
authorizations file must be specified.");
             }
 
             // get the authorizations file and ensure it exists
@@ -200,8 +199,8 @@ public class FileAccessPolicyProvider implements 
ConfigurableAccessPolicyProvide
             load();
 
             logger.info(String.format("Authorizations file loaded at %s", new 
Date().toString()));
-        } catch (AuthorizerCreationException | JAXBException | 
IllegalStateException | SAXException e) {
-            throw new AuthorizerCreationException(e);
+        } catch (SecurityProviderCreationException | JAXBException | 
IllegalStateException | SAXException e) {
+            throw new SecurityProviderCreationException(e);
         }
     }
 
@@ -509,7 +508,7 @@ public class FileAccessPolicyProvider implements 
ConfigurableAccessPolicyProvide
     private void populateInitialAdmin(final Authorizations authorizations) {
         final User initialAdmin = 
userGroupProvider.getUserByIdentity(initialAdminIdentity);
         if (initialAdmin == null) {
-            throw new AuthorizerCreationException("Unable to locate initial 
admin " + initialAdminIdentity + " to seed policies");
+            throw new SecurityProviderCreationException("Unable to locate 
initial admin " + initialAdminIdentity + " to seed policies");
         }
 
         for (ResourceActionPair resourceAction : 
INITIAL_ADMIN_ACCESS_POLICIES) {
@@ -743,7 +742,7 @@ public class FileAccessPolicyProvider implements 
ConfigurableAccessPolicyProvide
     }
 
     @Override
-    public void preDestruction() throws AuthorizerDestructionException {
+    public void preDestruction() throws SecurityProviderDestructionException {
     }
 
     private static class ResourceActionPair {

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAuthorizer.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAuthorizer.java
 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAuthorizer.java
index e7104e3..1fe7f45 100644
--- 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAuthorizer.java
+++ 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAuthorizer.java
@@ -16,23 +16,23 @@
  */
 package org.apache.nifi.registry.security.authorization.file;
 
-import 
org.apache.nifi.registry.security.authorization.StandardAuthorizerConfigurationContext;
-import 
org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext;
+import org.apache.nifi.registry.properties.NiFiRegistryProperties;
 import 
org.apache.nifi.registry.security.authorization.AbstractPolicyBasedAuthorizer;
 import org.apache.nifi.registry.security.authorization.AccessPolicy;
 import 
org.apache.nifi.registry.security.authorization.AccessPolicyProviderInitializationContext;
 import 
org.apache.nifi.registry.security.authorization.AccessPolicyProviderLookup;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
 import 
org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException;
 import 
org.apache.nifi.registry.security.authorization.AuthorizerInitializationContext;
 import org.apache.nifi.registry.security.authorization.Group;
 import org.apache.nifi.registry.security.authorization.RequestAction;
+import 
org.apache.nifi.registry.security.authorization.StandardAuthorizerConfigurationContext;
 import org.apache.nifi.registry.security.authorization.User;
 import 
org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext;
 import org.apache.nifi.registry.security.authorization.UserGroupProviderLookup;
 import org.apache.nifi.registry.security.authorization.UsersAndAccessPolicies;
-import org.apache.nifi.registry.properties.NiFiRegistryProperties;
+import 
org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext;
+import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -57,7 +57,7 @@ public class FileAuthorizer extends 
AbstractPolicyBasedAuthorizer {
     private FileAccessPolicyProvider accessPolicyProvider = new 
FileAccessPolicyProvider();
 
     @Override
-    public void initialize(final AuthorizerInitializationContext 
initializationContext) throws AuthorizerCreationException {
+    public void initialize(final AuthorizerInitializationContext 
initializationContext) throws SecurityProviderCreationException {
         // initialize the user group provider
         userGroupProvider.initialize(new 
UserGroupProviderInitializationContext() {
             @Override
@@ -97,7 +97,7 @@ public class FileAuthorizer extends 
AbstractPolicyBasedAuthorizer {
     }
 
     @Override
-    public void doOnConfigured(final AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+    public void doOnConfigured(final AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
         final Map<String, String> configurationProperties = 
configurationContext.getProperties();
 
         // relay the relevant config

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileUserGroupProvider.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileUserGroupProvider.java
 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileUserGroupProvider.java
index 85d62cd..b15e599 100644
--- 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileUserGroupProvider.java
+++ 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileUserGroupProvider.java
@@ -17,25 +17,25 @@
 package org.apache.nifi.registry.security.authorization.file;
 
 import org.apache.commons.lang3.StringUtils;
-import 
org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext;
-import 
org.apache.nifi.registry.security.authorization.file.tenants.generated.Groups;
-import 
org.apache.nifi.registry.security.authorization.file.tenants.generated.Tenants;
-import 
org.apache.nifi.registry.security.authorization.file.tenants.generated.Users;
+import org.apache.nifi.registry.properties.NiFiRegistryProperties;
 import org.apache.nifi.registry.properties.util.IdentityMapping;
 import org.apache.nifi.registry.properties.util.IdentityMappingUtil;
-import org.apache.nifi.registry.util.PropertyValue;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
 import 
org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException;
 import 
org.apache.nifi.registry.security.authorization.ConfigurableUserGroupProvider;
 import org.apache.nifi.registry.security.authorization.Group;
-import 
org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException;
 import org.apache.nifi.registry.security.authorization.User;
 import org.apache.nifi.registry.security.authorization.UserAndGroups;
 import 
org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext;
-import org.apache.nifi.registry.properties.NiFiRegistryProperties;
+import 
org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext;
+import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
+import 
org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException;
+import 
org.apache.nifi.registry.security.authorization.file.tenants.generated.Groups;
+import 
org.apache.nifi.registry.security.authorization.file.tenants.generated.Tenants;
+import 
org.apache.nifi.registry.security.authorization.file.tenants.generated.Users;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderDestructionException;
 import org.apache.nifi.registry.util.FileUtils;
+import org.apache.nifi.registry.util.PropertyValue;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
@@ -123,22 +123,22 @@ public class FileUserGroupProvider implements 
ConfigurableUserGroupProvider {
     private final AtomicReference<UserGroupHolder> userGroupHolder = new 
AtomicReference<>();
 
     @Override
-    public void initialize(UserGroupProviderInitializationContext 
initializationContext) throws AuthorizerCreationException {
+    public void initialize(UserGroupProviderInitializationContext 
initializationContext) throws SecurityProviderCreationException {
         try {
             final SchemaFactory schemaFactory = 
SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
             tenantsSchema = 
schemaFactory.newSchema(FileAuthorizer.class.getResource(TENANTS_XSD));
             //usersSchema = 
schemaFactory.newSchema(FileAuthorizer.class.getResource(USERS_XSD));
         } catch (Exception e) {
-            throw new AuthorizerCreationException(e);
+            throw new SecurityProviderCreationException(e);
         }
     }
 
     @Override
-    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
         try {
             final PropertyValue tenantsPath = 
configurationContext.getProperty(PROP_TENANTS_FILE);
             if (StringUtils.isBlank(tenantsPath.getValue())) {
-                throw new AuthorizerCreationException("The users file must be 
specified.");
+                throw new SecurityProviderCreationException("The users file 
must be specified.");
             }
 
             // get the tenants file and ensure it exists
@@ -170,8 +170,8 @@ public class FileUserGroupProvider implements 
ConfigurableUserGroupProvider {
             }
 
             logger.info(String.format("Users/Groups file loaded at %s", new 
Date().toString()));
-        } catch (IOException | AuthorizerCreationException | JAXBException | 
IllegalStateException | SAXException e) {
-            throw new AuthorizerCreationException(e);
+        } catch (IOException | SecurityProviderCreationException | 
JAXBException | IllegalStateException | SAXException e) {
+            throw new SecurityProviderCreationException(e);
         }
     }
 
@@ -752,7 +752,7 @@ public class FileUserGroupProvider implements 
ConfigurableUserGroupProvider {
     }
 
     @Override
-    public void preDestruction() throws AuthorizerDestructionException {
+    public void preDestruction() throws SecurityProviderDestructionException {
     }
 
     private static class UsersAndGroups {

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/ldap/tenants/LdapUserGroupProvider.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/ldap/tenants/LdapUserGroupProvider.java
 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/ldap/tenants/LdapUserGroupProvider.java
index 71bee9a..f04fdcc 100644
--- 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/ldap/tenants/LdapUserGroupProvider.java
+++ 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/ldap/tenants/LdapUserGroupProvider.java
@@ -28,8 +28,8 @@ import 
org.apache.nifi.registry.security.authorization.UserGroupProvider;
 import 
org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext;
 import 
org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext;
 import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderDestructionException;
 import org.apache.nifi.registry.security.ldap.LdapAuthenticationStrategy;
 import org.apache.nifi.registry.security.ldap.LdapsSocketFactory;
 import org.apache.nifi.registry.security.ldap.ReferralStrategy;
@@ -140,7 +140,7 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
     private Integer pageSize;
 
     @Override
-    public void initialize(final UserGroupProviderInitializationContext 
initializationContext) throws AuthorizerCreationException {
+    public void initialize(final UserGroupProviderInitializationContext 
initializationContext) throws SecurityProviderCreationException {
         ldapSync = Executors.newSingleThreadScheduledExecutor(new 
ThreadFactory() {
             final ThreadFactory factory = Executors.defaultThreadFactory();
 
@@ -154,7 +154,7 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
     }
 
     @Override
-    public void onConfigured(final AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+    public void onConfigured(final AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
         final LdapContextSource context = new LdapContextSource();
 
         final Map<String, Object> baseEnvironment = new HashMap<>();
@@ -169,7 +169,7 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
         try {
             authenticationStrategy = 
LdapAuthenticationStrategy.valueOf(rawAuthenticationStrategy.getValue());
         } catch (final IllegalArgumentException iae) {
-            throw new AuthorizerCreationException(String.format("Unrecognized 
authentication strategy '%s'. Possible values are [%s]",
+            throw new 
SecurityProviderCreationException(String.format("Unrecognized authentication 
strategy '%s'. Possible values are [%s]",
                     rawAuthenticationStrategy.getValue(), 
StringUtils.join(LdapAuthenticationStrategy.values(), ", ")));
         }
 
@@ -232,7 +232,7 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
         try {
             referralStrategy = ReferralStrategy.valueOf(rawReferralStrategy);
         } catch (final IllegalArgumentException iae) {
-            throw new AuthorizerCreationException(String.format("Unrecognized 
referral strategy '%s'. Possible values are [%s]",
+            throw new 
SecurityProviderCreationException(String.format("Unrecognized referral strategy 
'%s'. Possible values are [%s]",
                     rawReferralStrategy, 
StringUtils.join(ReferralStrategy.values(), ", ")));
         }
 
@@ -243,7 +243,7 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
         final String urls = 
configurationContext.getProperty(PROP_URL).getValue();
 
         if (StringUtils.isBlank(urls)) {
-            throw new AuthorizerCreationException("LDAP identity provider 
'Url' must be specified.");
+            throw new SecurityProviderCreationException("LDAP identity 
provider 'Url' must be specified.");
         }
 
         // connection
@@ -256,12 +256,12 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
 
         // if loading the users, ensure the object class set
         if (rawUserSearchBase.isSet() && !rawUserObjectClass.isSet()) {
-            throw new AuthorizerCreationException("LDAP user group provider 
'User Object Class' must be specified when 'User Search Base' is set.");
+            throw new SecurityProviderCreationException("LDAP user group 
provider 'User Object Class' must be specified when 'User Search Base' is 
set.");
         }
 
         // if loading the users, ensure the search scope is set
         if (rawUserSearchBase.isSet() && !rawUserSearchScope.isSet()) {
-            throw new AuthorizerCreationException("LDAP user group provider 
'User Search Scope' must be specified when 'User Search Base' is set.");
+            throw new SecurityProviderCreationException("LDAP user group 
provider 'User Search Scope' must be specified when 'User Search Base' is 
set.");
         }
 
         // user search criteria
@@ -274,7 +274,7 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
         try {
             userSearchScope = 
SearchScope.valueOf(rawUserSearchScope.getValue());
         } catch (final IllegalArgumentException iae) {
-            throw new AuthorizerCreationException(String.format("Unrecognized 
user search scope '%s'. Possible values are [%s]",
+            throw new 
SecurityProviderCreationException(String.format("Unrecognized user search scope 
'%s'. Possible values are [%s]",
                     rawUserSearchScope.getValue(), 
StringUtils.join(SearchScope.values(), ", ")));
         }
 
@@ -289,12 +289,12 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
 
         // if loading the groups, ensure the object class is set
         if (rawGroupSearchBase.isSet() && !rawGroupObjectClass.isSet()) {
-            throw new AuthorizerCreationException("LDAP user group provider 
'Group Object Class' must be specified when 'Group Search Base' is set.");
+            throw new SecurityProviderCreationException("LDAP user group 
provider 'Group Object Class' must be specified when 'Group Search Base' is 
set.");
         }
 
         // if loading the groups, ensure the search scope is set
         if (rawGroupSearchBase.isSet() && !rawGroupSearchScope.isSet()) {
-            throw new AuthorizerCreationException("LDAP user group provider 
'Group Search Scope' must be specified when 'Group Search Base' is set.");
+            throw new SecurityProviderCreationException("LDAP user group 
provider 'Group Search Scope' must be specified when 'Group Search Base' is 
set.");
         }
 
         // group search criteria
@@ -307,7 +307,7 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
         try {
             groupSearchScope = 
SearchScope.valueOf(rawGroupSearchScope.getValue());
         } catch (final IllegalArgumentException iae) {
-            throw new AuthorizerCreationException(String.format("Unrecognized 
group search scope '%s'. Possible values are [%s]",
+            throw new 
SecurityProviderCreationException(String.format("Unrecognized group search 
scope '%s'. Possible values are [%s]",
                     rawGroupSearchScope.getValue(), 
StringUtils.join(SearchScope.values(), ", ")));
         }
 
@@ -317,12 +317,12 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
 
         // ensure we are either searching users or groups (at least one must 
be specified)
         if (!performUserSearch && !performGroupSearch) {
-            throw new AuthorizerCreationException("LDAP user group provider 
'User Search Base' or 'Group Search Base' must be specified.");
+            throw new SecurityProviderCreationException("LDAP user group 
provider 'User Search Base' or 'Group Search Base' must be specified.");
         }
 
         // ensure group member attribute is set if searching groups but not 
users
         if (performGroupSearch && !performUserSearch && 
StringUtils.isBlank(groupMemberAttribute)) {
-            throw new AuthorizerCreationException("'Group Member Attribute' is 
required when searching groups but not users.");
+            throw new SecurityProviderCreationException("'Group Member 
Attribute' is required when searching groups but not users.");
         }
 
         // get the page size if configured
@@ -343,7 +343,7 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
             // handling initializing beans
             context.afterPropertiesSet();
         } catch (final Exception e) {
-            throw new AuthorizerCreationException(e.getMessage(), e);
+            throw new SecurityProviderCreationException(e.getMessage(), e);
         }
 
         final PropertyValue rawSyncInterval = 
configurationContext.getProperty(PROP_SYNC_INTERVAL);
@@ -352,10 +352,10 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
             try {
                 syncInterval = 
FormatUtils.getTimeDuration(rawSyncInterval.getValue(), TimeUnit.MILLISECONDS);
             } catch (final IllegalArgumentException iae) {
-                throw new AuthorizerCreationException(String.format("The %s 
'%s' is not a valid time duration", PROP_SYNC_INTERVAL, 
rawSyncInterval.getValue()));
+                throw new SecurityProviderCreationException(String.format("The 
%s '%s' is not a valid time duration", PROP_SYNC_INTERVAL, 
rawSyncInterval.getValue()));
             }
         } else {
-            throw new AuthorizerCreationException("The 'Sync Interval' must be 
specified.");
+            throw new SecurityProviderCreationException("The 'Sync Interval' 
must be specified.");
         }
 
         try {
@@ -365,13 +365,13 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
 
             // ensure the tenants were successfully synced
             if (tenants.get() == null) {
-                throw new AuthorizerCreationException("Unable to sync users 
and groups.");
+                throw new SecurityProviderCreationException("Unable to sync 
users and groups.");
             }
 
             // schedule the background thread to load the users/groups
             ldapSync.scheduleWithFixedDelay(() -> load(context), syncInterval, 
syncInterval, TimeUnit.SECONDS);
         } catch (final AuthorizationAccessException e) {
-            throw new AuthorizerCreationException(e);
+            throw new SecurityProviderCreationException(e);
         }
     }
 
@@ -667,7 +667,7 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
     }
 
     @Override
-    public final void preDestruction() throws AuthorizerDestructionException {
+    public final void preDestruction() throws 
SecurityProviderDestructionException {
         ldapSync.shutdown();
         try {
             if (!ldapSync.awaitTermination(10000, TimeUnit.MILLISECONDS)) {
@@ -690,7 +690,7 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
                 final Long timeout = 
FormatUtils.getTimeDuration(rawTimeout.getValue(), TimeUnit.MILLISECONDS);
                 baseEnvironment.put(environmentKey, timeout.toString());
             } catch (final IllegalArgumentException iae) {
-                throw new AuthorizerCreationException(String.format("The %s 
'%s' is not a valid time duration", configurationProperty, rawTimeout));
+                throw new SecurityProviderCreationException(String.format("The 
%s '%s' is not a valid time duration", configurationProperty, rawTimeout));
             }
         }
     }
@@ -713,7 +713,7 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
             } else {
                 // ensure the protocol is specified
                 if (StringUtils.isBlank(rawProtocol)) {
-                    throw new AuthorizerCreationException("TLS - Protocol must 
be specified.");
+                    throw new SecurityProviderCreationException("TLS - 
Protocol must be specified.");
                 }
 
                 if (StringUtils.isBlank(rawKeystore)) {
@@ -729,7 +729,7 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
                         try {
                             clientAuth = ClientAuth.valueOf(rawClientAuth);
                         } catch (final IllegalArgumentException iae) {
-                            throw new 
AuthorizerCreationException(String.format("Unrecognized client auth '%s'. 
Possible values are [%s]",
+                            throw new 
SecurityProviderCreationException(String.format("Unrecognized client auth '%s'. 
Possible values are [%s]",
                                     rawClientAuth, 
StringUtils.join(ClientAuth.values(), ", ")));
                         }
                     }
@@ -739,7 +739,7 @@ public class LdapUserGroupProvider implements 
UserGroupProvider {
                 }
             }
         } catch (final KeyStoreException | NoSuchAlgorithmException | 
CertificateException | UnrecoverableKeyException | KeyManagementException | 
IOException e) {
-            throw new AuthorizerCreationException(e.getMessage(), e);
+            throw new SecurityProviderCreationException(e.getMessage(), e);
         }
 
         return sslContext;

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/AuthorizationService.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/AuthorizationService.java
 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/AuthorizationService.java
index ead73cd..79ba71c 100644
--- 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/AuthorizationService.java
+++ 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/AuthorizationService.java
@@ -40,11 +40,11 @@ import 
org.apache.nifi.registry.security.authorization.UserGroupProvider;
 import 
org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext;
 import 
org.apache.nifi.registry.security.authorization.exception.AccessDeniedException;
 import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException;
 import 
org.apache.nifi.registry.security.authorization.resource.ResourceFactory;
 import org.apache.nifi.registry.security.authorization.resource.ResourceType;
 import org.apache.nifi.registry.security.authorization.user.NiFiUserUtils;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderDestructionException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -657,32 +657,32 @@ public class AuthorizationService {
                     }
 
                     @Override
-                    public void 
initialize(UserGroupProviderInitializationContext initializationContext) throws 
AuthorizerCreationException {
+                    public void 
initialize(UserGroupProviderInitializationContext initializationContext) throws 
SecurityProviderCreationException {
 
                     }
 
                     @Override
-                    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+                    public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
 
                     }
 
                     @Override
-                    public void preDestruction() throws 
AuthorizerDestructionException {
+                    public void preDestruction() throws 
SecurityProviderDestructionException {
 
                     }
                 };
             }
 
             @Override
-            public void initialize(AccessPolicyProviderInitializationContext 
initializationContext) throws AuthorizerCreationException {
+            public void initialize(AccessPolicyProviderInitializationContext 
initializationContext) throws SecurityProviderCreationException {
             }
 
             @Override
-            public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws AuthorizerCreationException {
+            public void onConfigured(AuthorizerConfigurationContext 
configurationContext) throws SecurityProviderCreationException {
             }
 
             @Override
-            public void preDestruction() throws AuthorizerDestructionException 
{
+            public void preDestruction() throws 
SecurityProviderDestructionException {
             }
         };
 

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/AccessPolicyProvider.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/AccessPolicyProvider.java
 
b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/AccessPolicyProvider.java
index b942ec2..214787d 100644
--- 
a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/AccessPolicyProvider.java
+++ 
b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/AccessPolicyProvider.java
@@ -17,8 +17,8 @@
 package org.apache.nifi.registry.security.authorization;
 
 import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderDestructionException;
 
 import java.util.Set;
 
@@ -71,20 +71,20 @@ public interface AccessPolicyProvider {
      *
      * @param initializationContext in which to initialize
      */
-    void initialize(AccessPolicyProviderInitializationContext 
initializationContext) throws AuthorizerCreationException;
+    void initialize(AccessPolicyProviderInitializationContext 
initializationContext) throws SecurityProviderCreationException;
 
     /**
      * Called to configure the Authorizer.
      *
      * @param configurationContext at the time of configuration
-     * @throws AuthorizerCreationException for any issues configuring the 
provider
+     * @throws SecurityProviderCreationException for any issues configuring 
the provider
      */
-    void onConfigured(AuthorizerConfigurationContext configurationContext) 
throws AuthorizerCreationException;
+    void onConfigured(AuthorizerConfigurationContext configurationContext) 
throws SecurityProviderCreationException;
 
     /**
      * Called immediately before instance destruction for implementers to 
release resources.
      *
-     * @throws AuthorizerDestructionException If pre-destruction fails.
+     * @throws SecurityProviderDestructionException If pre-destruction fails.
      */
-    void preDestruction() throws AuthorizerDestructionException;
+    void preDestruction() throws SecurityProviderDestructionException;
 }

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/Authorizer.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/Authorizer.java
 
b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/Authorizer.java
index 3018dd3..c8fc0f6 100644
--- 
a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/Authorizer.java
+++ 
b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/Authorizer.java
@@ -17,8 +17,8 @@
 package org.apache.nifi.registry.security.authorization;
 
 import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderDestructionException;
 
 /**
  * Authorizes user requests.
@@ -43,21 +43,21 @@ public interface Authorizer {
      *
      * @param initializationContext in which to initialize
      */
-    void initialize(AuthorizerInitializationContext initializationContext) 
throws AuthorizerCreationException;
+    void initialize(AuthorizerInitializationContext initializationContext) 
throws SecurityProviderCreationException;
 
     /**
      * Called to configure the Authorizer.
      *
      * @param configurationContext at the time of configuration
-     * @throws AuthorizerCreationException for any issues configuring the 
provider
+     * @throws SecurityProviderCreationException for any issues configuring 
the provider
      */
-    void onConfigured(AuthorizerConfigurationContext configurationContext) 
throws AuthorizerCreationException;
+    void onConfigured(AuthorizerConfigurationContext configurationContext) 
throws SecurityProviderCreationException;
 
     /**
      * Called immediately before instance destruction for implementers to 
release resources.
      *
-     * @throws AuthorizerDestructionException If pre-destruction fails.
+     * @throws SecurityProviderDestructionException If pre-destruction fails.
      */
-    void preDestruction() throws AuthorizerDestructionException;
+    void preDestruction() throws SecurityProviderDestructionException;
 
 }

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/UserGroupProvider.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/UserGroupProvider.java
 
b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/UserGroupProvider.java
index 9811691..5505e7d 100644
--- 
a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/UserGroupProvider.java
+++ 
b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/UserGroupProvider.java
@@ -17,8 +17,8 @@
 package org.apache.nifi.registry.security.authorization;
 
 import 
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException;
-import 
org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
+import 
org.apache.nifi.registry.security.exception.SecurityProviderDestructionException;
 
 import java.util.Set;
 
@@ -89,20 +89,20 @@ public interface UserGroupProvider {
      *
      * @param initializationContext in which to initialize
      */
-    void initialize(UserGroupProviderInitializationContext 
initializationContext) throws AuthorizerCreationException;
+    void initialize(UserGroupProviderInitializationContext 
initializationContext) throws SecurityProviderCreationException;
 
     /**
      * Called to configure the Authorizer.
      *
      * @param configurationContext at the time of configuration
-     * @throws AuthorizerCreationException for any issues configuring the 
provider
+     * @throws SecurityProviderCreationException for any issues configuring 
the provider
      */
-    void onConfigured(AuthorizerConfigurationContext configurationContext) 
throws AuthorizerCreationException;
+    void onConfigured(AuthorizerConfigurationContext configurationContext) 
throws SecurityProviderCreationException;
 
     /**
      * Called immediately before instance destruction for implementers to 
release resources.
      *
-     * @throws AuthorizerDestructionException If pre-destruction fails.
+     * @throws SecurityProviderDestructionException If pre-destruction fails.
      */
-    void preDestruction() throws AuthorizerDestructionException;
+    void preDestruction() throws SecurityProviderDestructionException;
 }

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerCreationException.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerCreationException.java
 
b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerCreationException.java
deleted file mode 100644
index dbe90e7..0000000
--- 
a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerCreationException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.nifi.registry.security.authorization.exception;
-
-/**
- * Represents the exceptional case when an Authorizer fails instantiation.
- * @deprecated Migrate to use SecurityProviderCreationException
- */
-@Deprecated // TODO migrate all usages to SecurityProviderCreationException
-public class AuthorizerCreationException extends RuntimeException {
-
-    public AuthorizerCreationException() {
-    }
-
-    public AuthorizerCreationException(String msg) {
-        super(msg);
-    }
-
-    public AuthorizerCreationException(Throwable cause) {
-        super(cause);
-    }
-
-    public AuthorizerCreationException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-}

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerDestructionException.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerDestructionException.java
 
b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerDestructionException.java
deleted file mode 100644
index 6892445..0000000
--- 
a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerDestructionException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.nifi.registry.security.authorization.exception;
-
-/**
- * Represents the exceptional case when an Authorizer fails destruction.
- * @deprecated Migrate to use SecurityProviderDestructionException
- */
-@Deprecated // TODO migrate all usages to SecurityProviderDestructionException
-public class AuthorizerDestructionException extends RuntimeException {
-
-    public AuthorizerDestructionException() {
-    }
-
-    public AuthorizerDestructionException(String msg) {
-        super(msg);
-    }
-
-    public AuthorizerDestructionException(Throwable cause) {
-        super(cause);
-    }
-
-    public AuthorizerDestructionException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-}

Reply via email to