From 62fbc2ce7d4a2fbbdebb3e403acf224ed6708753 Mon Sep 17 00:00:00 2001 From: Artem Ervits Date: Mon, 24 Jul 2017 13:14:58 -0400 Subject: [PATCH 1/5] METRON-1059 --- .../metron/stellar/common/StellarCompiler.java | 12 +++++++++++- .../common/benchmark/StellarMicrobenchmark.java | 15 +++++++++++++-- .../stellar/common/shell/StellarExecutor.java | 4 +++- .../metron/stellar/common/utils/JSONUtils.java | 6 +++++- .../metron/stellar/common/utils/SerDeUtils.java | 4 +++- .../stellar/common/utils/VFSClassloaderUtil.java | 5 ----- .../resolver/ClasspathFunctionResolver.java | 12 ++++++------ 7 files changed, 41 insertions(+), 17 deletions(-) diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/StellarCompiler.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/StellarCompiler.java index b669bc7df6..f29b7bd2eb 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/StellarCompiler.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/StellarCompiler.java @@ -36,9 +36,19 @@ import org.apache.metron.stellar.common.utils.ConversionUtils; import java.io.Serializable; -import java.util.*; import static java.lang.String.format; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Deque; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; public class StellarCompiler extends StellarBaseListener { private static Token EXPRESSION_REFERENCE = new Token<>(null, Object.class); diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/benchmark/StellarMicrobenchmark.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/benchmark/StellarMicrobenchmark.java index 69e52977e7..5ca589016b 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/benchmark/StellarMicrobenchmark.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/benchmark/StellarMicrobenchmark.java @@ -21,7 +21,6 @@ import com.google.common.base.Joiner; import com.google.common.base.Splitter; import com.google.common.io.Files; -import org.apache.commons.cli.*; import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; import org.apache.metron.stellar.dsl.Context; import org.apache.metron.stellar.dsl.MapVariableResolver; @@ -35,7 +34,19 @@ import java.io.IOException; import java.io.PrintWriter; import java.nio.charset.Charset; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.EnumMap; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.CommandLineParser; +import org.apache.commons.cli.HelpFormatter; +import org.apache.commons.cli.Option; +import org.apache.commons.cli.Options; +import org.apache.commons.cli.PosixParser; public class StellarMicrobenchmark { diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/shell/StellarExecutor.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/shell/StellarExecutor.java index febde40182..fb9b799984 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/shell/StellarExecutor.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/shell/StellarExecutor.java @@ -51,8 +51,10 @@ import static org.apache.metron.stellar.common.configuration.ConfigurationsUtils.readGlobalConfigBytesFromZookeeper; import static org.apache.metron.stellar.common.shell.StellarExecutor.OperationType.DOC; import static org.apache.metron.stellar.common.shell.StellarExecutor.OperationType.NORMAL; +import static org.apache.metron.stellar.dsl.Context.Capabilities.GLOBAL_CONFIG; +import static org.apache.metron.stellar.dsl.Context.Capabilities.STELLAR_CONFIG; +import static org.apache.metron.stellar.dsl.Context.Capabilities.ZOOKEEPER_CLIENT; -import static org.apache.metron.stellar.dsl.Context.Capabilities.*; /** * Executes Stellar expressions and maintains state across multiple invocations. diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/JSONUtils.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/JSONUtils.java index d99263b463..d7e90cfb55 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/JSONUtils.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/JSONUtils.java @@ -22,11 +22,15 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; -import java.io.*; public enum JSONUtils { INSTANCE; diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java index 7bd95209aa..7eb7098491 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java @@ -47,10 +47,12 @@ import java.lang.reflect.Modifier; import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.*; import java.util.function.Function; import static com.esotericsoftware.kryo.util.Util.className; +import java.util.Arrays; +import java.util.Collections; +import java.util.GregorianCalendar; /** * Provides basic functionality to serialize and deserialize the allowed diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/VFSClassloaderUtil.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/VFSClassloaderUtil.java index 6916e8f8b1..45f122bbb3 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/VFSClassloaderUtil.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/VFSClassloaderUtil.java @@ -22,11 +22,6 @@ import java.util.ArrayList; import java.util.Optional; import org.apache.accumulo.start.classloader.vfs.UniqueFileReplicator; -import org.apache.commons.vfs2.CacheStrategy; -import org.apache.commons.vfs2.FileObject; -import org.apache.commons.vfs2.FileSystemException; -import org.apache.commons.vfs2.FileSystemManager; -import org.apache.commons.vfs2.FileType; import org.apache.commons.vfs2.cache.SoftRefFilesCache; import org.apache.commons.vfs2.impl.DefaultFileSystemManager; import org.apache.commons.vfs2.impl.FileContentInfoFilenameFactory; diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java index 70f3bc4fff..e8e1335867 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java @@ -18,11 +18,6 @@ package org.apache.metron.stellar.dsl.functions.resolver; -import static org.apache.metron.stellar.dsl.Context.Capabilities.STELLAR_CONFIG; -import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_SEARCH_EXCLUDES_KEY; -import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_SEARCH_INCLUDES_KEY; -import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_VFS_PATHS; - import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; @@ -41,6 +36,11 @@ import org.atteo.classindex.ClassIndex; import org.reflections.util.FilterBuilder; +import static org.apache.metron.stellar.dsl.Context.Capabilities.STELLAR_CONFIG; +import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_SEARCH_EXCLUDES_KEY; +import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_SEARCH_INCLUDES_KEY; +import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_VFS_PATHS; + /** * Performs function resolution for Stellar by searching the classpath. * @@ -186,7 +186,7 @@ public void initialize(Context context) { include(STELLAR_SEARCH_INCLUDES_KEY.get(stellarConfig, String.class).split(STELLAR_SEARCH_DELIMS)); exclude(STELLAR_SEARCH_EXCLUDES_KEY.get(stellarConfig, String.class).split(STELLAR_SEARCH_DELIMS)); - Optional vfsLoader = null; + Optional vfsLoader = Optional.empty(); try { vfsLoader = VFSClassloaderUtil.configureClassloader(STELLAR_VFS_PATHS.get(stellarConfig, String.class)); if(vfsLoader.isPresent()) { From ffbe419095fd9e338e3ecf2209275e162d0e359f Mon Sep 17 00:00:00 2001 From: Artem Ervits Date: Mon, 24 Jul 2017 14:12:35 -0400 Subject: [PATCH 2/5] METRON-1059-2 --- .../stellar/common/StellarCompiler.java | 33 +++++++++---------- .../benchmark/StellarMicrobenchmark.java | 15 ++++----- .../stellar/common/shell/StellarExecutor.java | 28 ++++++++-------- .../stellar/common/utils/SerDeUtils.java | 18 +++++----- .../common/utils/VFSClassloaderUtil.java | 6 +++- .../resolver/ClasspathFunctionResolver.java | 6 ++-- 6 files changed, 51 insertions(+), 55 deletions(-) diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/StellarCompiler.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/StellarCompiler.java index f29b7bd2eb..c41a93b846 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/StellarCompiler.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/StellarCompiler.java @@ -17,26 +17,8 @@ */ package org.apache.metron.stellar.common; -import org.apache.commons.lang3.StringEscapeUtils; -import org.apache.metron.stellar.dsl.Context; -import org.apache.metron.stellar.dsl.Context.ActivityType; -import org.apache.metron.stellar.dsl.Token; -import org.apache.metron.stellar.dsl.VariableResolver; -import org.apache.metron.stellar.dsl.functions.resolver.FunctionResolver; -import org.apache.metron.stellar.common.evaluators.ArithmeticEvaluator; -import org.apache.metron.stellar.common.evaluators.ComparisonExpressionWithOperatorEvaluator; -import org.apache.metron.stellar.common.evaluators.NumberLiteralEvaluator; -import org.apache.metron.stellar.common.generated.StellarBaseListener; -import org.apache.metron.stellar.common.generated.StellarParser; import com.google.common.base.Joiner; -import org.apache.commons.lang3.tuple.Pair; -import org.apache.metron.stellar.dsl.FunctionMarker; -import org.apache.metron.stellar.dsl.ParseException; -import org.apache.metron.stellar.dsl.StellarFunction; -import org.apache.metron.stellar.common.utils.ConversionUtils; - import java.io.Serializable; - import static java.lang.String.format; import java.util.ArrayDeque; import java.util.ArrayList; @@ -49,6 +31,21 @@ import java.util.List; import java.util.Map; import java.util.Set; +import org.apache.commons.lang3.StringEscapeUtils; +import org.apache.commons.lang3.tuple.Pair; +import org.apache.metron.stellar.common.evaluators.ArithmeticEvaluator; +import org.apache.metron.stellar.common.evaluators.ComparisonExpressionWithOperatorEvaluator; +import org.apache.metron.stellar.common.evaluators.NumberLiteralEvaluator; +import org.apache.metron.stellar.common.generated.StellarBaseListener; +import org.apache.metron.stellar.common.generated.StellarParser; +import org.apache.metron.stellar.common.utils.ConversionUtils; +import org.apache.metron.stellar.dsl.Context; +import org.apache.metron.stellar.dsl.FunctionMarker; +import org.apache.metron.stellar.dsl.ParseException; +import org.apache.metron.stellar.dsl.StellarFunction; +import org.apache.metron.stellar.dsl.Token; +import org.apache.metron.stellar.dsl.VariableResolver; +import org.apache.metron.stellar.dsl.functions.resolver.FunctionResolver; public class StellarCompiler extends StellarBaseListener { private static Token EXPRESSION_REFERENCE = new Token<>(null, Object.class); diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/benchmark/StellarMicrobenchmark.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/benchmark/StellarMicrobenchmark.java index 5ca589016b..35fa673ac3 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/benchmark/StellarMicrobenchmark.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/benchmark/StellarMicrobenchmark.java @@ -21,14 +21,6 @@ import com.google.common.base.Joiner; import com.google.common.base.Splitter; import com.google.common.io.Files; -import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; -import org.apache.metron.stellar.dsl.Context; -import org.apache.metron.stellar.dsl.MapVariableResolver; -import org.apache.metron.stellar.dsl.StellarFunctions; -import org.apache.metron.stellar.common.utils.JSONUtils; -import org.apache.metron.stellar.common.utils.cli.OptionHandler; - -import javax.annotation.Nullable; import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -41,12 +33,19 @@ import java.util.List; import java.util.Map; import java.util.Optional; +import javax.annotation.Nullable; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; +import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; +import org.apache.metron.stellar.common.utils.JSONUtils; +import org.apache.metron.stellar.common.utils.cli.OptionHandler; +import org.apache.metron.stellar.dsl.Context; +import org.apache.metron.stellar.dsl.MapVariableResolver; +import org.apache.metron.stellar.dsl.StellarFunctions; public class StellarMicrobenchmark { diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/shell/StellarExecutor.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/shell/StellarExecutor.java index fb9b799984..a4fac0f0c3 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/shell/StellarExecutor.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/shell/StellarExecutor.java @@ -23,20 +23,6 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; -import org.apache.commons.collections4.trie.PatriciaTrie; -import org.apache.commons.lang.StringUtils; -import org.apache.curator.framework.CuratorFramework; -import org.apache.metron.stellar.common.configuration.ConfigurationsUtils; -import org.apache.metron.stellar.dsl.Context; -import org.apache.metron.stellar.dsl.MapVariableResolver; -import org.apache.metron.stellar.dsl.StellarFunctionInfo; -import org.apache.metron.stellar.dsl.StellarFunctions; -import org.apache.metron.stellar.dsl.VariableResolver; -import org.apache.metron.stellar.dsl.functions.resolver.FunctionResolver; -import org.apache.metron.stellar.common.StellarProcessor; -import org.apache.metron.stellar.common.utils.JSONUtils; -import org.jboss.aesh.console.Console; - import java.io.ByteArrayInputStream; import java.util.ArrayList; import java.util.Collections; @@ -47,13 +33,25 @@ import java.util.SortedMap; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; - +import org.apache.commons.collections4.trie.PatriciaTrie; +import org.apache.commons.lang.StringUtils; +import org.apache.curator.framework.CuratorFramework; +import org.apache.metron.stellar.common.StellarProcessor; +import org.apache.metron.stellar.common.configuration.ConfigurationsUtils; import static org.apache.metron.stellar.common.configuration.ConfigurationsUtils.readGlobalConfigBytesFromZookeeper; import static org.apache.metron.stellar.common.shell.StellarExecutor.OperationType.DOC; import static org.apache.metron.stellar.common.shell.StellarExecutor.OperationType.NORMAL; +import org.apache.metron.stellar.common.utils.JSONUtils; +import org.apache.metron.stellar.dsl.Context; import static org.apache.metron.stellar.dsl.Context.Capabilities.GLOBAL_CONFIG; import static org.apache.metron.stellar.dsl.Context.Capabilities.STELLAR_CONFIG; import static org.apache.metron.stellar.dsl.Context.Capabilities.ZOOKEEPER_CLIENT; +import org.apache.metron.stellar.dsl.MapVariableResolver; +import org.apache.metron.stellar.dsl.StellarFunctionInfo; +import org.apache.metron.stellar.dsl.StellarFunctions; +import org.apache.metron.stellar.dsl.VariableResolver; +import org.apache.metron.stellar.dsl.functions.resolver.FunctionResolver; +import org.jboss.aesh.console.Console; /** diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java index 7eb7098491..e5c3689af2 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java @@ -25,6 +25,7 @@ import com.esotericsoftware.kryo.io.Input; import com.esotericsoftware.kryo.io.Output; import com.esotericsoftware.kryo.util.Util; +import static com.esotericsoftware.kryo.util.Util.className; import com.esotericsoftware.reflectasm.ConstructorAccess; import de.javakaffee.kryoserializers.*; import de.javakaffee.kryoserializers.cglib.CGLibProxySerializer; @@ -34,25 +35,22 @@ import de.javakaffee.kryoserializers.guava.ImmutableSetSerializer; import de.javakaffee.kryoserializers.jodatime.JodaLocalDateSerializer; import de.javakaffee.kryoserializers.jodatime.JodaLocalDateTimeSerializer; -import org.apache.commons.io.output.ByteArrayOutputStream; -import org.objenesis.instantiator.ObjectInstantiator; -import org.objenesis.strategy.InstantiatorStrategy; -import org.objenesis.strategy.StdInstantiatorStrategy; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.io.ByteArrayInputStream; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Modifier; import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.function.Function; - -import static com.esotericsoftware.kryo.util.Util.className; import java.util.Arrays; import java.util.Collections; import java.util.GregorianCalendar; +import java.util.function.Function; +import org.apache.commons.io.output.ByteArrayOutputStream; +import org.objenesis.instantiator.ObjectInstantiator; +import org.objenesis.strategy.InstantiatorStrategy; +import org.objenesis.strategy.StdInstantiatorStrategy; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Provides basic functionality to serialize and deserialize the allowed diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/VFSClassloaderUtil.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/VFSClassloaderUtil.java index 45f122bbb3..44b3f631c0 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/VFSClassloaderUtil.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/VFSClassloaderUtil.java @@ -18,10 +18,14 @@ package org.apache.metron.stellar.common.utils; import java.io.File; -import java.lang.invoke.MethodHandles; import java.util.ArrayList; import java.util.Optional; import org.apache.accumulo.start.classloader.vfs.UniqueFileReplicator; +import org.apache.commons.vfs2.CacheStrategy; +import org.apache.commons.vfs2.FileObject; +import org.apache.commons.vfs2.FileSystemException; +import org.apache.commons.vfs2.FileSystemManager; +import org.apache.commons.vfs2.FileType; import org.apache.commons.vfs2.cache.SoftRefFilesCache; import org.apache.commons.vfs2.impl.DefaultFileSystemManager; import org.apache.commons.vfs2.impl.FileContentInfoFilenameFactory; diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java index e8e1335867..94c88cd19f 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java @@ -31,15 +31,15 @@ import org.apache.metron.stellar.common.utils.ConversionUtils; import org.apache.metron.stellar.common.utils.VFSClassloaderUtil; import org.apache.metron.stellar.dsl.Context; +import static org.apache.metron.stellar.dsl.Context.Capabilities.STELLAR_CONFIG; import org.apache.metron.stellar.dsl.Stellar; import org.apache.metron.stellar.dsl.StellarFunction; -import org.atteo.classindex.ClassIndex; -import org.reflections.util.FilterBuilder; -import static org.apache.metron.stellar.dsl.Context.Capabilities.STELLAR_CONFIG; import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_SEARCH_EXCLUDES_KEY; import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_SEARCH_INCLUDES_KEY; import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_VFS_PATHS; +import org.atteo.classindex.ClassIndex; +import org.reflections.util.FilterBuilder; /** * Performs function resolution for Stellar by searching the classpath. From 993077c7ac0702646e4a21df9d52f4ef6a34d8f2 Mon Sep 17 00:00:00 2001 From: Artem Ervits Date: Mon, 24 Jul 2017 15:03:11 -0400 Subject: [PATCH 3/5] METRON-1059-3 --- .../metron/stellar/common/StellarCompiler.java | 3 ++- .../metron/stellar/common/shell/StellarExecutor.java | 12 ++++++------ .../metron/stellar/common/utils/SerDeUtils.java | 3 ++- .../resolver/ClasspathFunctionResolver.java | 3 --- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/StellarCompiler.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/StellarCompiler.java index c41a93b846..fca391baad 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/StellarCompiler.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/StellarCompiler.java @@ -19,7 +19,6 @@ import com.google.common.base.Joiner; import java.io.Serializable; -import static java.lang.String.format; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collection; @@ -47,6 +46,8 @@ import org.apache.metron.stellar.dsl.VariableResolver; import org.apache.metron.stellar.dsl.functions.resolver.FunctionResolver; +import static java.lang.String.format; + public class StellarCompiler extends StellarBaseListener { private static Token EXPRESSION_REFERENCE = new Token<>(null, Object.class); private static Token LAMBDA_VARIABLES = new Token<>(null, Object.class); diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/shell/StellarExecutor.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/shell/StellarExecutor.java index a4fac0f0c3..1be38c3673 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/shell/StellarExecutor.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/shell/StellarExecutor.java @@ -38,14 +38,8 @@ import org.apache.curator.framework.CuratorFramework; import org.apache.metron.stellar.common.StellarProcessor; import org.apache.metron.stellar.common.configuration.ConfigurationsUtils; -import static org.apache.metron.stellar.common.configuration.ConfigurationsUtils.readGlobalConfigBytesFromZookeeper; -import static org.apache.metron.stellar.common.shell.StellarExecutor.OperationType.DOC; -import static org.apache.metron.stellar.common.shell.StellarExecutor.OperationType.NORMAL; import org.apache.metron.stellar.common.utils.JSONUtils; import org.apache.metron.stellar.dsl.Context; -import static org.apache.metron.stellar.dsl.Context.Capabilities.GLOBAL_CONFIG; -import static org.apache.metron.stellar.dsl.Context.Capabilities.STELLAR_CONFIG; -import static org.apache.metron.stellar.dsl.Context.Capabilities.ZOOKEEPER_CLIENT; import org.apache.metron.stellar.dsl.MapVariableResolver; import org.apache.metron.stellar.dsl.StellarFunctionInfo; import org.apache.metron.stellar.dsl.StellarFunctions; @@ -53,6 +47,12 @@ import org.apache.metron.stellar.dsl.functions.resolver.FunctionResolver; import org.jboss.aesh.console.Console; +import static org.apache.metron.stellar.common.configuration.ConfigurationsUtils.readGlobalConfigBytesFromZookeeper; +import static org.apache.metron.stellar.common.shell.StellarExecutor.OperationType.DOC; +import static org.apache.metron.stellar.common.shell.StellarExecutor.OperationType.NORMAL; +import static org.apache.metron.stellar.dsl.Context.Capabilities.GLOBAL_CONFIG; +import static org.apache.metron.stellar.dsl.Context.Capabilities.STELLAR_CONFIG; +import static org.apache.metron.stellar.dsl.Context.Capabilities.ZOOKEEPER_CLIENT; /** * Executes Stellar expressions and maintains state across multiple invocations. diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java index e5c3689af2..9e267767fe 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java @@ -25,7 +25,6 @@ import com.esotericsoftware.kryo.io.Input; import com.esotericsoftware.kryo.io.Output; import com.esotericsoftware.kryo.util.Util; -import static com.esotericsoftware.kryo.util.Util.className; import com.esotericsoftware.reflectasm.ConstructorAccess; import de.javakaffee.kryoserializers.*; import de.javakaffee.kryoserializers.cglib.CGLibProxySerializer; @@ -52,6 +51,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static com.esotericsoftware.kryo.util.Util.className; + /** * Provides basic functionality to serialize and deserialize the allowed * value types for a ProfileMeasurement. diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java index 94c88cd19f..b012fcb8ec 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java @@ -31,15 +31,12 @@ import org.apache.metron.stellar.common.utils.ConversionUtils; import org.apache.metron.stellar.common.utils.VFSClassloaderUtil; import org.apache.metron.stellar.dsl.Context; -import static org.apache.metron.stellar.dsl.Context.Capabilities.STELLAR_CONFIG; import org.apache.metron.stellar.dsl.Stellar; import org.apache.metron.stellar.dsl.StellarFunction; import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_SEARCH_EXCLUDES_KEY; import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_SEARCH_INCLUDES_KEY; import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_VFS_PATHS; -import org.atteo.classindex.ClassIndex; -import org.reflections.util.FilterBuilder; /** * Performs function resolution for Stellar by searching the classpath. From e06cd8c049adb5f06737a7332d85f3c500298dc0 Mon Sep 17 00:00:00 2001 From: Artem Ervits Date: Wed, 26 Jul 2017 09:42:52 -0400 Subject: [PATCH 4/5] METRON-1059-4 --- .../common/generated/StellarLexer.java | 14 ++++++----- .../common/generated/StellarParser.java | 24 +++++++++++++------ .../stellar/common/utils/SerDeUtils.java | 12 +++++++++- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarLexer.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarLexer.java index b453d4eff7..e472f681ff 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarLexer.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarLexer.java @@ -20,14 +20,16 @@ * limitations under the License. */ -import org.antlr.v4.runtime.Lexer; import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.RuntimeMetaData; +import org.antlr.v4.runtime.Vocabulary; +import org.antlr.v4.runtime.VocabularyImpl; +import org.antlr.v4.runtime.atn.ATN; +import org.antlr.v4.runtime.atn.ATNDeserializer; +import org.antlr.v4.runtime.atn.LexerATNSimulator; +import org.antlr.v4.runtime.atn.PredictionContextCache; import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) public class StellarLexer extends Lexer { diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarParser.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarParser.java index d4c6ba361a..f395727ab7 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarParser.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarParser.java @@ -20,14 +20,24 @@ * limitations under the License. */ -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; +import org.antlr.v4.runtime.FailedPredicateException; +import org.antlr.v4.runtime.NoViableAltException; +import org.antlr.v4.runtime.Parser; +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.RecognitionException; +import org.antlr.v4.runtime.RuleContext; +import org.antlr.v4.runtime.RuntimeMetaData; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.Vocabulary; +import org.antlr.v4.runtime.VocabularyImpl; +import org.antlr.v4.runtime.atn.ATN; +import org.antlr.v4.runtime.atn.ATNDeserializer; +import org.antlr.v4.runtime.atn.ParserATNSimulator; +import org.antlr.v4.runtime.atn.PredictionContextCache; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.tree.ParseTreeListener; +import org.antlr.v4.runtime.tree.TerminalNode; @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) public class StellarParser extends Parser { diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java index 9e267767fe..90038519b5 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/SerDeUtils.java @@ -26,7 +26,17 @@ import com.esotericsoftware.kryo.io.Output; import com.esotericsoftware.kryo.util.Util; import com.esotericsoftware.reflectasm.ConstructorAccess; -import de.javakaffee.kryoserializers.*; +import de.javakaffee.kryoserializers.ArraysAsListSerializer; +import de.javakaffee.kryoserializers.CollectionsEmptyListSerializer; +import de.javakaffee.kryoserializers.CollectionsEmptyMapSerializer; +import de.javakaffee.kryoserializers.CollectionsEmptySetSerializer; +import de.javakaffee.kryoserializers.CollectionsSingletonListSerializer; +import de.javakaffee.kryoserializers.CollectionsSingletonMapSerializer; +import de.javakaffee.kryoserializers.CollectionsSingletonSetSerializer; +import de.javakaffee.kryoserializers.GregorianCalendarSerializer; +import de.javakaffee.kryoserializers.JdkProxySerializer; +import de.javakaffee.kryoserializers.SynchronizedCollectionsSerializer; +import de.javakaffee.kryoserializers.UnmodifiableCollectionsSerializer; import de.javakaffee.kryoserializers.cglib.CGLibProxySerializer; import de.javakaffee.kryoserializers.guava.ImmutableListSerializer; import de.javakaffee.kryoserializers.guava.ImmutableMapSerializer; From 7c31c28fbdfaa66113ee181d14729f7ae7176e8f Mon Sep 17 00:00:00 2001 From: Artem Ervits Date: Mon, 2 Oct 2017 17:07:58 -0400 Subject: [PATCH 5/5] METRON-1059-fix --- .../common/generated/StellarLexer.java | 14 +++++------ .../common/generated/StellarParser.java | 24 ++++++------------- .../common/utils/VFSClassloaderUtil.java | 1 + .../resolver/ClasspathFunctionResolver.java | 3 +++ 4 files changed, 17 insertions(+), 25 deletions(-) diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarLexer.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarLexer.java index c1c48542e4..330b2ef9eb 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarLexer.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarLexer.java @@ -20,16 +20,14 @@ * limitations under the License. */ -import org.antlr.v4.runtime.CharStream; import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.RuntimeMetaData; -import org.antlr.v4.runtime.Vocabulary; -import org.antlr.v4.runtime.VocabularyImpl; -import org.antlr.v4.runtime.atn.ATN; -import org.antlr.v4.runtime.atn.ATNDeserializer; -import org.antlr.v4.runtime.atn.LexerATNSimulator; -import org.antlr.v4.runtime.atn.PredictionContextCache; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) public class StellarLexer extends Lexer { diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarParser.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarParser.java index 722c00531d..1ea8a11e16 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarParser.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarParser.java @@ -20,24 +20,14 @@ * limitations under the License. */ -import java.util.List; -import org.antlr.v4.runtime.FailedPredicateException; -import org.antlr.v4.runtime.NoViableAltException; -import org.antlr.v4.runtime.Parser; -import org.antlr.v4.runtime.ParserRuleContext; -import org.antlr.v4.runtime.RecognitionException; -import org.antlr.v4.runtime.RuleContext; -import org.antlr.v4.runtime.RuntimeMetaData; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.Vocabulary; -import org.antlr.v4.runtime.VocabularyImpl; -import org.antlr.v4.runtime.atn.ATN; -import org.antlr.v4.runtime.atn.ATNDeserializer; -import org.antlr.v4.runtime.atn.ParserATNSimulator; -import org.antlr.v4.runtime.atn.PredictionContextCache; +import org.antlr.v4.runtime.atn.*; import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.tree.ParseTreeListener; -import org.antlr.v4.runtime.tree.TerminalNode; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) public class StellarParser extends Parser { diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/VFSClassloaderUtil.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/VFSClassloaderUtil.java index 94a2061f9d..803398c8e4 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/VFSClassloaderUtil.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/utils/VFSClassloaderUtil.java @@ -18,6 +18,7 @@ package org.apache.metron.stellar.common.utils; import java.io.File; +import java.lang.invoke.MethodHandles; import java.util.ArrayList; import java.util.Optional; import org.apache.accumulo.start.classloader.vfs.UniqueFileReplicator; diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java index 9b19caf1d9..41de98282b 100644 --- a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java +++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/resolver/ClasspathFunctionResolver.java @@ -34,6 +34,9 @@ import org.apache.metron.stellar.dsl.Stellar; import org.apache.metron.stellar.dsl.StellarFunction; +import org.atteo.classindex.ClassIndex; +import org.reflections.util.FilterBuilder; + import static org.apache.metron.stellar.dsl.Context.Capabilities.STELLAR_CONFIG; import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_SEARCH_EXCLUDES_KEY; import static org.apache.metron.stellar.dsl.functions.resolver.ClasspathFunctionResolver.Config.STELLAR_SEARCH_INCLUDES_KEY;