This is an automated email from the ASF dual-hosted git repository.
exceptionfactory 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 9432f302c6 NIFI-11877 Added Comments field for Rules in UpdateAttribute
9432f302c6 is described below
commit 9432f302c67110a693ac4b3dd7a3bee993f4d168
Author: Mark Bean <[email protected]>
AuthorDate: Thu Jul 13 00:49:05 2023 +0000
NIFI-11877 Added Comments field for Rules in UpdateAttribute
This closes #7541
Signed-off-by: David Handermann <[email protected]>
---
.../src/main/java/org/apache/nifi/update/attributes/Rule.java | 9 +++++++++
.../org/apache/nifi/update/attributes/TestUpdateAttribute.java | 5 +++++
.../nifi/update/attributes/UpdateAttributeModelFactory.java | 1 +
.../org/apache/nifi/update/attributes/api/RuleResource.java | 1 +
.../java/org/apache/nifi/update/attributes/dto/DtoFactory.java | 1 +
.../java/org/apache/nifi/update/attributes/dto/RuleDTO.java | 9 +++++++++
.../src/main/webapp/WEB-INF/jsp/worksheet.jsp | 4 ++++
.../nifi-update-attribute-ui/src/main/webapp/css/main.css | 10 +++++++++-
.../nifi-update-attribute-ui/src/main/webapp/js/application.js | 7 +++++++
9 files changed, 46 insertions(+), 1 deletion(-)
diff --git
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/src/main/java/org/apache/nifi/update/attributes/Rule.java
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/src/main/java/org/apache/nifi/update/attributes/Rule.java
index 8082e8c5b0..230ddb32f3 100644
---
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/src/main/java/org/apache/nifi/update/attributes/Rule.java
+++
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-model/src/main/java/org/apache/nifi/update/attributes/Rule.java
@@ -27,6 +27,7 @@ public class Rule {
private String id;
private String name;
+ private String comments;
private Set<Condition> conditions;
private Set<Action> actions;
@@ -46,6 +47,14 @@ public class Rule {
this.name = name;
}
+ public String getComments() {
+ return comments;
+ }
+
+ public void setComments(String comments) {
+ this.comments = comments;
+ }
+
public Set<Condition> getConditions() {
return conditions;
}
diff --git
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/src/test/java/org/apache/nifi/update/attributes/TestUpdateAttribute.java
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/src/test/java/org/apache/nifi/update/attributes/TestUpdateAttribute.java
index 65ed24c71f..d920c349aa 100644
---
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/src/test/java/org/apache/nifi/update/attributes/TestUpdateAttribute.java
+++
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-processor/src/test/java/org/apache/nifi/update/attributes/TestUpdateAttribute.java
@@ -62,10 +62,15 @@ public class TestUpdateAttribute {
return new Criteria();
}
+ // overloaded for convenience method for rules without optional comments
private void addRule(final Criteria criteria, final String name, final
Collection<String> conditions, final Map<String, String> actions) {
+ addRule(criteria, name, null, conditions, actions);
+ }
+ private void addRule(final Criteria criteria, final String name, final
String comments, final Collection<String> conditions, final Map<String, String>
actions) {
final Rule rule = new Rule();
rule.setId(UUID.randomUUID().toString());
rule.setName(name);
+ rule.setComments(comments);
rule.setConditions(new HashSet<Condition>());
rule.setActions(new HashSet<Action>());
diff --git
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/UpdateAttributeModelFactory.java
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/UpdateAttributeModelFactory.java
index 271107d709..e8703f70aa 100644
---
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/UpdateAttributeModelFactory.java
+++
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/UpdateAttributeModelFactory.java
@@ -51,6 +51,7 @@ public class UpdateAttributeModelFactory {
final Rule rule = new Rule();
rule.setId(dto.getId());
rule.setName(dto.getName());
+ rule.setComments(dto.getComments());
rule.setConditions(createConditions(dto.getConditions()));
rule.setActions(createActions(dto.getActions()));
return rule;
diff --git
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/api/RuleResource.java
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/api/RuleResource.java
index e948efd0f8..862893fe53 100644
---
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/api/RuleResource.java
+++
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/api/RuleResource.java
@@ -514,6 +514,7 @@ public class RuleResource {
// update the rule
rule.setName(ruleDto.getName());
+ rule.setComments(ruleDto.getComments());
rule.setConditions(conditions);
rule.setActions(actions);
} catch (final IllegalArgumentException iae) {
diff --git
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/dto/DtoFactory.java
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/dto/DtoFactory.java
index ce5ed2f89d..f474dd0150 100644
---
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/dto/DtoFactory.java
+++
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/dto/DtoFactory.java
@@ -31,6 +31,7 @@ public class DtoFactory {
final RuleDTO dto = new RuleDTO();
dto.setId(rule.getId());
dto.setName(rule.getName());
+ dto.setComments(rule.getComments());
if (rule.getConditions() != null) {
final Set<ConditionDTO> conditions = new TreeSet<>();
diff --git
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/dto/RuleDTO.java
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/dto/RuleDTO.java
index 47fd9656fa..809a901d1e 100644
---
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/dto/RuleDTO.java
+++
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/dto/RuleDTO.java
@@ -27,6 +27,7 @@ public class RuleDTO {
private String id;
private String name;
+ private String comments;
private Set<ConditionDTO> conditions;
private Set<ActionDTO> actions;
@@ -46,6 +47,14 @@ public class RuleDTO {
this.name = name;
}
+ public String getComments() {
+ return comments;
+ }
+
+ public void setComments(String comments) {
+ this.comments = comments;
+ }
+
public Set<ConditionDTO> getConditions() {
return conditions;
}
diff --git
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/WEB-INF/jsp/worksheet.jsp
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/WEB-INF/jsp/worksheet.jsp
index 6383eeb371..47e2dd4237 100644
---
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/WEB-INF/jsp/worksheet.jsp
+++
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/WEB-INF/jsp/worksheet.jsp
@@ -107,6 +107,10 @@
<div id="no-rule-selected-label" class="unset">No rule
selected.</div>
<input type="text" id="selected-rule-name"
class="hidden"></input>
</div>
+ <div id="selected-rule-comments-container"
class="selected-rule-detail">
+ <div class="large-label">Rule Comments</div>
+ <textarea id="selected-rule-comments" rows="4"
cols="60"></textarea>
+ </div>
<div id="selected-rule-conditions-container"
class="selected-rule-detail">
<div class="large-label-container">
<div id="conditions-label"
class="large-label">Conditions</div>
diff --git
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/css/main.css
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/css/main.css
index 37b546bb35..e6280d57ce 100644
---
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/css/main.css
+++
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/css/main.css
@@ -221,6 +221,14 @@ div.large-label-container {
height: 200px;
}
+#selected-rule-comments-container {
+ margin-top: 75px;
+}
+
+#selected-rule-comments {
+ height: 50px;
+}
+
#selected-rule-actions-container {
padding-top: 20px;
}
@@ -230,7 +238,7 @@ div.large-label-container {
}
#selected-rule-conditions-container {
- padding-top: 68px;
+ padding-top: 8px;
}
#selected-rule-conditions-container div.slick-viewport {
diff --git
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/js/application.js
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/js/application.js
index 5056113b3d..db052580b8 100644
---
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/js/application.js
+++
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/js/application.js
@@ -377,6 +377,8 @@ var ua = {
// if we are copying from another rule load
the details
if (typeof copyFromRule !== 'undefined' &&
copyFromRule !== null) {
+ var commentsData =
$('#selected-rule-comments').val(copyFromRule.comments);
+
var conditionsGrid =
$('#selected-rule-conditions').data('gridInstance');
var conditionsData =
conditionsGrid.getData();
conditionsData.setItems(copyFromRule.conditions);
@@ -1095,6 +1097,9 @@ var ua = {
$('#selected-rule-name').val('').hide();
$('#no-rule-selected-label').show();
+ // clear comments
+ $('#selected-rule-comments').val('');
+
// clear the grids
var conditionsData = conditionsGrid.getData();
conditionsData.setItems([]);
@@ -1212,6 +1217,7 @@ var ua = {
// populate the rule details
$('#selected-rule-id').text(selectedRule.id);
$('#selected-rule-name').val(selectedRule.name).show();
+ $('#selected-rule-comments').val(selectedRule.comments).show();
$('#no-rule-selected-label').hide();
// populate the rule conditions
@@ -1328,6 +1334,7 @@ var ua = {
// marshal the rule
var rule = {
name: $('#selected-rule-name').val(),
+ comments: $('#selected-rule-comments').val(),
conditions: conditionsData.getItems(),
actions: actionsData.getItems()
};