You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2018/02/27 03:39:57 UTC

asterixdb git commit: [NO ISSUE] Serialize String [] options as JSON arrays

Repository: asterixdb
Updated Branches:
  refs/heads/master 0ff0d6cc9 -> bf777cba9


[NO ISSUE] Serialize String [] options as JSON arrays

Change-Id: I8e05c2b30b87597b5896318b5f3a4f755f889af4
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2427
Reviewed-by: Murtadha Hubail <mh...@apache.org>
Integration-Tests: Murtadha Hubail <mh...@apache.org>
Tested-by: Murtadha Hubail <mh...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/bf777cba
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/bf777cba
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/bf777cba

Branch: refs/heads/master
Commit: bf777cba97f9dd8f1982160e073a20b7d796da1e
Parents: 0ff0d6c
Author: Michael Blow <mb...@apache.org>
Authored: Mon Feb 26 21:11:26 2018 -0500
Committer: Michael Blow <mb...@apache.org>
Committed: Mon Feb 26 19:39:39 2018 -0800

----------------------------------------------------------------------
 .../java/org/apache/hyracks/api/config/IOptionType.java     | 2 +-
 .../hyracks/hyracks-control/hyracks-control-common/pom.xml  | 4 ----
 .../apache/hyracks/control/common/config/OptionTypes.java   | 9 +++++++--
 3 files changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb/blob/bf777cba/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/config/IOptionType.java
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/config/IOptionType.java b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/config/IOptionType.java
index aee22c9..ba2b021 100644
--- a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/config/IOptionType.java
+++ b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/config/IOptionType.java
@@ -42,7 +42,7 @@ public interface IOptionType<T> {
     }
 
     /**
-     * @return the value in a format suitable for serialized JSON
+     * Serializes the value as a field in the provided object node
      */
     void serializeJSONField(String fieldName, Object value, ObjectNode node);
 

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/bf777cba/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/pom.xml
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/pom.xml b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/pom.xml
index cba5e19..bdb2aed 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/pom.xml
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/pom.xml
@@ -76,10 +76,6 @@
       <artifactId>commons-collections4</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.apache.logging.log4j</groupId>
       <artifactId>log4j-api</artifactId>
     </dependency>

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/bf777cba/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/config/OptionTypes.java
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/config/OptionTypes.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/config/OptionTypes.java
index b188548..ae424b7 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/config/OptionTypes.java
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/config/OptionTypes.java
@@ -21,8 +21,8 @@ package org.apache.hyracks.control.common.config;
 import java.net.MalformedURLException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Stream;
 
-import org.apache.commons.lang3.StringUtils;
 import org.apache.hyracks.api.config.IOptionType;
 import org.apache.hyracks.util.StorageUtil;
 import org.apache.logging.log4j.Level;
@@ -305,7 +305,12 @@ public class OptionTypes {
 
         @Override
         public void serializeJSONField(String fieldName, Object value, ObjectNode node) {
-            node.put(fieldName, value == null ? null : StringUtils.join((String[]) value, ','));
+            if (value == null) {
+                node.putNull(fieldName);
+            } else {
+                ArrayNode array = node.putArray(fieldName);
+                Stream.of((String[]) value).forEachOrdered(array::add);
+            }
         }
     };