You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jo...@apache.org on 2016/07/14 22:33:16 UTC

[10/10] nifi git commit: NIFI-1896 This closes #650. Refactored nifi-api into nifi-framework-api and other locations. The nifi-api is specific to that which is needed for intended extension points.

NIFI-1896 This closes #650. Refactored nifi-api into nifi-framework-api and other locations. The nifi-api is specific to that which is needed for intended extension points.


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

Branch: refs/heads/master
Commit: d1129706e235548daaf4eecf7001b244300761e9
Parents: 048ba53
Author: Aldrin Piri <al...@apache.org>
Authored: Wed Jul 13 09:28:19 2016 -0400
Committer: joewitt <jo...@apache.org>
Committed: Thu Jul 14 18:24:48 2016 -0400

----------------------------------------------------------------------
 .../component/details/ExtensionDetails.java     |  26 -
 .../details/RemoteProcessGroupDetails.java      |  26 -
 .../nifi/action/details/ConfigureDetails.java   |  30 -
 .../nifi/action/details/ConnectDetails.java     |  40 --
 .../apache/nifi/action/details/MoveDetails.java |  30 -
 .../nifi/action/details/PurgeDetails.java       |  28 -
 .../annotation/behavior/DynamicProperties.java  |   2 +-
 .../annotation/behavior/DynamicProperty.java    |   8 +-
 .../behavior/DynamicRelationship.java           |   4 +-
 .../annotation/behavior/InputRequirement.java   |   2 +-
 .../annotation/behavior/ReadsAttributes.java    |   2 +-
 .../annotation/behavior/WritesAttribute.java    |   4 +-
 .../annotation/behavior/WritesAttributes.java   |   2 +-
 .../nifi/annotation/documentation/SeeAlso.java  |   4 +-
 .../nifi/annotation/documentation/Tags.java     |   2 +-
 .../authentication/AuthenticationResponse.java  |  65 ---
 .../nifi/authentication/LoginCredentials.java   |  39 --
 .../authentication/LoginIdentityProvider.java   |  61 --
 ...ginIdentityProviderConfigurationContext.java |  48 --
 ...inIdentityProviderInitializationContext.java |  27 -
 .../LoginIdentityProviderLookup.java            |  25 -
 .../LoginIdentityProviderContext.java           |  35 --
 .../exception/IdentityAccessException.java      |  33 --
 .../InvalidLoginCredentialsException.java       |  33 --
 .../exception/ProviderCreationException.java    |  39 --
 .../exception/ProviderDestructionException.java |  39 --
 .../AbstractPolicyBasedAuthorizer.java          | 552 -------------------
 .../authorization/AccessDeniedException.java    |  39 --
 .../apache/nifi/authorization/AccessPolicy.java | 330 -----------
 .../authorization/AuthorizationRequest.java     | 171 ------
 .../nifi/authorization/AuthorizationResult.java |  99 ----
 .../apache/nifi/authorization/Authorizer.java   |  59 --
 .../AuthorizerConfigurationContext.java         |  50 --
 .../AuthorizerInitializationContext.java        |  37 --
 .../nifi/authorization/AuthorizerLookup.java    |  31 --
 .../org/apache/nifi/authorization/Group.java    | 226 --------
 .../nifi/authorization/RequestAction.java       |  46 --
 .../org/apache/nifi/authorization/Resource.java |  37 --
 .../org/apache/nifi/authorization/User.java     | 151 -----
 .../nifi/authorization/UserContextKeys.java     |  26 -
 .../authorization/UsersAndAccessPolicies.java   |  52 --
 .../annotation/AuthorizerContext.java           |  35 --
 .../exception/AuthorizationAccessException.java |  32 --
 .../exception/AuthorizerCreationException.java  |  39 --
 .../AuthorizerDestructionException.java         |  39 --
 .../authorization/resource/Authorizable.java    | 173 ------
 .../nifi/authorization/user/NiFiUser.java       |  45 --
 .../apache/nifi/components/PropertyValue.java   |  38 +-
 .../nifi/components/state/StateProvider.java    | 133 -----
 .../StateProviderInitializationContext.java     |  56 --
 .../state/exception/StateTooLargeException.java |   2 +
 .../org/apache/nifi/controller/Snippet.java     |  83 ---
 .../org/apache/nifi/controller/Triggerable.java | 117 ----
 .../controller/queue/DropFlowFileState.java     |  57 --
 .../controller/queue/DropFlowFileStatus.java    |  78 ---
 .../nifi/controller/queue/FlowFileQueue.java    | 275 ---------
 .../nifi/controller/queue/FlowFileSummary.java  |  59 --
 .../controller/queue/ListFlowFileState.java     |  57 --
 .../controller/queue/ListFlowFileStatus.java    |  70 ---
 .../nifi/controller/queue/SortColumn.java       | 108 ----
 .../nifi/controller/queue/SortDirection.java    |  37 --
 .../repository/ContentRepository.java           | 277 ----------
 .../controller/repository/FlowFileRecord.java   |  48 --
 .../repository/FlowFileRepository.java          | 123 -----
 .../repository/FlowFileSwapManager.java         | 105 ----
 .../repository/IncompleteSwapFileException.java |  45 --
 .../controller/repository/QueueProvider.java    |  33 --
 .../controller/repository/RepositoryRecord.java |  82 ---
 .../repository/RepositoryRecordType.java        |  25 -
 .../controller/repository/SwapContents.java     |  40 --
 .../SwapManagerInitializationContext.java       |  40 --
 .../nifi/controller/repository/SwapSummary.java |  50 --
 .../repository/claim/ContentClaim.java          |  47 --
 .../repository/claim/ResourceClaim.java         |  54 --
 .../repository/claim/ResourceClaimManager.java  | 135 -----
 .../history/ComponentStatusRepository.java      | 120 ----
 .../status/history/MetricDescriptor.java        |  66 ---
 .../status/history/StatusHistory.java           |  44 --
 .../status/history/StatusSnapshot.java          |  42 --
 .../controller/status/history/ValueMapper.java  |  23 -
 .../controller/status/history/ValueReducer.java |  25 -
 .../org/apache/nifi/events/EventReporter.java   |  29 -
 .../java/org/apache/nifi/flowfile/FlowFile.java |   2 +-
 .../nifi/flowfile/FlowFilePrioritizer.java      |  29 -
 .../ProvenanceAuthorizableFactory.java          |  35 --
 .../provenance/ProvenanceEventRepository.java   | 133 +----
 .../lineage/ComputeLineageResult.java           |  58 --
 .../lineage/ComputeLineageSubmission.java       |  75 ---
 .../apache/nifi/provenance/lineage/Lineage.java |  37 --
 .../lineage/LineageComputationType.java         |  27 -
 .../nifi/provenance/lineage/LineageEdge.java    |  26 -
 .../nifi/provenance/lineage/LineageNode.java    |  45 --
 .../provenance/lineage/LineageNodeType.java     |  23 -
 .../lineage/ProvenanceEventLineageNode.java     |  32 --
 .../apache/nifi/provenance/search/Query.java    |  96 ----
 .../nifi/provenance/search/QueryResult.java     |  63 ---
 .../nifi/provenance/search/QuerySubmission.java |  60 --
 .../nifi/provenance/search/SearchTerm.java      |  24 -
 .../nifi/provenance/search/SearchTerms.java     |  39 --
 .../nifi/provenance/search/SearchableField.java |  52 --
 .../provenance/search/SearchableFieldType.java  |  28 -
 .../apache/nifi/remote/RemoteDestination.java   |  50 --
 .../nifi/reporting/BulletinRepository.java      |   4 +-
 .../nifi/web/ClusterRequestException.java       |  39 --
 .../apache/nifi/web/ComponentDescriptor.java    |  93 ----
 .../org/apache/nifi/web/ComponentDetails.java   | 163 ------
 .../apache/nifi/web/ConfigurationAction.java    | 125 -----
 .../nifi/web/InvalidRevisionException.java      |  33 --
 .../nifi/web/NiFiWebConfigurationContext.java   |  99 ----
 .../web/NiFiWebConfigurationRequestContext.java |  32 --
 .../apache/nifi/web/NiFiWebRequestContext.java  |  56 --
 .../nifi/web/ResourceNotFoundException.java     |  32 --
 .../main/java/org/apache/nifi/web/Revision.java | 129 -----
 .../org/apache/nifi/web/UiExtensionType.java    |  32 --
 .../org/apache/nifi/web/ViewableContent.java    |  71 ---
 .../TestAbstractPolicyBasedAuthorizer.java      | 447 ---------------
 .../nifi/authorization/TestAccessPolicy.java    | 240 --------
 .../apache/nifi/authorization/TestGroup.java    | 169 ------
 .../org/apache/nifi/authorization/TestUser.java |  85 ---
 .../java/org/apache/nifi/web/TestRevision.java  |  61 --
 nifi-assembly/pom.xml                           |   4 +
 nifi-commons/nifi-data-provenance-utils/pom.xml |   4 +
 nifi-commons/nifi-site-to-site-client/pom.xml   |   4 +
 nifi-framework-api/pom.xml                      |  32 ++
 .../component/details/ExtensionDetails.java     |  26 +
 .../details/RemoteProcessGroupDetails.java      |  26 +
 .../nifi/action/details/ConfigureDetails.java   |  30 +
 .../nifi/action/details/ConnectDetails.java     |  40 ++
 .../apache/nifi/action/details/MoveDetails.java |  30 +
 .../nifi/action/details/PurgeDetails.java       |  28 +
 .../authentication/AuthenticationResponse.java  |  65 +++
 .../nifi/authentication/LoginCredentials.java   |  39 ++
 .../authentication/LoginIdentityProvider.java   |  61 ++
 ...ginIdentityProviderConfigurationContext.java |  48 ++
 ...inIdentityProviderInitializationContext.java |  27 +
 .../LoginIdentityProviderLookup.java            |  25 +
 .../LoginIdentityProviderContext.java           |  35 ++
 .../exception/IdentityAccessException.java      |  33 ++
 .../InvalidLoginCredentialsException.java       |  33 ++
 .../exception/ProviderCreationException.java    |  39 ++
 .../exception/ProviderDestructionException.java |  39 ++
 .../AbstractPolicyBasedAuthorizer.java          | 552 +++++++++++++++++++
 .../authorization/AccessDeniedException.java    |  39 ++
 .../apache/nifi/authorization/AccessPolicy.java | 330 +++++++++++
 .../authorization/AuthorizationRequest.java     | 171 ++++++
 .../nifi/authorization/AuthorizationResult.java |  99 ++++
 .../apache/nifi/authorization/Authorizer.java   |  59 ++
 .../AuthorizerConfigurationContext.java         |  50 ++
 .../AuthorizerInitializationContext.java        |  37 ++
 .../nifi/authorization/AuthorizerLookup.java    |  31 ++
 .../org/apache/nifi/authorization/Group.java    | 226 ++++++++
 .../nifi/authorization/RequestAction.java       |  46 ++
 .../org/apache/nifi/authorization/Resource.java |  37 ++
 .../org/apache/nifi/authorization/User.java     | 151 +++++
 .../nifi/authorization/UserContextKeys.java     |  26 +
 .../authorization/UsersAndAccessPolicies.java   |  52 ++
 .../annotation/AuthorizerContext.java           |  35 ++
 .../exception/AuthorizationAccessException.java |  32 ++
 .../exception/AuthorizerCreationException.java  |  39 ++
 .../AuthorizerDestructionException.java         |  39 ++
 .../authorization/resource/Authorizable.java    | 173 ++++++
 .../nifi/authorization/user/NiFiUser.java       |  45 ++
 .../nifi/components/state/StateProvider.java    | 133 +++++
 .../StateProviderInitializationContext.java     |  56 ++
 .../org/apache/nifi/controller/Snippet.java     |  83 +++
 .../org/apache/nifi/controller/Triggerable.java | 117 ++++
 .../controller/queue/DropFlowFileState.java     |  57 ++
 .../controller/queue/DropFlowFileStatus.java    |  78 +++
 .../nifi/controller/queue/FlowFileQueue.java    | 275 +++++++++
 .../nifi/controller/queue/FlowFileSummary.java  |  59 ++
 .../controller/queue/ListFlowFileState.java     |  57 ++
 .../controller/queue/ListFlowFileStatus.java    |  70 +++
 .../nifi/controller/queue/SortColumn.java       | 108 ++++
 .../nifi/controller/queue/SortDirection.java    |  37 ++
 .../repository/ContentRepository.java           | 277 ++++++++++
 .../controller/repository/FlowFileRecord.java   |  48 ++
 .../repository/FlowFileRepository.java          | 123 +++++
 .../repository/FlowFileSwapManager.java         | 105 ++++
 .../repository/IncompleteSwapFileException.java |  45 ++
 .../controller/repository/QueueProvider.java    |  33 ++
 .../controller/repository/RepositoryRecord.java |  82 +++
 .../repository/RepositoryRecordType.java        |  25 +
 .../controller/repository/SwapContents.java     |  40 ++
 .../SwapManagerInitializationContext.java       |  40 ++
 .../nifi/controller/repository/SwapSummary.java |  50 ++
 .../repository/claim/ContentClaim.java          |  47 ++
 .../repository/claim/ResourceClaim.java         |  54 ++
 .../repository/claim/ResourceClaimManager.java  | 135 +++++
 .../history/ComponentStatusRepository.java      | 120 ++++
 .../status/history/MetricDescriptor.java        |  66 +++
 .../status/history/StatusHistory.java           |  44 ++
 .../status/history/StatusSnapshot.java          |  42 ++
 .../controller/status/history/ValueMapper.java  |  23 +
 .../controller/status/history/ValueReducer.java |  25 +
 .../org/apache/nifi/events/EventReporter.java   |  29 +
 .../nifi/flowfile/FlowFilePrioritizer.java      |  29 +
 .../ProvenanceAuthorizableFactory.java          |  35 ++
 .../nifi/provenance/ProvenanceRepository.java   | 160 ++++++
 .../lineage/ComputeLineageResult.java           |  58 ++
 .../lineage/ComputeLineageSubmission.java       |  75 +++
 .../apache/nifi/provenance/lineage/Lineage.java |  37 ++
 .../lineage/LineageComputationType.java         |  27 +
 .../nifi/provenance/lineage/LineageEdge.java    |  26 +
 .../nifi/provenance/lineage/LineageNode.java    |  45 ++
 .../provenance/lineage/LineageNodeType.java     |  23 +
 .../lineage/ProvenanceEventLineageNode.java     |  32 ++
 .../apache/nifi/provenance/search/Query.java    |  96 ++++
 .../nifi/provenance/search/QueryResult.java     |  63 +++
 .../nifi/provenance/search/QuerySubmission.java |  60 ++
 .../nifi/provenance/search/SearchTerm.java      |  24 +
 .../nifi/provenance/search/SearchTerms.java     |  39 ++
 .../nifi/provenance/search/SearchableField.java |  52 ++
 .../provenance/search/SearchableFieldType.java  |  28 +
 .../apache/nifi/remote/RemoteDestination.java   |  50 ++
 .../nifi/web/ClusterRequestException.java       |  39 ++
 .../apache/nifi/web/ComponentDescriptor.java    |  93 ++++
 .../org/apache/nifi/web/ComponentDetails.java   | 163 ++++++
 .../apache/nifi/web/ConfigurationAction.java    | 125 +++++
 .../nifi/web/InvalidRevisionException.java      |  33 ++
 .../nifi/web/NiFiWebConfigurationContext.java   |  99 ++++
 .../web/NiFiWebConfigurationRequestContext.java |  32 ++
 .../apache/nifi/web/NiFiWebRequestContext.java  |  56 ++
 .../nifi/web/ResourceNotFoundException.java     |  32 ++
 .../main/java/org/apache/nifi/web/Revision.java | 129 +++++
 .../org/apache/nifi/web/UiExtensionType.java    |  32 ++
 .../org/apache/nifi/web/ViewableContent.java    |  71 +++
 .../TestAbstractPolicyBasedAuthorizer.java      | 447 +++++++++++++++
 .../nifi/authorization/TestAccessPolicy.java    | 240 ++++++++
 .../apache/nifi/authorization/TestGroup.java    | 169 ++++++
 .../org/apache/nifi/authorization/TestUser.java |  85 +++
 .../java/org/apache/nifi/web/TestRevision.java  |  61 ++
 nifi-mock/pom.xml                               |   4 +
 .../MockProvenanceEventRepository.java          | 139 -----
 .../provenance/MockProvenanceRepository.java    | 149 +++++
 .../org/apache/nifi/util/MockEventAccess.java   |   1 -
 .../nifi-framework/nifi-administration/pom.xml  |   4 +
 .../nifi-framework/nifi-authorizer/pom.xml      |   4 +
 .../nifi-framework/nifi-documentation/pom.xml   |   4 +
 .../nifi-framework/nifi-file-authorizer/pom.xml |   4 +
 .../nifi-framework-authorization/pom.xml        |   4 +
 .../nifi-framework-cluster/pom.xml              |   4 +
 .../nifi-framework-core-api/pom.xml             |   4 +
 .../nifi-framework/nifi-framework-core/pom.xml  |   4 +
 .../apache/nifi/controller/FlowController.java  |  93 ++--
 .../nifi/controller/TestFlowController.java     |   4 +-
 .../repository/TestStandardProcessSession.java  |   4 +-
 .../scheduling/TestProcessorLifecycle.java      |   4 +-
 .../nifi-framework/nifi-nar-utils/pom.xml       |   4 +
 .../org/apache/nifi/nar/ExtensionManager.java   |  24 +-
 .../nifi/nar/NarThreadContextClassLoader.java   |   4 +-
 .../nifi-framework/nifi-site-to-site/pom.xml    |   4 +
 .../nifi-framework/nifi-user-actions/pom.xml    |   4 +
 .../nifi-web/nifi-custom-ui-utilities/pom.xml   |   4 +
 .../nifi-web/nifi-ui-extension/pom.xml          |   4 +
 .../nifi-web/nifi-web-api/pom.xml               |   5 +
 .../nifi/web/controller/ControllerFacade.java   |  16 +-
 .../nifi-web/nifi-web-content-viewer/pom.xml    |   4 +
 .../nifi-web-optimistic-locking/pom.xml         |   4 +
 .../nifi-web/nifi-web-security/pom.xml          |   4 +
 .../nifi-kerberos-iaa-providers/pom.xml         |   4 +
 .../nifi-ldap-iaa-providers/pom.xml             |   4 +
 .../nifi-media-bundle/nifi-image-viewer/pom.xml |   4 +
 .../pom.xml                                     |   4 +
 .../PersistentProvenanceRepository.java         |   9 +-
 ...he.nifi.provenance.ProvenanceEventRepository |  15 -
 ....apache.nifi.provenance.ProvenanceRepository |  15 +
 .../nifi-volatile-provenance-repository/pom.xml |   4 +
 .../VolatileProvenanceRepository.java           |  10 +-
 ...he.nifi.provenance.ProvenanceEventRepository |  15 -
 ....apache.nifi.provenance.ProvenanceRepository |  15 +
 .../nifi/snmp/processors/GetSNMPTest.java       |   4 +-
 .../nifi-jolt-transform-json-ui/pom.xml         |   5 +
 .../nifi-standard-content-viewer/pom.xml        |   4 +
 .../nifi/controller/MonitorMemoryTest.java      |   4 +-
 .../nifi-update-attribute-ui/pom.xml            |   5 +
 nifi-nar-bundles/pom.xml                        |   6 +
 pom.xml                                         |   6 +
 277 files changed, 8815 insertions(+), 8604 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/action/component/details/ExtensionDetails.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/action/component/details/ExtensionDetails.java b/nifi-api/src/main/java/org/apache/nifi/action/component/details/ExtensionDetails.java
deleted file mode 100644
index 5726c1b..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/action/component/details/ExtensionDetails.java
+++ /dev/null
@@ -1,26 +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.action.component.details;
-
-/**
- * Provides details of an extension on an Action.
- */
-public interface ExtensionDetails extends ComponentDetails {
-
-    String getType();
-
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/action/component/details/RemoteProcessGroupDetails.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/action/component/details/RemoteProcessGroupDetails.java b/nifi-api/src/main/java/org/apache/nifi/action/component/details/RemoteProcessGroupDetails.java
deleted file mode 100644
index 62f8628..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/action/component/details/RemoteProcessGroupDetails.java
+++ /dev/null
@@ -1,26 +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.action.component.details;
-
-/**
- * Provides details of a remote process group to an Action.
- */
-public interface RemoteProcessGroupDetails extends ComponentDetails {
-
-    String getUri();
-
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/action/details/ConfigureDetails.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/action/details/ConfigureDetails.java b/nifi-api/src/main/java/org/apache/nifi/action/details/ConfigureDetails.java
deleted file mode 100644
index ff8db40..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/action/details/ConfigureDetails.java
+++ /dev/null
@@ -1,30 +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.action.details;
-
-/**
- * Provides details about a configure action.
- */
-public interface ConfigureDetails extends ActionDetails {
-
-    String getName();
-
-    String getPreviousValue();
-
-    String getValue();
-
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/action/details/ConnectDetails.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/action/details/ConnectDetails.java b/nifi-api/src/main/java/org/apache/nifi/action/details/ConnectDetails.java
deleted file mode 100644
index 3c8c91b..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/action/details/ConnectDetails.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.action.details;
-
-import org.apache.nifi.action.Component;
-
-/**
- * Provides details about a connect action.
- */
-public interface ConnectDetails extends ActionDetails {
-
-    String getSourceId();
-
-    String getSourceName();
-
-    Component getSourceType();
-
-    String getDestinationId();
-
-    String getDestinationName();
-
-    Component getDestinationType();
-
-    String getRelationship();
-
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/action/details/MoveDetails.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/action/details/MoveDetails.java b/nifi-api/src/main/java/org/apache/nifi/action/details/MoveDetails.java
deleted file mode 100644
index 0533b3b..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/action/details/MoveDetails.java
+++ /dev/null
@@ -1,30 +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.action.details;
-
-/**
- * Provides details about a move action.
- */
-public interface MoveDetails extends ActionDetails {
-    String getGroup();
-
-    String getGroupId();
-
-    String getPreviousGroup();
-
-    String getPreviousGroupId();
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/action/details/PurgeDetails.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/action/details/PurgeDetails.java b/nifi-api/src/main/java/org/apache/nifi/action/details/PurgeDetails.java
deleted file mode 100644
index 57bc57e..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/action/details/PurgeDetails.java
+++ /dev/null
@@ -1,28 +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.action.details;
-
-import java.util.Date;
-
-/**
- * Provides details about a purge action.
- */
-public interface PurgeDetails extends ActionDetails {
-
-    Date getEndDate();
-
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicProperties.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicProperties.java b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicProperties.java
index b936ff0..9670535 100644
--- a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicProperties.java
+++ b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicProperties.java
@@ -33,5 +33,5 @@ import java.lang.annotation.Target;
 @Inherited
 public @interface DynamicProperties {
 
-    public DynamicProperty[] value();
+    DynamicProperty[] value();
 }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicProperty.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicProperty.java b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicProperty.java
index d5f0511..e7712df 100644
--- a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicProperty.java
+++ b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicProperty.java
@@ -36,11 +36,11 @@ import org.apache.nifi.components.ConfigurableComponent;
 @Inherited
 public @interface DynamicProperty {
 
-    public String name();
+    String name();
 
-    public boolean supportsExpressionLanguage() default false;
+    boolean supportsExpressionLanguage() default false;
 
-    public String value();
+    String value();
 
-    public String description();
+    String description();
 }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicRelationship.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicRelationship.java b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicRelationship.java
index 88d3b1d..68d40c7 100644
--- a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicRelationship.java
+++ b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/DynamicRelationship.java
@@ -39,7 +39,7 @@ import org.apache.nifi.processor.Relationship;
 @Inherited
 public @interface DynamicRelationship {
 
-    public String name();
+    String name();
 
-    public String description();
+    String description();
 }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/InputRequirement.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/InputRequirement.java b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/InputRequirement.java
index 13f442c..372d80c 100644
--- a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/InputRequirement.java
+++ b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/InputRequirement.java
@@ -39,7 +39,7 @@ import java.lang.annotation.Target;
 public @interface InputRequirement {
     Requirement value();
 
-    public static enum Requirement {
+    enum Requirement {
         /**
          * This value is used to indicate that the Processor requires input from other Processors
          * in order to run. As a result, the Processor will not be valid if it does not have any

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/ReadsAttributes.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/ReadsAttributes.java b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/ReadsAttributes.java
index e65746c..fe1f8bd 100644
--- a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/ReadsAttributes.java
+++ b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/ReadsAttributes.java
@@ -35,5 +35,5 @@ import java.lang.annotation.Target;
 @Inherited
 public @interface ReadsAttributes {
 
-    public ReadsAttribute[] value();
+    ReadsAttribute[] value();
 }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/WritesAttribute.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/WritesAttribute.java b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/WritesAttribute.java
index b2e1c48..d06af8f 100644
--- a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/WritesAttribute.java
+++ b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/WritesAttribute.java
@@ -35,7 +35,7 @@ import java.lang.annotation.Target;
 @Inherited
 public @interface WritesAttribute {
 
-    public String attribute();
+    String attribute();
 
-    public String description() default "";
+    String description() default "";
 }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/WritesAttributes.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/WritesAttributes.java b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/WritesAttributes.java
index ad3e401..603eb86 100644
--- a/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/WritesAttributes.java
+++ b/nifi-api/src/main/java/org/apache/nifi/annotation/behavior/WritesAttributes.java
@@ -35,5 +35,5 @@ import java.lang.annotation.Target;
 @Inherited
 public @interface WritesAttributes {
 
-    public WritesAttribute[] value();
+    WritesAttribute[] value();
 }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/SeeAlso.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/SeeAlso.java b/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/SeeAlso.java
index 4b77c43..f89e25b 100644
--- a/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/SeeAlso.java
+++ b/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/SeeAlso.java
@@ -38,7 +38,7 @@ import org.apache.nifi.components.ConfigurableComponent;
 @Inherited
 public @interface SeeAlso {
 
-    public Class<? extends ConfigurableComponent>[] value() default {};
+    Class<? extends ConfigurableComponent>[] value() default {};
 
-    public String[] classNames() default {};
+    String[] classNames() default {};
 }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/Tags.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/Tags.java b/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/Tags.java
index 366dd4c..d9721ab 100644
--- a/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/Tags.java
+++ b/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/Tags.java
@@ -38,5 +38,5 @@ import java.lang.annotation.Target;
 @Inherited
 public @interface Tags {
 
-    public String[] value();
+    String[] value();
 }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/authentication/AuthenticationResponse.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authentication/AuthenticationResponse.java b/nifi-api/src/main/java/org/apache/nifi/authentication/AuthenticationResponse.java
deleted file mode 100644
index e9999fc..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/authentication/AuthenticationResponse.java
+++ /dev/null
@@ -1,65 +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.authentication;
-
-/**
- * Authentication response for a user login attempt.
- */
-public class AuthenticationResponse {
-
-    private final String identity;
-    private final String username;
-    private final long expiration;
-    private final String issuer;
-
-    /**
-     * Creates an authentication response. The username and how long the authentication is valid in milliseconds
-     *
-     * @param identity The user identity
-     * @param username The username
-     * @param expiration The expiration in milliseconds
-     * @param issuer The issuer of the token
-     */
-    public AuthenticationResponse(final String identity, final String username, final long expiration, final String issuer) {
-        this.identity = identity;
-        this.username = username;
-        this.expiration = expiration;
-        this.issuer = issuer;
-    }
-
-    public String getIdentity() {
-        return identity;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public String getIssuer() {
-        return issuer;
-    }
-
-    /**
-     * Returns the expiration of a given authentication in milliseconds.
-     *
-     * @return The expiration in milliseconds
-     */
-    public long getExpiration() {
-        return expiration;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/authentication/LoginCredentials.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authentication/LoginCredentials.java b/nifi-api/src/main/java/org/apache/nifi/authentication/LoginCredentials.java
deleted file mode 100644
index afb7827..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/authentication/LoginCredentials.java
+++ /dev/null
@@ -1,39 +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.authentication;
-
-/**
- * Login credentials for a user.
- */
-public class LoginCredentials {
-
-    private final String username;
-    private final String password;
-
-    public LoginCredentials(String username, String password) {
-        this.username = username;
-        this.password = password;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProvider.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProvider.java b/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProvider.java
deleted file mode 100644
index 145bdb4..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProvider.java
+++ /dev/null
@@ -1,61 +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.authentication;
-
-import org.apache.nifi.authentication.exception.IdentityAccessException;
-import org.apache.nifi.authentication.exception.InvalidLoginCredentialsException;
-import org.apache.nifi.authentication.exception.ProviderCreationException;
-import org.apache.nifi.authentication.exception.ProviderDestructionException;
-
-/**
- * Identity provider that is able to authentication a user with username/password credentials.
- */
-public interface LoginIdentityProvider {
-
-    /**
-     * Authenticates the specified login credentials.
-     *
-     * @param credentials the credentials
-     * @return The authentication response
-     * @throws InvalidLoginCredentialsException The login credentials were invalid
-     * @throws IdentityAccessException Unable to register the user due to an issue accessing the underlying storage
-     */
-    AuthenticationResponse authenticate(LoginCredentials credentials) throws InvalidLoginCredentialsException, IdentityAccessException;
-
-    /**
-     * Called immediately after instance creation for implementers to perform additional setup
-     *
-     * @param initializationContext in which to initialize
-     * @throws ProviderCreationException Unable to initialize
-     */
-    void initialize(LoginIdentityProviderInitializationContext initializationContext) throws ProviderCreationException;
-
-    /**
-     * Called to configure the AuthorityProvider.
-     *
-     * @param configurationContext at the time of configuration
-     * @throws ProviderCreationException for any issues configuring the provider
-     */
-    void onConfigured(LoginIdentityProviderConfigurationContext configurationContext) throws ProviderCreationException;
-
-    /**
-     * Called immediately before instance destruction for implementers to release resources.
-     *
-     * @throws ProviderDestructionException If pre-destruction fails.
-     */
-    void preDestruction() throws ProviderDestructionException;
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProviderConfigurationContext.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProviderConfigurationContext.java b/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProviderConfigurationContext.java
deleted file mode 100644
index 6fe61fc..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProviderConfigurationContext.java
+++ /dev/null
@@ -1,48 +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.authentication;
-
-import java.util.Map;
-
-/**
- *
- */
-public interface LoginIdentityProviderConfigurationContext {
-
-    /**
-     * @return identifier for the authority provider
-     */
-    String getIdentifier();
-
-    /**
-     * Retrieves all properties the component currently understands regardless
-     * of whether a value has been set for them or not. If no value is present
-     * then its value is null and thus any registered default for the property
-     * descriptor applies.
-     *
-     * @return Map of all properties
-     */
-    Map<String, String> getProperties();
-
-    /**
-     * @param property to lookup the descriptor and value of
-     * @return the value the component currently understands for the given
-     * PropertyDescriptor. This method does not substitute default
-     * PropertyDescriptor values, so the value returned will be null if not set
-     */
-    String getProperty(String property);
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProviderInitializationContext.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProviderInitializationContext.java b/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProviderInitializationContext.java
deleted file mode 100644
index 7aa72a7..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProviderInitializationContext.java
+++ /dev/null
@@ -1,27 +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.authentication;
-
-/**
- *
- */
-public interface LoginIdentityProviderInitializationContext {
-
-    public String getIdentifier();
-
-    public LoginIdentityProviderLookup getAuthorityProviderLookup();
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProviderLookup.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProviderLookup.java b/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProviderLookup.java
deleted file mode 100644
index 3cd0ba7..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/authentication/LoginIdentityProviderLookup.java
+++ /dev/null
@@ -1,25 +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.authentication;
-
-/**
- *
- */
-public interface LoginIdentityProviderLookup {
-
-    LoginIdentityProvider getLoginIdentityProvider(String identifier);
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/authentication/annotation/LoginIdentityProviderContext.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authentication/annotation/LoginIdentityProviderContext.java b/nifi-api/src/main/java/org/apache/nifi/authentication/annotation/LoginIdentityProviderContext.java
deleted file mode 100644
index 88df259..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/authentication/annotation/LoginIdentityProviderContext.java
+++ /dev/null
@@ -1,35 +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.authentication.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- *
- *
- */
-@Documented
-@Target({ElementType.FIELD, ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@Inherited
-public @interface LoginIdentityProviderContext {
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/authentication/exception/IdentityAccessException.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authentication/exception/IdentityAccessException.java b/nifi-api/src/main/java/org/apache/nifi/authentication/exception/IdentityAccessException.java
deleted file mode 100644
index b68c675..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/authentication/exception/IdentityAccessException.java
+++ /dev/null
@@ -1,33 +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.authentication.exception;
-
-/**
- * Represents the case when the identity could not be confirmed because it was unable
- * to access the backing store.
- */
-public class IdentityAccessException extends RuntimeException {
-
-    public IdentityAccessException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    public IdentityAccessException(String message) {
-        super(message);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/authentication/exception/InvalidLoginCredentialsException.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authentication/exception/InvalidLoginCredentialsException.java b/nifi-api/src/main/java/org/apache/nifi/authentication/exception/InvalidLoginCredentialsException.java
deleted file mode 100644
index fbfa324..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/authentication/exception/InvalidLoginCredentialsException.java
+++ /dev/null
@@ -1,33 +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.authentication.exception;
-
-/**
- * Represents the case when the identity could not be confirmed because the
- * login credentials were invalid.
- */
-public class InvalidLoginCredentialsException extends RuntimeException {
-
-    public InvalidLoginCredentialsException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    public InvalidLoginCredentialsException(String message) {
-        super(message);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/authentication/exception/ProviderCreationException.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authentication/exception/ProviderCreationException.java b/nifi-api/src/main/java/org/apache/nifi/authentication/exception/ProviderCreationException.java
deleted file mode 100644
index b352787..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/authentication/exception/ProviderCreationException.java
+++ /dev/null
@@ -1,39 +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.authentication.exception;
-
-/**
- * Represents the exceptional case when an AuthorityProvider fails instantiated.
- *
- */
-public class ProviderCreationException extends RuntimeException {
-
-    public ProviderCreationException() {
-    }
-
-    public ProviderCreationException(String msg) {
-        super(msg);
-    }
-
-    public ProviderCreationException(Throwable cause) {
-        super(cause);
-    }
-
-    public ProviderCreationException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/authentication/exception/ProviderDestructionException.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authentication/exception/ProviderDestructionException.java b/nifi-api/src/main/java/org/apache/nifi/authentication/exception/ProviderDestructionException.java
deleted file mode 100644
index 1e12146..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/authentication/exception/ProviderDestructionException.java
+++ /dev/null
@@ -1,39 +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.authentication.exception;
-
-/**
- * Represents the exceptional case when an AuthorityProvider fails destruction.
- *
- */
-public class ProviderDestructionException extends RuntimeException {
-
-    public ProviderDestructionException() {
-    }
-
-    public ProviderDestructionException(String msg) {
-        super(msg);
-    }
-
-    public ProviderDestructionException(Throwable cause) {
-        super(cause);
-    }
-
-    public ProviderDestructionException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/authorization/AbstractPolicyBasedAuthorizer.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authorization/AbstractPolicyBasedAuthorizer.java b/nifi-api/src/main/java/org/apache/nifi/authorization/AbstractPolicyBasedAuthorizer.java
deleted file mode 100644
index 8fbe0fb..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/authorization/AbstractPolicyBasedAuthorizer.java
+++ /dev/null
@@ -1,552 +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.authorization;
-
-import org.apache.nifi.authorization.exception.AuthorizationAccessException;
-import org.apache.nifi.authorization.exception.AuthorizerCreationException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Set;
-
-/**
- * An Authorizer that provides management of users, groups, and policies.
- */
-public abstract class AbstractPolicyBasedAuthorizer implements Authorizer {
-
-    static final DocumentBuilderFactory DOCUMENT_BUILDER_FACTORY = DocumentBuilderFactory.newInstance();
-    static final XMLOutputFactory XML_OUTPUT_FACTORY = XMLOutputFactory.newInstance();
-
-    static final String USER_ELEMENT = "user";
-    static final String GROUP_USER_ELEMENT = "groupUser";
-    static final String GROUP_ELEMENT = "group";
-    static final String POLICY_ELEMENT = "policy";
-    static final String POLICY_USER_ELEMENT = "policyUser";
-    static final String POLICY_GROUP_ELEMENT = "policyGroup";
-    static final String IDENTIFIER_ATTR = "identifier";
-    static final String IDENTITY_ATTR = "identity";
-    static final String NAME_ATTR = "name";
-    static final String RESOURCE_ATTR = "resource";
-    static final String ACTIONS_ATTR = "actions";
-
-    public static final String EMPTY_FINGERPRINT = "EMPTY";
-
-    @Override
-    public final void onConfigured(final AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException {
-        doOnConfigured(configurationContext);
-
-        // ensure that only one policy per resource-action exists
-        for (AccessPolicy accessPolicy : getAccessPolicies()) {
-            if (policyExists(accessPolicy)) {
-                throw new AuthorizerCreationException("Found multiple policies for " + accessPolicy.getResource()
-                        + " with " + accessPolicy.getAction());
-            }
-        }
-    }
-
-    /**
-     * Allows sub-classes to take action when onConfigured is called.
-     *
-     * @param configurationContext the configuration context
-     * @throws AuthorizerCreationException if an error occurs during onConfigured process
-     */
-    protected abstract void doOnConfigured(final AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException;
-
-    /**
-     * Checks if another policy exists with the same resource and action as the given policy.
-     *
-     * @param checkAccessPolicy an access policy being checked
-     * @return true if another access policy exists with the same resource and action, false otherwise
-     */
-    private boolean policyExists(final AccessPolicy checkAccessPolicy) {
-        for (AccessPolicy accessPolicy : getAccessPolicies()) {
-            if (!accessPolicy.getIdentifier().equals(checkAccessPolicy.getIdentifier())
-                    && accessPolicy.getResource().equals(checkAccessPolicy.getResource())
-                    && accessPolicy.getAction().equals(checkAccessPolicy.getAction())) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public final AuthorizationResult authorize(AuthorizationRequest request) throws AuthorizationAccessException {
-        final UsersAndAccessPolicies usersAndAccessPolicies = getUsersAndAccessPolicies();
-        final String resourceIdentifier = request.getResource().getIdentifier();
-
-        final AccessPolicy policy = usersAndAccessPolicies.getAccessPolicy(resourceIdentifier, request.getAction());
-        if (policy == null) {
-            return AuthorizationResult.resourceNotFound();
-        }
-
-        final User user = usersAndAccessPolicies.getUser(request.getIdentity());
-        if (user == null) {
-            return AuthorizationResult.denied("Unknown user with identity " + request.getIdentity());
-        }
-
-        final Set<Group> userGroups = usersAndAccessPolicies.getGroups(user.getIdentity());
-        if (policy.getUsers().contains(user.getIdentifier()) || containsGroup(userGroups, policy)) {
-            return AuthorizationResult.approved();
-        }
-
-
-        return AuthorizationResult.denied();
-    }
-
-    /**
-     * Determines if the policy contains one of the user's groups.
-     *
-     * @param userGroups the set of the user's groups
-     * @param policy the policy
-     * @return true if one of the Groups in userGroups is contained in the policy
-     */
-    private boolean containsGroup(final Set<Group> userGroups, final AccessPolicy policy) {
-        if (userGroups.isEmpty() || policy.getGroups().isEmpty()) {
-            return false;
-        }
-
-        for (Group userGroup : userGroups) {
-            if (policy.getGroups().contains(userGroup.getIdentifier())) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Adds a new group.
-     *
-     * @param group the Group to add
-     * @return the added Group
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract Group addGroup(Group group) throws AuthorizationAccessException;
-
-    /**
-     * Retrieves a Group by id.
-     *
-     * @param identifier the identifier of the Group to retrieve
-     * @return the Group with the given identifier, or null if no matching group was found
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract Group getGroup(String identifier) throws AuthorizationAccessException;
-
-    /**
-     * The group represented by the provided instance will be updated based on the provided instance.
-     *
-     * @param group an updated group instance
-     * @return the updated group instance, or null if no matching group was found
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract Group updateGroup(Group group) throws AuthorizationAccessException;
-
-    /**
-     * Deletes the given group.
-     *
-     * @param group the group to delete
-     * @return the deleted group, or null if no matching group was found
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract Group deleteGroup(Group group) throws AuthorizationAccessException;
-
-    /**
-     * Retrieves all groups.
-     *
-     * @return a list of groups
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract Set<Group> getGroups() throws AuthorizationAccessException;
-
-
-    /**
-     * Adds the given user.
-     *
-     * @param user the user to add
-     * @return the user that was added
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract User addUser(User user) throws AuthorizationAccessException;
-
-    /**
-     * Retrieves the user with the given identifier.
-     *
-     * @param identifier the id of the user to retrieve
-     * @return the user with the given id, or null if no matching user was found
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract User getUser(String identifier) throws AuthorizationAccessException;
-
-    /**
-     * Retrieves the user with the given identity.
-     *
-     * @param identity the identity of the user to retrieve
-     * @return the user with the given identity, or null if no matching user was found
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract User getUserByIdentity(String identity) throws AuthorizationAccessException;
-
-    /**
-     * The user represented by the provided instance will be updated based on the provided instance.
-     *
-     * @param user an updated user instance
-     * @return the updated user instance, or null if no matching user was found
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract User updateUser(User user) throws AuthorizationAccessException;
-
-    /**
-     * Deletes the given user.
-     *
-     * @param user the user to delete
-     * @return the user that was deleted, or null if no matching user was found
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract User deleteUser(User user) throws AuthorizationAccessException;
-
-    /**
-     * Retrieves all users.
-     *
-     * @return a list of users
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract Set<User> getUsers() throws AuthorizationAccessException;
-
-    /**
-     * Adds the given policy ensuring that multiple policies can not be added for the same resource and action.
-     *
-     * @param accessPolicy the policy to add
-     * @return the policy that was added
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public final synchronized AccessPolicy addAccessPolicy(AccessPolicy accessPolicy) throws AuthorizationAccessException {
-        if (policyExists(accessPolicy)) {
-            throw new IllegalStateException("Found multiple policies for " + accessPolicy.getResource()
-                    + " with " + accessPolicy.getAction());
-        }
-        return doAddAccessPolicy(accessPolicy);
-    }
-
-    /**
-     * Adds the given policy.
-     *
-     * @param accessPolicy the policy to add
-     * @return the policy that was added
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    protected abstract AccessPolicy doAddAccessPolicy(AccessPolicy accessPolicy) throws AuthorizationAccessException;
-
-    /**
-     * Retrieves the policy with the given identifier.
-     *
-     * @param identifier the id of the policy to retrieve
-     * @return the policy with the given id, or null if no matching policy exists
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract AccessPolicy getAccessPolicy(String identifier) throws AuthorizationAccessException;
-
-    /**
-     * The policy represented by the provided instance will be updated based on the provided instance.
-     *
-     * @param accessPolicy an updated policy
-     * @return the updated policy, or null if no matching policy was found
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract AccessPolicy updateAccessPolicy(AccessPolicy accessPolicy) throws AuthorizationAccessException;
-
-    /**
-     * Deletes the given policy.
-     *
-     * @param policy the policy to delete
-     * @return the deleted policy, or null if no matching policy was found
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract AccessPolicy deleteAccessPolicy(AccessPolicy policy) throws AuthorizationAccessException;
-
-    /**
-     * Retrieves all access policies.
-     *
-     * @return a list of policies
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract Set<AccessPolicy> getAccessPolicies() throws AuthorizationAccessException;
-
-    /**
-     * Returns the UserAccessPolicies instance.
-     *
-     * @return the UserAccessPolicies instance
-     * @throws AuthorizationAccessException if there was an unexpected error performing the operation
-     */
-    public abstract UsersAndAccessPolicies getUsersAndAccessPolicies() throws AuthorizationAccessException;
-
-    /**
-     * Parses the fingerprint and adds any users, groups, and policies to the current Authorizer.
-     *
-     * @param fingerprint the fingerprint that was obtained from calling getFingerprint() on another Authorizer.
-     */
-    public final void inheritFingerprint(final String fingerprint) throws AuthorizationAccessException {
-        if (fingerprint == null || fingerprint.trim().isEmpty()) {
-            return;
-        }
-
-        final byte[] fingerprintBytes = fingerprint.getBytes(StandardCharsets.UTF_8);
-
-        try (final ByteArrayInputStream in = new ByteArrayInputStream(fingerprintBytes)) {
-            final DocumentBuilder docBuilder = DOCUMENT_BUILDER_FACTORY.newDocumentBuilder();
-            final Document document = docBuilder.parse(in);
-            final Element rootElement = document.getDocumentElement();
-
-            // parse all the users and add them to the current authorizer
-            NodeList userNodes = rootElement.getElementsByTagName(USER_ELEMENT);
-            for (int i=0; i < userNodes.getLength(); i++) {
-                Node userNode = userNodes.item(i);
-                User user = parseUser((Element) userNode);
-                addUser(user);
-            }
-
-            // parse all the groups and add them to the current authorizer
-            NodeList groupNodes = rootElement.getElementsByTagName(GROUP_ELEMENT);
-            for (int i=0; i < groupNodes.getLength(); i++) {
-                Node groupNode = groupNodes.item(i);
-                Group group = parseGroup((Element) groupNode);
-                addGroup(group);
-            }
-
-            // parse all the policies and add them to the current authorizer
-            NodeList policyNodes = rootElement.getElementsByTagName(POLICY_ELEMENT);
-            for (int i=0; i < policyNodes.getLength(); i++) {
-                Node policyNode = policyNodes.item(i);
-                AccessPolicy policy = parsePolicy((Element) policyNode);
-                addAccessPolicy(policy);
-            }
-
-        } catch (SAXException | ParserConfigurationException | IOException e) {
-            throw new AuthorizationAccessException("Unable to parse fingerprint", e);
-        }
-    }
-
-    private User parseUser(final Element element) {
-        final User.Builder builder = new User.Builder()
-                .identifier(element.getAttribute(IDENTIFIER_ATTR))
-                .identity(element.getAttribute(IDENTITY_ATTR));
-
-        return builder.build();
-    }
-
-    private Group parseGroup(final Element element) {
-        final Group.Builder builder = new Group.Builder()
-                .identifier(element.getAttribute(IDENTIFIER_ATTR))
-                .name(element.getAttribute(NAME_ATTR));
-
-        NodeList groupUsers = element.getElementsByTagName(GROUP_USER_ELEMENT);
-        for (int i=0; i < groupUsers.getLength(); i++) {
-            Element groupUserNode = (Element) groupUsers.item(i);
-            builder.addUser(groupUserNode.getAttribute(IDENTIFIER_ATTR));
-        }
-
-        return builder.build();
-    }
-
-    private AccessPolicy parsePolicy(final Element element) {
-        final AccessPolicy.Builder builder = new AccessPolicy.Builder()
-                .identifier(element.getAttribute(IDENTIFIER_ATTR))
-                .resource(element.getAttribute(RESOURCE_ATTR));
-
-        final String actions = element.getAttribute(ACTIONS_ATTR);
-        if (actions.equals(RequestAction.READ.name())) {
-            builder.action(RequestAction.READ);
-        } else if (actions.equals(RequestAction.WRITE.name())) {
-            builder.action(RequestAction.WRITE);
-        } else {
-            throw new IllegalStateException("Unknown Policy Action: " + actions);
-        }
-
-        NodeList policyUsers = element.getElementsByTagName(POLICY_USER_ELEMENT);
-        for (int i=0; i < policyUsers.getLength(); i++) {
-            Element policyUserNode = (Element) policyUsers.item(i);
-            builder.addUser(policyUserNode.getAttribute(IDENTIFIER_ATTR));
-        }
-
-        NodeList policyGroups = element.getElementsByTagName(POLICY_GROUP_ELEMENT);
-        for (int i=0; i < policyGroups.getLength(); i++) {
-            Element policyGroupNode = (Element) policyGroups.item(i);
-            builder.addGroup(policyGroupNode.getAttribute(IDENTIFIER_ATTR));
-        }
-
-        return builder.build();
-    }
-
-    /**
-     * Returns a fingerprint representing the authorizations managed by this authorizer. The fingerprint will be
-     * used for comparison to determine if two policy-based authorizers represent a compatible set of users,
-     * groups, and policies.
-     *
-     * @return the fingerprint for this Authorizer
-     */
-    public final String getFingerprint() throws AuthorizationAccessException {
-        final List<User> users = getSortedUsers();
-        final List<Group> groups = getSortedGroups();
-        final List<AccessPolicy> policies = getSortedAccessPolicies();
-
-        // when there are no users, groups, policies we want to always return a simple indicator so
-        // it can easily be determined when comparing fingerprints
-        if (users.isEmpty() && groups.isEmpty() && policies.isEmpty()) {
-            return EMPTY_FINGERPRINT;
-        }
-
-        XMLStreamWriter writer = null;
-        final StringWriter out = new StringWriter();
-        try {
-            writer = XML_OUTPUT_FACTORY.createXMLStreamWriter(out);
-            writer.writeStartDocument();
-            writer.writeStartElement("authorizations");
-
-            for (User user : users) {
-                writeUser(writer, user);
-            }
-            for (Group group : groups) {
-                writeGroup(writer, group);
-            }
-            for (AccessPolicy policy : policies) {
-                writePolicy(writer, policy);
-            }
-
-            writer.writeEndElement();
-            writer.writeEndDocument();
-            writer.flush();
-        } catch (XMLStreamException e) {
-            throw new AuthorizationAccessException("Unable to generate fingerprint", e);
-        } finally {
-            if (writer != null) {
-                try {
-                    writer.close();
-                } catch (XMLStreamException e) {
-                    // nothing to do here
-                }
-            }
-        }
-
-        return out.toString();
-    }
-
-    private void writeUser(final XMLStreamWriter writer, final User user) throws XMLStreamException {
-        writer.writeStartElement(USER_ELEMENT);
-        writer.writeAttribute(IDENTIFIER_ATTR, user.getIdentifier());
-        writer.writeAttribute(IDENTITY_ATTR, user.getIdentity());
-        writer.writeEndElement();
-    }
-
-    private void writeGroup(final XMLStreamWriter writer, final Group group) throws XMLStreamException {
-        List<String> users = new ArrayList<>(group.getUsers());
-        Collections.sort(users);
-
-        writer.writeStartElement(GROUP_ELEMENT);
-        writer.writeAttribute(IDENTIFIER_ATTR, group.getIdentifier());
-        writer.writeAttribute(NAME_ATTR, group.getName());
-
-        for (String user : users) {
-            writer.writeStartElement(GROUP_USER_ELEMENT);
-            writer.writeAttribute(IDENTIFIER_ATTR, user);
-            writer.writeEndElement();
-        }
-
-        writer.writeEndElement();
-    }
-
-    private void writePolicy(final XMLStreamWriter writer, final AccessPolicy policy) throws XMLStreamException {
-        // sort the users for the policy
-        List<String> policyUsers = new ArrayList<>(policy.getUsers());
-        Collections.sort(policyUsers);
-
-        // sort the groups for this policy
-        List<String> policyGroups = new ArrayList<>(policy.getGroups());
-        Collections.sort(policyGroups);
-
-        writer.writeStartElement(POLICY_ELEMENT);
-        writer.writeAttribute(IDENTIFIER_ATTR, policy.getIdentifier());
-        writer.writeAttribute(RESOURCE_ATTR, policy.getResource());
-        writer.writeAttribute(ACTIONS_ATTR, policy.getAction().name());
-
-        for (String policyUser : policyUsers) {
-            writer.writeStartElement(POLICY_USER_ELEMENT);
-            writer.writeAttribute(IDENTIFIER_ATTR, policyUser);
-            writer.writeEndElement();
-        }
-
-        for (String policyGroup : policyGroups) {
-            writer.writeStartElement(POLICY_GROUP_ELEMENT);
-            writer.writeAttribute(IDENTIFIER_ATTR, policyGroup);
-            writer.writeEndElement();
-        }
-
-        writer.writeEndElement();
-    }
-
-    private List<AccessPolicy> getSortedAccessPolicies() {
-        final List<AccessPolicy> policies = new ArrayList<>(getAccessPolicies());
-
-        Collections.sort(policies, new Comparator<AccessPolicy>() {
-            @Override
-            public int compare(AccessPolicy p1, AccessPolicy p2) {
-                return p1.getIdentifier().compareTo(p2.getIdentifier());
-            }
-        });
-        return policies;
-    }
-
-    private List<Group> getSortedGroups() {
-        final List<Group> groups = new ArrayList<>(getGroups());
-
-        Collections.sort(groups, new Comparator<Group>() {
-            @Override
-            public int compare(Group g1, Group g2) {
-                return g1.getIdentifier().compareTo(g2.getIdentifier());
-            }
-        });
-        return groups;
-    }
-
-    private List<User> getSortedUsers() {
-        final List<User> users = new ArrayList<>(getUsers());
-
-        Collections.sort(users, new Comparator<User>() {
-            @Override
-            public int compare(User u1, User u2) {
-                return u1.getIdentifier().compareTo(u2.getIdentifier());
-            }
-        });
-        return users;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d1129706/nifi-api/src/main/java/org/apache/nifi/authorization/AccessDeniedException.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authorization/AccessDeniedException.java b/nifi-api/src/main/java/org/apache/nifi/authorization/AccessDeniedException.java
deleted file mode 100644
index 8712d28..0000000
--- a/nifi-api/src/main/java/org/apache/nifi/authorization/AccessDeniedException.java
+++ /dev/null
@@ -1,39 +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.authorization;
-
-/**
- * Represents any error that might occur while authorizing user requests.
- */
-public class AccessDeniedException extends RuntimeException {
-    private static final long serialVersionUID = -5683444815269084134L;
-
-    public AccessDeniedException(Throwable cause) {
-        super(cause);
-    }
-
-    public AccessDeniedException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    public AccessDeniedException(String message) {
-        super(message);
-    }
-
-    public AccessDeniedException() {
-    }
-}