You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by sr...@apache.org on 2019/06/27 17:38:14 UTC

[storm] branch master updated: STORM-3417: Fix checkstyle violations in sql-core

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

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


The following commit(s) were added to refs/heads/master by this push:
     new eb6a963  STORM-3417: Fix checkstyle violations in sql-core
     new 4822ecd  Merge pull request #3035 from krichter722/checkstyle-sql-core
eb6a963 is described below

commit eb6a963d05da12e5b604a15a5633adde95a27748
Author: Karl-Philipp Richter <kr...@posteo.de>
AuthorDate: Sat Jun 15 20:32:25 2019 +0200

    STORM-3417: Fix checkstyle violations in sql-core
---
 sql/storm-sql-core/pom.xml                         |  2 +-
 .../src/jvm/org/apache/storm/sql/StormSql.java     |  4 +-
 .../src/jvm/org/apache/storm/sql/StormSqlImpl.java |  5 +-
 .../jvm/org/apache/storm/sql/StormSqlRunner.java   |  4 +-
 .../apache/storm/sql/compiler/CompilerUtil.java    | 15 ++--
 .../sql/compiler/RexNodeToJavaCodeCompiler.java    | 85 +++++++++++-----------
 .../storm/sql/javac/CompilingClassLoader.java      |  5 +-
 .../apache/storm/sql/planner/StormRelUtils.java    |  8 +-
 .../sql/planner/streams/StreamsStormRuleSets.java  |  3 +-
 .../sql/planner/streams/rel/StreamsCalcRel.java    | 10 +--
 .../streams/rel/StreamsStreamInsertRel.java        |  5 +-
 .../planner/streams/rel/StreamsStreamScanRel.java  |  3 +-
 12 files changed, 76 insertions(+), 73 deletions(-)

diff --git a/sql/storm-sql-core/pom.xml b/sql/storm-sql-core/pom.xml
index b2b3777..73636f9 100644
--- a/sql/storm-sql-core/pom.xml
+++ b/sql/storm-sql-core/pom.xml
@@ -207,7 +207,7 @@
                 <artifactId>maven-checkstyle-plugin</artifactId>
                 <!--Note - the version would be inherited-->
                 <configuration>
-                    <maxAllowedViolations>59</maxAllowedViolations>
+                    <maxAllowedViolations>0</maxAllowedViolations>
                 </configuration>
             </plugin>
             <plugin>
diff --git a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/StormSql.java b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/StormSql.java
index e57ffd8..e4715f8 100644
--- a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/StormSql.java
+++ b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/StormSql.java
@@ -19,8 +19,8 @@ import org.apache.storm.generated.SubmitOptions;
 /**
  * The StormSql class provides standalone, interactive interfaces to execute
  * SQL statements over streaming data.
- * <p>
- * The StormSql class is stateless. The user needs to submit the data
+ *
+ * <p>The StormSql class is stateless. The user needs to submit the data
  * definition language (DDL) statements and the query statements in the same
  * batch.
  */
diff --git a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/StormSqlImpl.java b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/StormSqlImpl.java
index fff801d..2f30063 100644
--- a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/StormSqlImpl.java
+++ b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/StormSqlImpl.java
@@ -78,14 +78,13 @@ class StormSqlImpl extends StormSql {
     @Override
     public void explain(Iterable<String> statements) throws Exception {
         for (String sql : statements) {
-            StormParser parser = new StormParser(sql);
-            SqlNode node = parser.impl().parseSqlStmtEof();
-
             System.out.println("===========================================================");
             System.out.println("query>");
             System.out.println(sql);
             System.out.println("-----------------------------------------------------------");
 
+            StormParser parser = new StormParser(sql);
+            SqlNode node = parser.impl().parseSqlStmtEof();
             if (node instanceof SqlCreateTable) {
                 sqlContext.interpretCreateTable((SqlCreateTable) node);
                 System.out.println("No plan presented on DDL");
diff --git a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/StormSqlRunner.java b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/StormSqlRunner.java
index 3ff5394..edcc46d 100644
--- a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/StormSqlRunner.java
+++ b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/StormSqlRunner.java
@@ -56,8 +56,8 @@ public class StormSqlRunner {
             SubmitOptions submitOptions = new SubmitOptions(TopologyInitialStatus.ACTIVE);
             sql.submit(topoName, stmts, conf, submitOptions, null, null);
         } else {
-            printUsageAndExit(options, "Either " + OPTION_SQL_TOPOLOGY_NAME_LONG + " or " + OPTION_SQL_EXPLAIN_LONG +
-                                       " must be presented");
+            printUsageAndExit(options, "Either " + OPTION_SQL_TOPOLOGY_NAME_LONG
+                    + " or " + OPTION_SQL_EXPLAIN_LONG + " must be presented");
         }
     }
 
diff --git a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/compiler/CompilerUtil.java b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/compiler/CompilerUtil.java
index 3cb0f96..a91199c 100644
--- a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/compiler/CompilerUtil.java
+++ b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/compiler/CompilerUtil.java
@@ -12,9 +12,16 @@
 
 package org.apache.storm.sql.compiler;
 
+import static org.apache.calcite.rel.RelFieldCollation.Direction;
+import static org.apache.calcite.rel.RelFieldCollation.Direction.ASCENDING;
+import static org.apache.calcite.rel.RelFieldCollation.Direction.DESCENDING;
+import static org.apache.calcite.rel.RelFieldCollation.NullDirection;
+import static org.apache.calcite.sql.validate.SqlMonotonicity.INCREASING;
+
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
+
 import java.util.ArrayList;
 
 import org.apache.calcite.config.CalciteConnectionConfig;
@@ -33,17 +40,11 @@ import org.apache.calcite.sql.SqlNode;
 import org.apache.calcite.sql.type.SqlTypeName;
 import org.apache.calcite.sql.validate.SqlMonotonicity;
 import org.apache.calcite.util.ImmutableBitSet;
-import org.apache.calcite.util.Util;
+
 import org.apache.storm.sql.calcite.ParallelStreamableTable;
 import org.apache.storm.sql.calcite.ParallelTable;
 import org.apache.storm.sql.parser.ColumnConstraint;
 
-import static org.apache.calcite.sql.validate.SqlMonotonicity.INCREASING;
-import static org.apache.calcite.rel.RelFieldCollation.Direction;
-import static org.apache.calcite.rel.RelFieldCollation.Direction.ASCENDING;
-import static org.apache.calcite.rel.RelFieldCollation.Direction.DESCENDING;
-import static org.apache.calcite.rel.RelFieldCollation.NullDirection;
-
 public class CompilerUtil {
 
     public static class TableBuilderInfo {
diff --git a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/compiler/RexNodeToJavaCodeCompiler.java b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/compiler/RexNodeToJavaCodeCompiler.java
index 589154a..99e557f 100644
--- a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/compiler/RexNodeToJavaCodeCompiler.java
+++ b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/compiler/RexNodeToJavaCodeCompiler.java
@@ -52,9 +52,10 @@ import org.apache.storm.sql.runtime.calcite.ExecutableExpression;
 
 /**
  * Compiles a scalar expression ({@link org.apache.calcite.rex.RexNode}) to Java source code String.
- * <p/>
- * This code is inspired by JaninoRexCompiler in Calcite, but while it is returning {@link org.apache.calcite.interpreter.Scalar} which is
- * executable, we need to pass the source code to compile and serialize instance so that it can be executed on worker efficiently.
+ *
+ * <p>This code is inspired by JaninoRexCompiler in Calcite, but while it is returning
+ * {@link org.apache.calcite.interpreter.Scalar} which is executable, we need to pass the source code to compile and
+ * serialize instance so that it can be executed on worker efficiently.
  */
 public class RexNodeToJavaCodeCompiler {
     private final RexBuilder rexBuilder;
@@ -64,8 +65,8 @@ public class RexNodeToJavaCodeCompiler {
     }
 
     /**
-     * Given a method that implements {@link ExecutableExpression#execute(Context, Object[])}, adds a bridge method that implements {@link
-     * ExecutableExpression#execute(Context)}, and compiles.
+     * Given a method that implements {@link ExecutableExpression#execute(Context, Object[])}, adds a bridge method that
+     * implements {@link ExecutableExpression#execute(Context)}, and compiles.
      */
     static String baz(ParameterExpression context,
                       ParameterExpression outputValues, BlockStatement block, String className) {
@@ -121,41 +122,21 @@ public class RexNodeToJavaCodeCompiler {
         return compileToBlock(program, context_, outputValues_).toBlock();
     }
 
-    public String compile(List<RexNode> nodes, RelDataType inputRowType, String className) {
-        final RexProgramBuilder programBuilder =
-            new RexProgramBuilder(inputRowType, rexBuilder);
-        for (RexNode node : nodes) {
-            programBuilder.addProject(node, null);
-        }
-
-        return compile(programBuilder.getProgram(), className);
-    }
-
-    public String compile(final RexProgram program, String className) {
-        final ParameterExpression context_ =
-            Expressions.parameter(Context.class, "context");
-        final ParameterExpression outputValues_ =
-            Expressions.parameter(Object[].class, "outputValues");
-
-        BlockBuilder builder = compileToBlock(program, context_, outputValues_);
-        return baz(context_, outputValues_, builder.toBlock(), className);
-    }
-
     private BlockBuilder compileToBlock(final RexProgram program, ParameterExpression context,
-                                        ParameterExpression outputValues) {
+            ParameterExpression outputValues) {
         RelDataType inputRowType = program.getInputRowType();
         final BlockBuilder builder = new BlockBuilder();
         final JavaTypeFactoryImpl javaTypeFactory =
-            new JavaTypeFactoryImpl(rexBuilder.getTypeFactory().getTypeSystem());
+                new JavaTypeFactoryImpl(rexBuilder.getTypeFactory().getTypeSystem());
 
         final RexToLixTranslator.InputGetter inputGetter =
-            new RexToLixTranslator.InputGetterImpl(
-                ImmutableList.of(
-                    Pair.<Expression, PhysType>of(
-                        Expressions.field(context,
-                                          BuiltInMethod.CONTEXT_VALUES.field),
-                        PhysTypeImpl.of(javaTypeFactory, inputRowType,
-                                        JavaRowFormat.ARRAY, false))));
+                new RexToLixTranslator.InputGetterImpl(
+                        ImmutableList.of(
+                                Pair.<Expression, PhysType>of(
+                                        Expressions.field(context,
+                                                BuiltInMethod.CONTEXT_VALUES.field),
+                                        PhysTypeImpl.of(javaTypeFactory, inputRowType,
+                                                JavaRowFormat.ARRAY, false))));
         final Function1<String, RexToLixTranslator.InputGetter> correlates =
             new Function1<String, RexToLixTranslator.InputGetter>() {
                 @Override
@@ -164,22 +145,42 @@ public class RexNodeToJavaCodeCompiler {
                 }
             };
         final Expression root =
-            Expressions.field(context, BuiltInMethod.CONTEXT_ROOT.field);
+                Expressions.field(context, BuiltInMethod.CONTEXT_ROOT.field);
         final List<Expression> list =
-            RexToLixTranslator.translateProjects(program, javaTypeFactory, builder,
-                                                 null, root, inputGetter, correlates);
+                RexToLixTranslator.translateProjects(program, javaTypeFactory, builder,
+                        null, root, inputGetter, correlates);
         for (int i = 0; i < list.size(); i++) {
             builder.add(
-                Expressions.statement(
-                    Expressions.assign(
-                        Expressions.arrayIndex(outputValues,
-                                               Expressions.constant(i)),
-                        list.get(i))));
+                    Expressions.statement(
+                            Expressions.assign(
+                                    Expressions.arrayIndex(outputValues,
+                                            Expressions.constant(i)),
+                                    list.get(i))));
         }
 
         return builder;
     }
 
+    public String compile(List<RexNode> nodes, RelDataType inputRowType, String className) {
+        final RexProgramBuilder programBuilder =
+            new RexProgramBuilder(inputRowType, rexBuilder);
+        for (RexNode node : nodes) {
+            programBuilder.addProject(node, null);
+        }
+
+        return compile(programBuilder.getProgram(), className);
+    }
+
+    public String compile(final RexProgram program, String className) {
+        final ParameterExpression context_ =
+            Expressions.parameter(Context.class, "context");
+        final ParameterExpression outputValues_ =
+            Expressions.parameter(Object[].class, "outputValues");
+
+        BlockBuilder builder = compileToBlock(program, context_, outputValues_);
+        return baz(context_, outputValues_, builder.toBlock(), className);
+    }
+
     enum StormBuiltInMethod {
         EXPR_EXECUTE1(ExecutableExpression.class, "execute", Context.class),
         EXPR_EXECUTE2(ExecutableExpression.class, "execute", Context.class, Object[].class);
diff --git a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/javac/CompilingClassLoader.java b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/javac/CompilingClassLoader.java
index 8e377d7..aaf4bf7 100644
--- a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/javac/CompilingClassLoader.java
+++ b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/javac/CompilingClassLoader.java
@@ -125,7 +125,8 @@ public class CompilingClassLoader extends ClassLoader {
     }
 
     /**
-     * @return Whether compilation was successful.
+     * Compiles source code to byte code.
+     * @return indicates whether compilation was successful
      */
     private boolean compileSourceCodeToByteCode(
         String className, String sourceCode, DiagnosticListener<JavaFileObject> diagnosticListener) {
@@ -195,7 +196,7 @@ public class CompilingClassLoader extends ClassLoader {
     /**
      * Provides an in-memory representation of JavaFileManager abstraction, so we do not need to write any files to disk.
      *
-     * When files are written to, rather than putting the bytes on disk, they are appended to buffers in byteCodeForClasses.
+     * <p>When files are written to, rather than putting the bytes on disk, they are appended to buffers in byteCodeForClasses.
      *
      * @see javax.tools.JavaFileManager
      */
diff --git a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/StormRelUtils.java b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/StormRelUtils.java
index b283a17..f3cc2b8 100644
--- a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/StormRelUtils.java
+++ b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/StormRelUtils.java
@@ -28,8 +28,12 @@ public class StormRelUtils {
     private static final AtomicInteger classSequence = new AtomicInteger(0);
 
     public static String getClassName(StreamsRel relNode) {
-        return "Generated_" + relNode.getClass().getSimpleName().toUpperCase() + "_" + relNode.getId() + "_" +
-               classSequence.getAndIncrement();
+        return "Generated_"
+                + relNode.getClass().getSimpleName().toUpperCase()
+                + "_"
+                + relNode.getId()
+                + "_"
+                + classSequence.getAndIncrement();
     }
 
     public static StreamsRel getStormRelInput(RelNode input) {
diff --git a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/StreamsStormRuleSets.java b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/StreamsStormRuleSets.java
index 95ddc00..0fd2ae1 100644
--- a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/StreamsStormRuleSets.java
+++ b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/StreamsStormRuleSets.java
@@ -19,10 +19,9 @@
 
 package org.apache.storm.sql.planner.streams;
 
-import java.util.Iterator;
-
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
+import java.util.Iterator;
 import org.apache.calcite.plan.RelOptRule;
 import org.apache.calcite.rel.rules.CalcMergeRule;
 import org.apache.calcite.rel.rules.FilterCalcMergeRule;
diff --git a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/rel/StreamsCalcRel.java b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/rel/StreamsCalcRel.java
index f4c2c7d..9cdda93 100644
--- a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/rel/StreamsCalcRel.java
+++ b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/rel/StreamsCalcRel.java
@@ -19,10 +19,9 @@
 
 package org.apache.storm.sql.planner.streams.rel;
 
+import com.google.common.collect.Lists;
 import java.util.ArrayList;
 import java.util.List;
-
-import com.google.common.collect.Lists;
 import org.apache.calcite.plan.RelOptCluster;
 import org.apache.calcite.plan.RelTraitSet;
 import org.apache.calcite.rel.RelNode;
@@ -54,13 +53,9 @@ public class StreamsCalcRel extends StormCalcRelBase implements StreamsRel {
         // SingleRel
         RelNode input = getInput();
         StormRelUtils.getStormRelInput(input).streamsPlan(planCreator);
-        Stream<Values> inputStream = planCreator.pop();
 
         RelDataType inputRowType = getInput(0).getRowType();
 
-        List<String> outputFieldNames = getRowType().getFieldNames();
-        int outputCount = outputFieldNames.size();
-
         // filter
         ExecutableExpression filterInstance = null;
         RexLocalRef condition = program.getCondition();
@@ -88,7 +83,10 @@ public class StreamsCalcRel extends StormCalcRelBase implements StreamsRel {
             throw new IllegalStateException("Either projection or condition, or both should be provided.");
         }
 
+        List<String> outputFieldNames = getRowType().getFieldNames();
+        int outputCount = outputFieldNames.size();
         EvaluationCalc evalCalc = new EvaluationCalc(filterInstance, projectionInstance, outputCount, planCreator.getDataContext());
+        final Stream<Values> inputStream = planCreator.pop();
         final Stream finalStream = inputStream.flatMap(evalCalc);
 
         planCreator.addStream(finalStream);
diff --git a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/rel/StreamsStreamInsertRel.java b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/rel/StreamsStreamInsertRel.java
index f3b8994..50c488d 100644
--- a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/rel/StreamsStreamInsertRel.java
+++ b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/rel/StreamsStreamInsertRel.java
@@ -19,10 +19,11 @@
 
 package org.apache.storm.sql.planner.streams.rel;
 
-import java.util.List;
-
 import com.google.common.base.Joiner;
 import com.google.common.base.Preconditions;
+
+import java.util.List;
+
 import org.apache.calcite.plan.RelOptCluster;
 import org.apache.calcite.plan.RelOptTable;
 import org.apache.calcite.plan.RelTraitSet;
diff --git a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/rel/StreamsStreamScanRel.java b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/rel/StreamsStreamScanRel.java
index 563ea23..6ecf9b8 100644
--- a/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/rel/StreamsStreamScanRel.java
+++ b/sql/storm-sql-core/src/jvm/org/apache/storm/sql/planner/streams/rel/StreamsStreamScanRel.java
@@ -19,10 +19,9 @@
 
 package org.apache.storm.sql.planner.streams.rel;
 
+import com.google.common.base.Joiner;
 import java.util.List;
 import java.util.Map;
-
-import com.google.common.base.Joiner;
 import org.apache.calcite.plan.RelOptCluster;
 import org.apache.calcite.plan.RelOptTable;
 import org.apache.calcite.plan.RelTraitSet;