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()
         };

Reply via email to