You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by al...@apache.org on 2021/12/14 08:59:26 UTC

[asterixdb] branch master updated: [NO ISSUE][FUN] Code refactoring of StringJsonParseDescriptor

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

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


The following commit(s) were added to refs/heads/master by this push:
     new d5e5d0f  [NO ISSUE][FUN] Code refactoring of StringJsonParseDescriptor
d5e5d0f is described below

commit d5e5d0f8a71be2220224d19668c9cb7bc51770ec
Author: Ali Alsuliman <al...@gmail.com>
AuthorDate: Thu Dec 9 16:37:41 2021 -0800

    [NO ISSUE][FUN] Code refactoring of StringJsonParseDescriptor
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Details:
    
    Change-Id: I3e2dbade466d1a534af39d42a0414ba287d31933
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/14423
    Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Reviewed-by: Ali Alsuliman <al...@gmail.com>
    Reviewed-by: Dmitry Lychagin <dm...@couchbase.com>
---
 .../external/parser/evaluators/StringJsonParseDescriptor.java  | 10 +---------
 .../external/parser/evaluators/StringJsonParseEval.java        |  7 ++++---
 2 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/evaluators/StringJsonParseDescriptor.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/evaluators/StringJsonParseDescriptor.java
index a548fec..4affafe 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/evaluators/StringJsonParseDescriptor.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/evaluators/StringJsonParseDescriptor.java
@@ -23,8 +23,6 @@ import static org.apache.asterix.om.functions.BuiltinFunctions.STRING_PARSE_JSON
 import java.io.IOException;
 
 import org.apache.asterix.common.annotations.MissingNullInOutFunction;
-import org.apache.asterix.external.parser.JSONDataParser;
-import org.apache.asterix.external.parser.factory.JSONDataParserFactory;
 import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
 import org.apache.asterix.runtime.evaluators.base.AbstractScalarFunctionDynamicDescriptor;
 import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -32,7 +30,6 @@ import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
 import org.apache.hyracks.algebricks.runtime.base.IEvaluatorContext;
 import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator;
 import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
-import org.apache.hyracks.api.context.IHyracksTaskContext;
 import org.apache.hyracks.api.exceptions.HyracksDataException;
 import org.apache.hyracks.api.exceptions.SourceLocation;
 
@@ -72,15 +69,10 @@ public class StringJsonParseDescriptor extends AbstractScalarFunctionDynamicDesc
         @Override
         public IScalarEvaluator createScalarEvaluator(IEvaluatorContext ctx) throws HyracksDataException {
             try {
-                return new StringJsonParseEval(ctx, stringEvalFactory.createScalarEvaluator(ctx),
-                        createParser(ctx.getTaskContext()), sourceLocation);
+                return new StringJsonParseEval(ctx, stringEvalFactory.createScalarEvaluator(ctx), sourceLocation);
             } catch (IOException e) {
                 throw HyracksDataException.create(e);
             }
         }
-
-        private JSONDataParser createParser(IHyracksTaskContext ctx) throws HyracksDataException {
-            return (JSONDataParser) new JSONDataParserFactory().createInputStreamParser(ctx, 0);
-        }
     }
 }
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/evaluators/StringJsonParseEval.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/evaluators/StringJsonParseEval.java
index 5c15f15..7589e33 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/evaluators/StringJsonParseEval.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/evaluators/StringJsonParseEval.java
@@ -25,6 +25,7 @@ import java.io.IOException;
 
 import org.apache.asterix.common.exceptions.ErrorCode;
 import org.apache.asterix.external.parser.JSONDataParser;
+import org.apache.asterix.external.parser.factory.JSONDataParserFactory;
 import org.apache.asterix.om.exceptions.ExceptionUtil;
 import org.apache.asterix.om.types.ATypeTag;
 import org.apache.asterix.runtime.evaluators.functions.PointableHelper;
@@ -52,11 +53,11 @@ public class StringJsonParseEval implements IScalarEvaluator {
     private final ArrayBackedValueStorage resultStorage;
     private final DataOutput out;
 
-    public StringJsonParseEval(IEvaluatorContext ctx, IScalarEvaluator inputEval, JSONDataParser parser,
-            SourceLocation sourceLocation) throws IOException {
+    public StringJsonParseEval(IEvaluatorContext ctx, IScalarEvaluator inputEval, SourceLocation sourceLocation)
+            throws IOException {
         this.ctx = ctx;
         this.inputEval = inputEval;
-        this.parser = parser;
+        this.parser = (JSONDataParser) new JSONDataParserFactory().createInputStreamParser(ctx.getTaskContext(), 0);
         this.sourceLocation = sourceLocation;
         inputVal = new VoidPointable();
         utf8Val = new UTF8StringPointable();