You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by sc...@apache.org on 2019/09/06 13:32:51 UTC
[nifi] 01/02: NIFI-6623 - Support linking to unauthorized
components from referencing components
This is an automated email from the ASF dual-hosted git repository.
scottyaslan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git
commit 710c02c673570d09a7e61ea6f95015b6c36382cd
Author: Rob Fellows <ro...@gmail.com>
AuthorDate: Thu Sep 5 14:10:24 2019 -0400
NIFI-6623 - Support linking to unauthorized components from referencing components
---
.../web/api/entity/AffectedComponentEntity.java | 13 ++++++++++
.../org/apache/nifi/web/api/dto/EntityFactory.java | 1 +
.../webapp/js/nf/canvas/nf-parameter-contexts.js | 30 ++++++++++++++--------
.../webapp/js/nf/canvas/nf-variable-registry.js | 21 ++++++++++++++-
4 files changed, 54 insertions(+), 11 deletions(-)
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/entity/AffectedComponentEntity.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/entity/AffectedComponentEntity.java
index 737d9c0..7ef93a7 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/entity/AffectedComponentEntity.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/entity/AffectedComponentEntity.java
@@ -31,6 +31,7 @@ public class AffectedComponentEntity extends ComponentEntity implements Permissi
private AffectedComponentDTO component;
private ProcessGroupNameDTO processGroup;
+ private String referenceType;
/**
* @return variable referencing components that is being serialized
@@ -54,6 +55,18 @@ public class AffectedComponentEntity extends ComponentEntity implements Permissi
this.processGroup = processGroup;
}
+ @ApiModelProperty(value="The type of component referenced",
+ allowableValues = AffectedComponentDTO.COMPONENT_TYPE_PROCESSOR + "," + AffectedComponentDTO.COMPONENT_TYPE_CONTROLLER_SERVICE + ", "
+ + AffectedComponentDTO.COMPONENT_TYPE_INPUT_PORT + ", " + AffectedComponentDTO.COMPONENT_TYPE_OUTPUT_PORT + ", "
+ + AffectedComponentDTO.COMPONENT_TYPE_REMOTE_INPUT_PORT + ", " + AffectedComponentDTO.COMPONENT_TYPE_REMOTE_OUTPUT_PORT)
+ public String getReferenceType() {
+ return referenceType;
+ }
+
+ public void setReferenceType(String referenceType) {
+ this.referenceType = referenceType;
+ }
+
@Override
public String toString() {
return component == null ? "AffectedComponent[No Component]" : component.toString();
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/EntityFactory.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/EntityFactory.java
index 20de5e5..08c28d1 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/EntityFactory.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/EntityFactory.java
@@ -370,6 +370,7 @@ public final class EntityFactory {
if (dto != null) {
entity.setPermissions(permissions);
entity.setId(dto.getId());
+ entity.setReferenceType(dto.getReferenceType());
if (permissions != null && permissions.getCanRead()) {
entity.setComponent(dto);
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
index 161bb64..79c3bef 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
@@ -692,16 +692,26 @@
}
} else {
var referencingUnauthorizedComponentContainer = $('<li class="referencing-component-container"></li>').appendTo(unauthorizedComponentsContainer);
- $('<span class="parameter-context-referencing-component-name link ellipsis"></span>').prop('title', unauthorizedReferencingComponentEntity.id).text(unauthorizedReferencingComponentEntity.id).on('click', function () {
- // check if there are outstanding changes
- handleOutstandingChanges().done(function () {
- // close the shell
- $('#shell-dialog').modal('hide');
-
- // show the component in question
- nfCanvasUtils.showComponent(unauthorizedReferencingComponentEntity.processGroup.id, unauthorizedReferencingComponentEntity.id);
- });
- }).appendTo(referencingUnauthorizedComponentContainer);
+ $('<span class="parameter-context-referencing-component-name link ellipsis"></span>')
+ .prop('title', unauthorizedReferencingComponentEntity.id)
+ .text(unauthorizedReferencingComponentEntity.id)
+ .on('click', function () {
+ // check if there are outstanding changes
+ handleOutstandingChanges().done(function () {
+ // close the shell
+ $('#shell-dialog').modal('hide');
+
+ // show the component in question
+ if (unauthorizedReferencingComponentEntity.referenceType === 'PROCESSOR') {
+ nfCanvasUtils.showComponent(unauthorizedReferencingComponentEntity.processGroup.id, unauthorizedReferencingComponentEntity.id);
+ } else if (unauthorizedReferencingComponentEntity.referenceType === 'CONTROLLER_SERVICE') {
+ nfProcessGroupConfiguration.showConfiguration(unauthorizedReferencingComponentEntity.processGroup.id).done(function () {
+ nfProcessGroupConfiguration.selectControllerService(unauthorizedReferencingComponentEntity.id);
+ });
+ }
+ });
+ })
+ .appendTo(referencingUnauthorizedComponentContainer);
}
});
}
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-variable-registry.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-variable-registry.js
index cfd18f5..f84537e 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-variable-registry.js
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-variable-registry.js
@@ -912,7 +912,26 @@
}
} else {
var affectedUnauthorizedComponentContainer = $('<li class="affected-component-container"></li>').appendTo(unauthorizedComponentsContainer);
- $('<span class="unset"></span>').text(unauthorizedAffectedComponentEntity.id).appendTo(affectedUnauthorizedComponentContainer);
+ $('<span class="referencing-component-name link ellipsis"></span>')
+ .prop('title', unauthorizedAffectedComponentEntity.id)
+ .text(unauthorizedAffectedComponentEntity.id)
+ .on('click', function () {
+ // check if there are outstanding changes
+ handleOutstandingChanges().done(function () {
+ // close the shell
+ $('#shell-dialog').modal('hide');
+
+ // show the component in question
+ if (unauthorizedAffectedComponentEntity.referenceType === 'PROCESSOR') {
+ nfCanvasUtils.showComponent(unauthorizedAffectedComponentEntity.processGroup.id, unauthorizedAffectedComponentEntity.id);
+ } else if (unauthorizedAffectedComponentEntity.referenceType === 'CONTROLLER_SERVICE') {
+ nfProcessGroupConfiguration.showConfiguration(unauthorizedAffectedComponentEntity.processGroup.id).done(function () {
+ nfProcessGroupConfiguration.selectControllerService(unauthorizedAffectedComponentEntity.id);
+ });
+ }
+ });
+ })
+ .appendTo(affectedUnauthorizedComponentContainer);
}
});
}