This is an automated email from the ASF dual-hosted git repository.

nealsun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/helix.git


The following commit(s) were added to refs/heads/master by this push:
     new 03feb9464 Guard against unwanted prefix and postfix space characters
03feb9464 is described below

commit 03feb94647c9921bf38055af5b6dc74504e5e7bf
Author: helix-bot <[email protected]>
AuthorDate: Mon Nov 14 11:31:04 2022 -0800

    Guard against unwanted prefix and postfix space characters
    
    Trim mapFields strings to resolve prefix space issue in helix-front.
---
 .../src/app/resource/shared/resource.service.ts      |  6 +++---
 helix-front/src/app/shared/models/node.model.ts      | 10 +++++-----
 .../app/shared/node-viewer/node-viewer.component.ts  | 20 ++++++++++----------
 3 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/helix-front/src/app/resource/shared/resource.service.ts 
b/helix-front/src/app/resource/shared/resource.service.ts
index 5c8385c71..63f2691e5 100644
--- a/helix-front/src/app/resource/shared/resource.service.ts
+++ b/helix-front/src/app/resource/shared/resource.service.ts
@@ -81,9 +81,9 @@ export class ResourceService extends HelixService {
           const par = data.mapFields[partition];
 
           ret.partitions.push({
-            name: partition,
-            currentState: par.CURRENT_STATE,
-            info: par.INFO,
+            name: partition.trim(),
+            currentState: par.CURRENT_STATE.trim(),
+            info: par.INFO.trim(),
           });
         }
 
diff --git a/helix-front/src/app/shared/models/node.model.ts 
b/helix-front/src/app/shared/models/node.model.ts
index 79e055f25..91f3caacf 100644
--- a/helix-front/src/app/shared/models/node.model.ts
+++ b/helix-front/src/app/shared/models/node.model.ts
@@ -49,7 +49,7 @@ export class Node {
 
       _.forOwn(obj['mapFields'], (v, k) => {
         this.mapFields.push(<MapFieldObject>{
-          name: k,
+          name: k.trim(),
           value: this.keyValueToArray(v),
         });
       });
@@ -67,7 +67,7 @@ export class Node {
     const index = _.findIndex(this.mapFields, { name: key });
     if (index >= 0) {
       this.mapFields[index].value.push(<SimpleFieldObject>{
-        name,
+        name: name.trim(),
         value,
       });
     } else {
@@ -75,7 +75,7 @@ export class Node {
         name: key,
         value: [
           <SimpleFieldObject>{
-            name,
+            name: name.trim(),
             value,
           },
         ],
@@ -108,7 +108,7 @@ export class Node {
     if (this?.mapFields.length > 0) {
       obj.mapFields = {};
       _.forEach(this.mapFields, (item: MapFieldObject) => {
-        obj.mapFields[item.name] = item.value ? {} : null;
+        obj.mapFields[item.name.trim()] = item.value ? {} : null;
         _.forEach(item.value, (subItem: SimpleFieldObject) => {
           // if the value is a string that contains all digits, parse it to a 
number
           let parsedValue: string | number = subItem.value;
@@ -119,7 +119,7 @@ export class Node {
             parsedValue = Number(subItem.value);
           }
 
-          obj.mapFields[item.name][subItem.name] = parsedValue;
+          obj.mapFields[item.name.trim()][subItem.name] = parsedValue;
         });
       });
     }
diff --git a/helix-front/src/app/shared/node-viewer/node-viewer.component.ts 
b/helix-front/src/app/shared/node-viewer/node-viewer.component.ts
index de4f807ed..dca54ec65 100644
--- a/helix-front/src/app/shared/node-viewer/node-viewer.component.ts
+++ b/helix-front/src/app/shared/node-viewer/node-viewer.component.ts
@@ -166,12 +166,12 @@ export class NodeViewerComponent implements OnInit {
       ? _.filter(
           this.node.mapFields,
           (config) =>
-            config.name.toLowerCase().indexOf(this.keyword) >= 0 ||
+            config.name.toLowerCase().trim().indexOf(this.keyword) >= 0 ||
             _.some(
               config.value as any[],
               (subconfig) =>
-                subconfig.name.toLowerCase().indexOf(this.keyword) >= 0 ||
-                subconfig.value.toLowerCase().indexOf(this.keyword) >= 0
+                subconfig.name.toLowerCase().trim().indexOf(this.keyword) >=
+                  0 || subconfig.value.toLowerCase().indexOf(this.keyword) >= 0
             )
         )
       : [];
@@ -288,9 +288,9 @@ export class NodeViewerComponent implements OnInit {
     if (type === 'simple') {
       newNode.appendSimpleField(row.name, '');
     } else if (type === 'list') {
-      newNode.listFields = [{ name: row.name, value: [] }];
+      newNode.listFields = [{ name: row.name.trim(), value: [] }];
     } else if (type === 'map') {
-      newNode.mapFields = [{ name: row.name, value: null }];
+      newNode.mapFields = [{ name: row.name.trim(), value: null }];
     }
 
     this.delete.emit(newNode);
@@ -319,7 +319,7 @@ export class NodeViewerComponent implements OnInit {
 
       case 'map':
         if (key) {
-          const entry = _.find(this.node.mapFields, { name: key });
+          const entry = _.find(this.node.mapFields, { name: key.trim() });
 
           _.forEach(entry.value, (item: any) => {
             newNode.appendMapField(key, item.name, item.value);
@@ -363,16 +363,16 @@ export class NodeViewerComponent implements OnInit {
       case 'map':
         if (key) {
           // have to fetch all other configs under this key
-          const entry = _.find(this.node.mapFields, { name: key });
-          newNode.mapFields = [{ name: key, value: [] }];
+          const entry = _.find(this.node.mapFields, { name: key.trim() });
+          newNode.mapFields = [{ name: key.trim(), value: [] }];
 
           _.forEach(entry.value, (item: any) => {
             if (item.name === row.name) {
               if (!isDeleting) {
-                newNode.appendMapField(key, item.name, value);
+                newNode.appendMapField(key.trim(), item.name.trim(), value);
               }
             } else {
-              newNode.appendMapField(key, item.name, item.value);
+              newNode.appendMapField(key.trim(), item.name.trim(), item.value);
             }
           });
         }

Reply via email to