You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jp...@apache.org on 2016/07/01 03:24:59 UTC
nifi-minifi git commit: MINIFI-42 Adjusting handling of the remote
process group ID when locating its parent group.
Repository: nifi-minifi
Updated Branches:
refs/heads/master 8c47fb4a0 -> 0689ac904
MINIFI-42 Adjusting handling of the remote process group ID when locating its parent group.
This closes #22
Signed-off-by: Joseph Percivall <jo...@yahoo.com>
Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi/commit/0689ac90
Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi/tree/0689ac90
Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi/diff/0689ac90
Branch: refs/heads/master
Commit: 0689ac904d6e8dc8df52583bcb457375000aca1b
Parents: 8c47fb4
Author: Aldrin Piri <al...@apache.org>
Authored: Mon Jun 27 13:16:21 2016 -0600
Committer: Joseph Percivall <jo...@yahoo.com>
Committed: Thu Jun 30 23:22:38 2016 -0400
----------------------------------------------------------------------
.../bootstrap/util/ConfigTransformer.java | 41 ++++++++++----------
1 file changed, 20 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/0689ac90/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java
----------------------------------------------------------------------
diff --git a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java
index 956f4dc..1e44174 100644
--- a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java
+++ b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java
@@ -68,6 +68,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.zip.GZIPOutputStream;
public final class ConfigTransformer {
@@ -367,7 +368,7 @@ public final class ConfigTransformer {
List<RemoteProcessingGroupSchema> remoteProcessingGroups = configSchema.getRemoteProcessingGroups();
if (remoteProcessingGroups != null) {
- for (RemoteProcessingGroupSchema remoteProcessingGroupSchema: remoteProcessingGroups) {
+ for (RemoteProcessingGroupSchema remoteProcessingGroupSchema : remoteProcessingGroups) {
addRemoteProcessGroup(element, remoteProcessingGroupSchema);
}
}
@@ -491,7 +492,7 @@ public final class ConfigTransformer {
addTextElement(element, "transmitting", "true");
List<RemoteInputPortSchema> remoteInputPorts = remoteProcessingGroupProperties.getInputPorts();
- for(RemoteInputPortSchema remoteInputPortSchema: remoteInputPorts) {
+ for (RemoteInputPortSchema remoteInputPortSchema : remoteInputPorts) {
addRemoteGroupPort(element, remoteInputPortSchema);
}
@@ -538,10 +539,11 @@ public final class ConfigTransformer {
addTextElement(element, "sourceGroupId", "Root-Group");
addTextElement(element, "sourceType", "PROCESSOR");
- addTextElement(element, "destinationId", connectionProperties.getDestinationName());
-
- if (isInputPortId(connectionProperties.getDestinationName(), configSchema)) {
- addTextElement(element, "destinationGroupId", "Remote-Process-Group");
+ final String connectionDestinationId = connectionProperties.getDestinationName();
+ addTextElement(element, "destinationId", connectionDestinationId);
+ final Optional<String> parentGroup = findInputPortParentGroup(connectionDestinationId, configSchema);
+ if (parentGroup.isPresent()) {
+ addTextElement(element, "destinationGroupId", parentGroup.get());
addTextElement(element, "destinationType", "REMOTE_INPUT_PORT");
} else {
addTextElement(element, "destinationGroupId", "Root-Group");
@@ -562,25 +564,22 @@ public final class ConfigTransformer {
}
}
- private static boolean isInputPortId(String id, ConfigSchema configSchema) {
- boolean isInputPortId = false;
- try {
- List<RemoteProcessingGroupSchema> remoteProcessingGroups = configSchema.getRemoteProcessingGroups();
- if (remoteProcessingGroups != null) {
- for (RemoteProcessingGroupSchema remoteProcessingGroupSchema: remoteProcessingGroups) {
- List<RemoteInputPortSchema> remoteInputPorts = remoteProcessingGroupSchema.getInputPorts();
- for (RemoteInputPortSchema remoteInputPortSchema: remoteInputPorts) {
- if (remoteInputPortSchema != null && id.equals(remoteInputPortSchema.getId())) {
- isInputPortId = true;
- break;
- }
+ // Locate the associated parent group for a given input port by its id
+ private static Optional<String> findInputPortParentGroup(String inputPortId, ConfigSchema configSchema) {
+ final List<RemoteProcessingGroupSchema> remoteProcessingGroups = configSchema.getRemoteProcessingGroups();
+ if (remoteProcessingGroups != null) {
+ for (final RemoteProcessingGroupSchema remoteProcessingGroupSchema : remoteProcessingGroups) {
+ final List<RemoteInputPortSchema> remoteInputPorts = remoteProcessingGroupSchema.getInputPorts();
+ for (final RemoteInputPortSchema remoteInputPortSchema : remoteInputPorts) {
+ if (remoteInputPortSchema != null && inputPortId.equals(remoteInputPortSchema.getId())) {
+ return Optional.of(remoteProcessingGroupSchema.getName());
+
}
}
}
- } catch (Exception e) {
- // If an exception was thrown then it isn't the InputPort
}
- return isInputPortId;
+
+ return Optional.empty();
}
private static void addPosition(final Element parentElement) {