wip
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/02f583e0 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/02f583e0 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/02f583e0 Branch: refs/heads/TINKERPOP-1975 Commit: 02f583e01d24c69a498bcc897d8b7d1327847fc4 Parents: 99a4b36 Author: Stephen Mallette <[email protected]> Authored: Wed May 30 08:27:07 2018 -0400 Committer: Stephen Mallette <[email protected]> Committed: Wed May 30 13:46:14 2018 -0400 ---------------------------------------------------------------------- .../gremlin/jsr223/JavaTranslator.java | 28 ++++++++--------- .../structure/io/gryo/GryoSerializersV1d0.java | 32 -------------------- .../structure/io/gryo/GryoSerializersV3d0.java | 1 - 3 files changed, 12 insertions(+), 49 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/02f583e0/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java index 4813fab..6c3d906 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java @@ -27,7 +27,6 @@ import org.apache.tinkerpop.gremlin.process.traversal.Traversal; import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource; import org.apache.tinkerpop.gremlin.process.traversal.step.StepConfiguration; import org.apache.tinkerpop.gremlin.process.traversal.step.util.BulkSet; -import org.apache.tinkerpop.gremlin.process.traversal.step.util.DefaultStepConfiguration; import org.apache.tinkerpop.gremlin.process.traversal.step.util.StepConfigurationProxy; import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree; import org.apache.tinkerpop.gremlin.process.traversal.strategy.TraversalStrategyProxy; @@ -118,20 +117,11 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal throw new IllegalStateException(e.getMessage()); } } else if (object instanceof TraversalStrategyProxy) { - final Map<String, Object> map = new HashMap<>(); - final Configuration configuration = ((TraversalStrategyProxy) object).getConfiguration(); - configuration.getKeys().forEachRemaining(key -> map.put(key, translateObject(configuration.getProperty(key)))); - return invokeStrategyCreationMethod(object, map); - } else if (object instanceof DefaultStepConfiguration) { - final Map<String, Object> map = new LinkedHashMap<>(); - final Configuration configuration = ((DefaultStepConfiguration) object).getConfiguration(); - configuration.getKeys().forEachRemaining(key -> map.put(key, translateObject(configuration.getProperty(key)))); - return invokeStepConfigurationCreationMethod(object, map); - }else if (object instanceof StepConfigurationProxy) { - final Map<String, Object> map = new LinkedHashMap<>(); - final Configuration configuration = ((StepConfigurationProxy) object).getConfiguration(); - configuration.getKeys().forEachRemaining(key -> map.put(key, translateObject(configuration.getProperty(key)))); - return invokeStepConfigurationCreationMethod(object, map); + return invokeStrategyCreationMethod(object, translateConfigurationToMap(((TraversalStrategyProxy) object).getConfiguration())); + } else if (object instanceof StepConfiguration) { + return invokeStepConfigurationCreationMethod(object, translateConfigurationToMap(((StepConfiguration) object).getConfiguration())); + } else if (object instanceof StepConfigurationProxy) { + return invokeStepConfigurationCreationMethod(object, translateConfigurationToMap(((StepConfigurationProxy) object).getConfiguration())); } else if (object instanceof Map) { final Map<Object, Object> map = object instanceof Tree ? new Tree() : @@ -166,6 +156,12 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal return object; } + private Map<String,Object> translateConfigurationToMap(final Configuration conf) { + final Map<String, Object> map = new LinkedHashMap<>(); + conf.getKeys().forEachRemaining(key -> map.put(key, translateObject(conf.getProperty(key)))); + return map; + } + private Object invokeStrategyCreationMethod(final Object delegate, final Map<String, Object> map) { final Class<?> strategyClass = ((TraversalStrategyProxy) delegate).getStrategyClass(); final Map<String, Method> methodCache = localMethodCache.computeIfAbsent(strategyClass, k -> { @@ -198,7 +194,7 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal } private Object invokeStepConfigurationCreationMethod(final Object delegate, final Map<String, Object> map) { - final Class<?> stepConfigurationClass = delegate instanceof DefaultStepConfiguration ? delegate.getClass() : ((StepConfigurationProxy) delegate).getStepConfigurationClass(); + final Class<?> stepConfigurationClass = delegate instanceof StepConfiguration ? delegate.getClass() : ((StepConfigurationProxy) delegate).getStepConfigurationClass(); final Map<String, Method> methodCache = localMethodCache.computeIfAbsent(stepConfigurationClass, k -> { final Map<String, Method> cacheEntry = new HashMap<>(); http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/02f583e0/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV1d0.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV1d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV1d0.java index 9fdfd4e..ca7c241 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV1d0.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV1d0.java @@ -18,14 +18,11 @@ */ package org.apache.tinkerpop.gremlin.structure.io.gryo; -import org.apache.commons.configuration.Configuration; import org.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser; import org.apache.tinkerpop.gremlin.process.traversal.Bytecode; import org.apache.tinkerpop.gremlin.process.traversal.P; import org.apache.tinkerpop.gremlin.process.traversal.Path; -import org.apache.tinkerpop.gremlin.process.traversal.Traversal; import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource; -import org.apache.tinkerpop.gremlin.process.traversal.step.util.DefaultStepConfiguration; import org.apache.tinkerpop.gremlin.process.traversal.util.AndP; import org.apache.tinkerpop.gremlin.process.traversal.util.ConnectiveP; import org.apache.tinkerpop.gremlin.process.traversal.util.OrP; @@ -47,10 +44,7 @@ import org.apache.tinkerpop.gremlin.util.function.Lambda; import java.util.ArrayList; import java.util.Collection; -import java.util.Iterator; -import java.util.LinkedHashMap; import java.util.List; -import java.util.Map; /** * This class holds serializers for graph-based objects such as vertices, edges, properties, and paths. These objects @@ -287,30 +281,4 @@ public final class GryoSerializersV1d0 { return new DefaultRemoteTraverser<>(o, input.readLong()); } } - -// public final static class DefaultStepConfigurationSerializer implements SerializerShim<DefaultStepConfiguration> { -// @Override -// public <O extends OutputShim> void write(final KryoShim<?, O> kryo, final O output, final DefaultStepConfiguration stepConfig) { -// final LinkedHashMap<String,List<Object>> m = new LinkedHashMap<>(); -// final Configuration conf = stepConfig.getConfiguration(); -// final Iterator<String> keys = conf.getKeys(); -// while (keys.hasNext()) { -// final String key = keys.next(); -// final List<Object> args = new ArrayList<>(); -// -// // gryo doesn't (for whatever reason that i can't remember) coerce traversals to bytecode so if a -// // step configuration has a traversal it needs to be coerced here. not sure........ -// conf.getList(key).forEach(x -> args.add(x instanceof Traversal ? ((Traversal) x).asAdmin().getBytecode() : x)); -// m.put(key, args); -// } -// -// kryo.writeObject(output, m); -// } -// -// @Override -// public <I extends InputShim> DefaultStepConfiguration read(final KryoShim<I, ?> kryo, final I input, final Class<DefaultStepConfiguration> clazz) { -// final LinkedHashMap<String,List<Object>> m = kryo.readObject(input, LinkedHashMap.class); -// return DefaultStepConfiguration. -// } -// } } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/02f583e0/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV3d0.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV3d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV3d0.java index da91e42..955e5d0 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV3d0.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV3d0.java @@ -51,7 +51,6 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; -import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit;
