This is an automated email from the ASF dual-hosted git repository.
exceptionfactory pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
from 1437a2dcef NIFI-13480: (#9077)
add b5b61d960c NIFI-13344 Implemented backend for uploading and managing
custom NARs
No new revisions were added by this update.
Summary of changes:
.../src/main/resources/conf/bootstrap.conf | 3 +
.../java/org/apache/nifi/util/NiFiProperties.java | 10 +
.../nifi/stream/io/MaxLengthInputStream.java | 129 ++++++
.../nifi/util/security/MessageDigestUtils.java | 2 +-
.../nifi/stream/io/MaxLengthInputStreamTest.java | 132 ++++++
.../nifi/web/client/api/HttpResponseStatus.java | 3 +
nifi-docs/src/main/asciidoc/toolkit-guide.adoc | 5 +
.../java/org/apache/nifi/py4j/PythonProcess.java | 19 +-
.../org/apache/nifi/py4j/StandardPythonBridge.java | 37 +-
.../PythonControllerInteractionIT.java | 6 +
.../apache/nifi/python/DisabledPythonBridge.java | 9 +
.../java/org/apache/nifi/python/PythonBridge.java | 18 +-
.../python/PythonBridgeInitializationContext.java | 5 +
.../apache/nifi/python/PythonBundleCoordinate.java | 37 ++
.../org/apache/nifi/python/PythonController.java | 8 +
.../apache/nifi/python/PythonProcessConfig.java | 14 -
.../apache/nifi/python/PythonProcessorDetails.java | 5 +
.../src/main/python/framework/BundleCoordinate.py | 44 ++
.../src/main/python/framework/Controller.py | 3 +
.../src/main/python/framework/ExtensionDetails.py | 8 +-
.../src/main/python/framework/ExtensionManager.py | 8 +
.../main/python/framework/ProcessorInspection.py | 31 +-
nifi-framework-api/pom.xml | 15 +
.../main/java/org/apache/nifi/nar/NarManifest.java | 280 ++++++++++++
.../java/org/apache/nifi/nar/NarManifestEntry.java | 48 ++
.../org/apache/nifi/nar/NarPersistenceContext.java | 89 ++++
.../org/apache/nifi/nar/NarPersistenceInfo.java | 60 +++
.../apache/nifi/nar/NarPersistenceProvider.java | 109 +++++
...arPersistenceProviderInitializationContext.java | 32 ++
.../java/org/apache/nifi/nar/NarProperties.java | 229 ++++++++++
.../main/java/org/apache/nifi/nar/NarProperty.java | 44 ++
.../main/java/org/apache/nifi/nar/NarSource.java | 35 ++
.../java/org/apache/nifi/nar/NarManifestTest.java | 117 +++++
.../org/apache/nifi/nar/NarPropertiesTest.java | 157 +++++++
.../src/test/resources/nar/MANIFEST-FULL.MF | 13 +
.../src/test/resources/nar/MANIFEST-MINIMAL.MF | 6 +
.../apache/nifi/web/api/dto/NarCoordinateDTO.java | 84 ++++
.../org/apache/nifi/web/api/dto/NarSummaryDTO.java | 174 +++++++
.../nifi/web/api/entity/NarDetailsEntity.java | 111 +++++
.../nifi/web/api/entity/NarSummariesEntity.java | 57 +++
.../nifi/web/api/entity/NarSummaryEntity.java | 63 +++
.../nifi-framework/nifi-documentation/pom.xml | 9 +-
.../apache/nifi/documentation/DocGenerator.java | 19 +-
.../authorization/FileAccessPolicyProvider.java | 2 +
.../nifi-framework/nifi-framework-cluster/pom.xml | 5 +
.../http/StandardHttpResponseMapper.java | 8 +-
.../http/endpoints/NarDetailsEndpointMerger.java | 65 +++
.../http/endpoints/NarSummariesEndpointMerger.java | 56 +++
.../http/endpoints/NarSummaryEndpointMerger.java | 62 +++
.../StandardUploadRequestReplicator.java | 180 ++++++++
.../http/replication/UploadRequest.java | 144 ++++++
.../UploadRequestReplicationException.java | 35 ++
.../http/replication/UploadRequestReplicator.java | 38 ++
.../nifi/cluster/manager/NarSummariesMerger.java | 47 ++
.../nifi/cluster/manager/NarSummaryDtoMerger.java | 35 ++
.../FrameworkClusterConfiguration.java | 19 +
.../cluster/manager/NarSummariesMergerTest.java | 79 ++++
.../cluster/manager/NarSummaryDtoMergerTest.java | 70 +++
.../org/apache/nifi/nar/NarComponentManager.java | 55 +++
.../org/apache/nifi/nar/NarInstallRequest.java | 78 ++++
.../main/java/org/apache/nifi/nar/NarManager.java | 103 +++++
.../src/main/java/org/apache/nifi/nar/NarNode.java | 161 +++++++
.../org/apache/nifi/nar/NarNotFoundException.java | 37 ++
.../main/java/org/apache/nifi/nar/NarState.java | 39 ++
.../org/apache/nifi/nar/StoppedComponents.java | 40 ++
.../nifi-framework/nifi-framework-core/pom.xml | 10 +
.../components/ClassLoaderAwarePythonBridge.java | 15 +
.../apache/nifi/controller/ExtensionBuilder.java | 28 +-
.../org/apache/nifi/controller/FlowController.java | 18 +-
.../nifi/controller/StandardFlowService.java | 13 +-
.../configuration/FlowControllerConfiguration.java | 113 ++++-
.../nifi/nar/ComponentNodeDefinitionPredicate.java | 62 +++
.../java/org/apache/nifi/nar/NarInstallTask.java | 189 ++++++++
.../nar/NarPersistenceProviderFactoryBean.java | 160 +++++++
.../java/org/apache/nifi/nar/NarRestApiClient.java | 141 ++++++
.../nifi/nar/NarRestApiRetryableException.java | 32 ++
.../nifi/nar/StandardNarComponentManager.java | 226 +++++++++
.../org/apache/nifi/nar/StandardNarManager.java | 507 +++++++++++++++++++++
.../nifi/nar/StandardNarPersistenceProvider.java | 304 ++++++++++++
...arPersistenceProviderInitializationContext.java | 36 ++
.../apache/nifi/nar/StandardStoppedComponents.java | 112 +++++
.../org.apache.nifi.nar.NarPersistenceProvider | 17 +
.../nar/ComponentNodeDefinitionPredicateTest.java | 142 ++++++
.../nar/StandardNarPersistenceProviderTest.java | 163 +++++++
.../resources/flowcontrollertest.nifi.properties | 3 +
.../org/apache/nifi/nar/ExtensionUiLoader.java | 4 +
.../main/java/org/apache/nifi/nar/NarLoader.java | 29 +-
.../java/org/apache/nifi/nar/NarLoaderHolder.java | 54 +++
.../org/apache/nifi/nar/StandardNarLoader.java | 95 +++-
.../org/apache/nifi/nar/AbstractTestNarLoader.java | 12 +-
.../nifi/nar/ExtensionDiscoveringManager.java | 20 +
.../java/org/apache/nifi/nar/ExtensionManager.java | 24 +
.../nifi/nar/NarThreadContextClassLoader.java | 5 +-
.../nar/StandardExtensionDiscoveringManager.java | 210 +++++++--
.../apache/nifi/headless/HeadlessNiFiServer.java | 1 +
.../java/org/apache/nifi/nar/FileDigestUtils.java | 2 +-
.../java/org/apache/nifi/nar/NarBundleUtil.java | 24 +-
.../java/org/apache/nifi/nar/NarClassLoaders.java | 13 +
.../java/org/apache/nifi/nar/NarManifestEntry.java | 47 --
.../main/java/org/apache/nifi/nar/NarUnpacker.java | 6 +-
.../java/org/apache/nifi/nar/PythonBundle.java | 2 +-
.../nifi-framework/nifi-resources/pom.xml | 6 +
.../src/main/resources/conf/nifi.properties | 5 +
.../nifi-framework/nifi-web/nifi-jetty/pom.xml | 5 -
.../org/apache/nifi/web/server/JettyServer.java | 127 +++++-
.../nifi/ui/extension/UiExtensionMapping.java | 25 +-
.../org/apache/nifi/web/NiFiServiceFacade.java | 68 ++-
.../apache/nifi/web/NiFiWebApiResourceConfig.java | 2 +
.../apache/nifi/web/StandardNiFiServiceFacade.java | 118 ++++-
.../apache/nifi/web/api/ControllerResource.java | 342 +++++++++++++-
.../UploadRequestReplicationExceptionMapper.java | 38 ++
.../org/apache/nifi/web/api/dto/DtoFactory.java | 118 +++--
.../org/apache/nifi/web/api/dto/EntityFactory.java | 5 +
.../nifi/web/controller/ControllerFacade.java | 7 +-
.../src/main/resources/nifi-web-api-context.xml | 2 +
.../apache/nifi/web/api/dto/DtoFactoryTest.java | 113 +++++
.../org/apache/nifi/extensions/DownloadQueue.java | 6 +-
.../src/test/assembly/dependencies.xml | 3 -
.../tests/system/nar/NarUploadClusteredIT.java | 31 ++
.../nifi/tests/system/nar/NarUploadPythonIT.java | 173 +++++++
.../tests/system/nar/NarUploadStandaloneIT.java | 148 ++++++
.../nifi/tests/system/nar/NarUploadUtil.java | 96 ++++
.../nifi/tests/system/python/PythonNarIT.java | 4 +-
.../resources/conf/clustered/node1/nifi.properties | 3 +
.../resources/conf/clustered/node2/nifi.properties | 3 +
.../test/resources/conf/default/nifi.properties | 3 +
.../test/resources/conf/pythonic/nifi.properties | 3 +
.../cli/impl/client/nifi/ControllerClient.java | 17 +
.../toolkit/cli/impl/client/nifi/FlowClient.java | 24 +
.../client/nifi/impl/AbstractJerseyClient.java | 34 +-
.../client/nifi/impl/JerseyControllerClient.java | 111 ++++-
.../impl/client/nifi/impl/JerseyFlowClient.java | 33 +-
.../toolkit/cli/impl/command/CommandOption.java | 5 +
.../cli/impl/command/nifi/NiFiCommandGroup.java | 12 +-
.../cli/impl/command/nifi/nar/DeleteNar.java | 62 +++
.../cli/impl/command/nifi/nar/DownloadNar.java | 62 +++
.../command/nifi/nar/ListNarComponentTypes.java | 58 +++
.../cli/impl/command/nifi/nar/ListNars.java | 50 ++
.../cli/impl/command/nifi/nar/UploadNar.java | 109 +++++
.../impl/result/nifi/NarComponentTypesResult.java | 84 ++++
.../impl/result/nifi/NarSummariesEntityResult.java | 75 +++
.../cli/impl/result/nifi/NarUploadResult.java | 66 +++
142 files changed, 8471 insertions(+), 269 deletions(-)
create mode 100644
nifi-commons/nifi-utils/src/main/java/org/apache/nifi/stream/io/MaxLengthInputStream.java
create mode 100644
nifi-commons/nifi-utils/src/test/java/org/apache/nifi/stream/io/MaxLengthInputStreamTest.java
create mode 100644
nifi-extension-bundles/nifi-py4j-bundle/nifi-python-framework-api/src/main/java/org/apache/nifi/python/PythonBundleCoordinate.java
create mode 100644
nifi-extension-bundles/nifi-py4j-bundle/nifi-python-framework/src/main/python/framework/BundleCoordinate.py
create mode 100644
nifi-framework-api/src/main/java/org/apache/nifi/nar/NarManifest.java
create mode 100644
nifi-framework-api/src/main/java/org/apache/nifi/nar/NarManifestEntry.java
create mode 100644
nifi-framework-api/src/main/java/org/apache/nifi/nar/NarPersistenceContext.java
create mode 100644
nifi-framework-api/src/main/java/org/apache/nifi/nar/NarPersistenceInfo.java
create mode 100644
nifi-framework-api/src/main/java/org/apache/nifi/nar/NarPersistenceProvider.java
create mode 100644
nifi-framework-api/src/main/java/org/apache/nifi/nar/NarPersistenceProviderInitializationContext.java
create mode 100644
nifi-framework-api/src/main/java/org/apache/nifi/nar/NarProperties.java
create mode 100644
nifi-framework-api/src/main/java/org/apache/nifi/nar/NarProperty.java
create mode 100644
nifi-framework-api/src/main/java/org/apache/nifi/nar/NarSource.java
create mode 100644
nifi-framework-api/src/test/java/org/apache/nifi/nar/NarManifestTest.java
create mode 100644
nifi-framework-api/src/test/java/org/apache/nifi/nar/NarPropertiesTest.java
create mode 100644 nifi-framework-api/src/test/resources/nar/MANIFEST-FULL.MF
create mode 100644
nifi-framework-api/src/test/resources/nar/MANIFEST-MINIMAL.MF
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/NarCoordinateDTO.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/NarSummaryDTO.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/entity/NarDetailsEntity.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/entity/NarSummariesEntity.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/entity/NarSummaryEntity.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/http/endpoints/NarDetailsEndpointMerger.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/http/endpoints/NarSummariesEndpointMerger.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/http/endpoints/NarSummaryEndpointMerger.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/http/replication/StandardUploadRequestReplicator.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/http/replication/UploadRequest.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/http/replication/UploadRequestReplicationException.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/http/replication/UploadRequestReplicator.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/NarSummariesMerger.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/NarSummaryDtoMerger.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/test/java/org/apache/nifi/cluster/manager/NarSummariesMergerTest.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/test/java/org/apache/nifi/cluster/manager/NarSummaryDtoMergerTest.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/nar/NarComponentManager.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/nar/NarInstallRequest.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/nar/NarManager.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/nar/NarNode.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/nar/NarNotFoundException.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/nar/NarState.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/nar/StoppedComponents.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/nar/ComponentNodeDefinitionPredicate.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/nar/NarInstallTask.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/nar/NarPersistenceProviderFactoryBean.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/nar/NarRestApiClient.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/nar/NarRestApiRetryableException.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/nar/StandardNarComponentManager.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/nar/StandardNarManager.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/nar/StandardNarPersistenceProvider.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/nar/StandardNarPersistenceProviderInitializationContext.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/nar/StandardStoppedComponents.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/META-INF/services/org.apache.nifi.nar.NarPersistenceProvider
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/nar/ComponentNodeDefinitionPredicateTest.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/nar/StandardNarPersistenceProviderTest.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-framework-nar-loading-utils/src/main/java/org/apache/nifi/nar/NarLoaderHolder.java
delete mode 100644
nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarManifestEntry.java
create mode 100644
nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/config/UploadRequestReplicationExceptionMapper.java
create mode 100644
nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/nar/NarUploadClusteredIT.java
create mode 100644
nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/nar/NarUploadPythonIT.java
create mode 100644
nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/nar/NarUploadStandaloneIT.java
create mode 100644
nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/nar/NarUploadUtil.java
create mode 100644
nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/nar/DeleteNar.java
create mode 100644
nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/nar/DownloadNar.java
create mode 100644
nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/nar/ListNarComponentTypes.java
create mode 100644
nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/nar/ListNars.java
create mode 100644
nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/nifi/nar/UploadNar.java
create mode 100644
nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/result/nifi/NarComponentTypesResult.java
create mode 100644
nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/result/nifi/NarSummariesEntityResult.java
create mode 100644
nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/result/nifi/NarUploadResult.java