This is an automated email from the ASF dual-hosted git repository.
briansolo1985 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new 646391a5a4 NIFI-14455 Unbind MiNiFi asset repository parent directory
from c2.asset.directory
646391a5a4 is described below
commit 646391a5a4879d17014a4a00186530cd5d2a8d5d
Author: Peter Kedvessy <[email protected]>
AuthorDate: Thu Apr 10 09:31:05 2025 +0200
NIFI-14455 Unbind MiNiFi asset repository parent directory from
c2.asset.directory
This closes #9867.
Signed-off-by: Ferenc Kis <[email protected]>
---
.../main/java/org/apache/nifi/c2/client/C2ClientConfig.java | 12 ++++++++++++
.../org/apache/nifi/minifi/commons/api/MiNiFiProperties.java | 1 +
.../java/org/apache/nifi/minifi/c2/C2NifiClientService.java | 4 +++-
.../c2/command/syncresource/FileResourceRepository.java | 5 ++---
.../c2/command/syncresource/FileResourceRepositoryTest.java | 7 ++-----
5 files changed, 20 insertions(+), 9 deletions(-)
diff --git
a/c2/c2-client-bundle/c2-client-base/src/main/java/org/apache/nifi/c2/client/C2ClientConfig.java
b/c2/c2-client-bundle/c2-client-base/src/main/java/org/apache/nifi/c2/client/C2ClientConfig.java
index 03b3f2491a..3c96d21fae 100644
---
a/c2/c2-client-bundle/c2-client-base/src/main/java/org/apache/nifi/c2/client/C2ClientConfig.java
+++
b/c2/c2-client-bundle/c2-client-base/src/main/java/org/apache/nifi/c2/client/C2ClientConfig.java
@@ -57,6 +57,7 @@ public class C2ClientConfig {
private final long keepAliveDuration;
private final String c2RequestCompression;
private final String c2AssetDirectory;
+ private final String c2AssetRepositoryDirectory;
private final long bootstrapAcknowledgeTimeout;
private final int c2FlowInfoProcessorBulletinLimit;
private final boolean c2FlowInfoProcessorStatusEnabled;
@@ -89,6 +90,7 @@ public class C2ClientConfig {
this.keepAliveDuration = builder.keepAliveDuration;
this.c2RequestCompression = builder.c2RequestCompression;
this.c2AssetDirectory = builder.c2AssetDirectory;
+ this.c2AssetRepositoryDirectory = builder.c2AssetRepositoryDirectory;
this.bootstrapAcknowledgeTimeout = builder.bootstrapAcknowledgeTimeout;
this.c2FlowInfoProcessorBulletinLimit =
builder.c2FlowInfoProcessorBulletinLimit;
this.c2FlowInfoProcessorStatusEnabled =
builder.c2FlowInfoProcessorStatusEnabled;
@@ -194,6 +196,10 @@ public class C2ClientConfig {
return c2AssetDirectory;
}
+ public String getC2AssetRepositoryDirectory() {
+ return c2AssetRepositoryDirectory;
+ }
+
public int getMaxIdleConnections() {
return maxIdleConnections;
}
@@ -248,6 +254,7 @@ public class C2ClientConfig {
private long keepAliveDuration;
private String c2RequestCompression;
private String c2AssetDirectory;
+ private String c2AssetRepositoryDirectory;
private long bootstrapAcknowledgeTimeout;
private int c2FlowInfoProcessorBulletinLimit;
private boolean c2FlowInfoProcessorStatusEnabled;
@@ -397,6 +404,11 @@ public class C2ClientConfig {
return this;
}
+ public Builder c2AssetRepositoryDirectory(String
c2AssetRepositoryDirectory) {
+ this.c2AssetRepositoryDirectory = c2AssetRepositoryDirectory;
+ return this;
+ }
+
public Builder bootstrapAcknowledgeTimeout(long
bootstrapAcknowledgeTimeout) {
this.bootstrapAcknowledgeTimeout = bootstrapAcknowledgeTimeout;
return this;
diff --git
a/minifi/minifi-commons/minifi-commons-api/src/main/java/org/apache/nifi/minifi/commons/api/MiNiFiProperties.java
b/minifi/minifi-commons/minifi-commons-api/src/main/java/org/apache/nifi/minifi/commons/api/MiNiFiProperties.java
index 94c43d58a9..42b6a8c01d 100644
---
a/minifi/minifi-commons/minifi-commons-api/src/main/java/org/apache/nifi/minifi/commons/api/MiNiFiProperties.java
+++
b/minifi/minifi-commons/minifi-commons-api/src/main/java/org/apache/nifi/minifi/commons/api/MiNiFiProperties.java
@@ -84,6 +84,7 @@ public enum MiNiFiProperties {
C2_RUNTIME_MANIFEST_IDENTIFIER("c2.runtime.manifest.identifier", "minifi",
false, true, VALID),
C2_RUNTIME_TYPE("c2.runtime.type", "minifi-java", false, true, VALID),
C2_ASSET_DIRECTORY("c2.asset.directory", "./asset", false, true, VALID),
+ C2_ASSET_REPOSITORY_DIRECTORY("c2.asset.repository.directory",
"./asset/repository", false, false, VALID),
C2_SECURITY_TRUSTSTORE_LOCATION("c2.security.truststore.location", "",
false, false, VALID),
C2_SECURITY_TRUSTSTORE_PASSWORD("c2.security.truststore.password", "",
true, false, VALID),
C2_SECURITY_TRUSTSTORE_TYPE("c2.security.truststore.type", "JKS", false,
false, VALID),
diff --git
a/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-framework-core/src/main/java/org/apache/nifi/minifi/c2/C2NifiClientService.java
b/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-framework-core/src/main/java/org/apache/nifi/minifi/c2/C2NifiClientService.java
index 4493f6194e..97a5e31450 100644
---
a/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-framework-core/src/main/java/org/apache/nifi/minifi/c2/C2NifiClientService.java
+++
b/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-framework-core/src/main/java/org/apache/nifi/minifi/c2/C2NifiClientService.java
@@ -31,6 +31,7 @@ import static
org.apache.nifi.minifi.commons.api.MiNiFiProperties.C2_AGENT_CLASS
import static
org.apache.nifi.minifi.commons.api.MiNiFiProperties.C2_AGENT_HEARTBEAT_PERIOD;
import static
org.apache.nifi.minifi.commons.api.MiNiFiProperties.C2_AGENT_IDENTIFIER;
import static
org.apache.nifi.minifi.commons.api.MiNiFiProperties.C2_ASSET_DIRECTORY;
+import static
org.apache.nifi.minifi.commons.api.MiNiFiProperties.C2_ASSET_REPOSITORY_DIRECTORY;
import static
org.apache.nifi.minifi.commons.api.MiNiFiProperties.C2_BOOTSTRAP_ACKNOWLEDGE_TIMEOUT;
import static
org.apache.nifi.minifi.commons.api.MiNiFiProperties.C2_CONFIG_DIRECTORY;
import static
org.apache.nifi.minifi.commons.api.MiNiFiProperties.C2_FLOW_INFO_PROCESSOR_STATUS_ENABLED;
@@ -170,7 +171,7 @@ public class C2NifiClientService {
this.flowController = flowController;
C2Serializer c2Serializer = new C2JacksonSerializer();
ResourceRepository resourceRepository =
- new
FileResourceRepository(Path.of(clientConfig.getC2AssetDirectory()),
niFiProperties.getNarAutoLoadDirectory().toPath(),
+ new
FileResourceRepository(Path.of(clientConfig.getC2AssetRepositoryDirectory()),
niFiProperties.getNarAutoLoadDirectory().toPath(),
niFiProperties.getFlowConfigurationFileDir().toPath(),
c2Serializer);
C2HttpClient client = C2HttpClient.create(clientConfig, c2Serializer);
FlowIdHolder flowIdHolder = new
FlowIdHolder(clientConfig.getConfDirectory());
@@ -209,6 +210,7 @@ public class C2NifiClientService {
.httpHeaders(properties.getProperty(C2_REST_HTTP_HEADERS.getKey(),
C2_REST_HTTP_HEADERS.getDefaultValue()))
.c2RequestCompression(properties.getProperty(C2_REQUEST_COMPRESSION.getKey(),
C2_REQUEST_COMPRESSION.getDefaultValue()))
.c2AssetDirectory(properties.getProperty(C2_ASSET_DIRECTORY.getKey(),
C2_ASSET_DIRECTORY.getDefaultValue()))
+
.c2AssetRepositoryDirectory(properties.getProperty(C2_ASSET_REPOSITORY_DIRECTORY.getKey(),
C2_ASSET_REPOSITORY_DIRECTORY.getDefaultValue()))
.confDirectory(properties.getProperty(C2_CONFIG_DIRECTORY.getKey(),
C2_CONFIG_DIRECTORY.getDefaultValue()))
.runtimeManifestIdentifier(properties.getProperty(C2_RUNTIME_MANIFEST_IDENTIFIER.getKey(),
C2_RUNTIME_MANIFEST_IDENTIFIER.getDefaultValue()))
.runtimeType(properties.getProperty(C2_RUNTIME_TYPE.getKey(),
C2_RUNTIME_TYPE.getDefaultValue()))
diff --git
a/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-framework-core/src/main/java/org/apache/nifi/minifi/c2/command/syncresource/FileResourceRepository.java
b/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-framework-core/src/main/java/org/apache/nifi/minifi/c2/command/syncresource/FileResourceRepository.java
index 5b5ca5b622..6ed8b2f3e4 100644
---
a/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-framework-core/src/main/java/org/apache/nifi/minifi/c2/command/syncresource/FileResourceRepository.java
+++
b/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-framework-core/src/main/java/org/apache/nifi/minifi/c2/command/syncresource/FileResourceRepository.java
@@ -58,7 +58,6 @@ import org.slf4j.LoggerFactory;
public class FileResourceRepository implements ResourceRepository {
- static final String ASSET_REPOSITORY_DIRECTORY = "repository";
static final String RESOURCE_REPOSITORY_FILE_NAME = "resources.json";
private static final Logger LOG =
LoggerFactory.getLogger(FileResourceRepository.class);
@@ -71,10 +70,10 @@ public class FileResourceRepository implements
ResourceRepository {
private ResourceRepositoryDescriptor resourceRepositoryDescriptor;
- public FileResourceRepository(Path assetDirectory, Path
extensionDirectory, Path configDirectory, C2Serializer c2Serializer) {
+ public FileResourceRepository(Path assetRepositoryDirectory, Path
extensionDirectory, Path configDirectory, C2Serializer c2Serializer) {
this.resourceRepositoryFile =
configDirectory.resolve(RESOURCE_REPOSITORY_FILE_NAME);
this.c2Serializer = c2Serializer;
- this.assetRepositoryDirectory =
assetDirectory.resolve(ASSET_REPOSITORY_DIRECTORY);
+ this.assetRepositoryDirectory = assetRepositoryDirectory;
this.extensionDirectory = extensionDirectory;
initialize();
}
diff --git
a/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-framework-core/src/test/java/org/apache/nifi/minifi/c2/command/syncresource/FileResourceRepositoryTest.java
b/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-framework-core/src/test/java/org/apache/nifi/minifi/c2/command/syncresource/FileResourceRepositoryTest.java
index 608d29369f..ed13fb1648 100644
---
a/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-framework-core/src/test/java/org/apache/nifi/minifi/c2/command/syncresource/FileResourceRepositoryTest.java
+++
b/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-framework-core/src/test/java/org/apache/nifi/minifi/c2/command/syncresource/FileResourceRepositoryTest.java
@@ -30,7 +30,6 @@ import static
org.apache.commons.codec.digest.DigestUtils.sha512Hex;
import static org.apache.commons.lang3.StringUtils.isBlank;
import static org.apache.nifi.c2.protocol.api.ResourceType.ASSET;
import static org.apache.nifi.c2.protocol.api.ResourceType.EXTENSION;
-import static
org.apache.nifi.minifi.c2.command.syncresource.FileResourceRepository.ASSET_REPOSITORY_DIRECTORY;
import static
org.apache.nifi.minifi.c2.command.syncresource.FileResourceRepository.RESOURCE_REPOSITORY_FILE_NAME;
import static org.apache.nifi.util.StringUtils.EMPTY;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -72,7 +71,6 @@ public class FileResourceRepositoryTest {
private C2Serializer c2Serializer;
- private Path assetDirectory;
private Path assetRepositoryDirectory;
private Path extensionDirectory;
private Path repositoryFile;
@@ -83,8 +81,7 @@ public class FileResourceRepositoryTest {
c2Serializer = new C2JacksonSerializer();
configDirectoryPath = testBaseDirectory.resolve("conf");
createDirectories(configDirectoryPath);
- assetDirectory = testBaseDirectory.resolve("assets");
- assetRepositoryDirectory =
assetDirectory.resolve(ASSET_REPOSITORY_DIRECTORY);
+ assetRepositoryDirectory =
testBaseDirectory.resolve("assets").resolve("repository");
createDirectories(assetRepositoryDirectory);
extensionDirectory = testBaseDirectory.resolve("extensions");
createDirectories(extensionDirectory);
@@ -390,7 +387,7 @@ public class FileResourceRepositoryTest {
}
private FileResourceRepository createTestRepository() {
- return new FileResourceRepository(assetDirectory, extensionDirectory,
configDirectoryPath, c2Serializer);
+ return new FileResourceRepository(assetRepositoryDirectory,
extensionDirectory, configDirectoryPath, c2Serializer);
}
private ResourcesGlobalHash resourcesGlobalHash(String digest, String
hashType) {