Repository: tinkerpop
Updated Branches:
  refs/heads/tp32 37e17165a -> b755788c6


using [...] syntax for Map construction in GroovyTranslator instead of new 
LinkedHashMap().


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

Branch: refs/heads/tp32
Commit: e4f6842bc6097750eded8d59095605ba4c81c6ae
Parents: 37e1716
Author: Marko A. Rodriguez <okramma...@gmail.com>
Authored: Thu May 11 15:56:26 2017 -0600
Committer: Marko A. Rodriguez <okramma...@gmail.com>
Committed: Thu May 11 15:56:26 2017 -0600

----------------------------------------------------------------------
 .../gremlin/groovy/jsr223/GroovyTranslatorTest.java  | 15 +++++++++++++--
 .../gremlin/groovy/jsr223/GroovyTranslator.java      | 11 ++++++-----
 2 files changed, 19 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e4f6842b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
----------------------------------------------------------------------
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index 59903ac..133646a 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -27,7 +27,6 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.Traverser;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 import 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
-import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.PartitionStrategy;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.TranslationStrategy;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
@@ -38,8 +37,9 @@ import org.junit.Test;
 import javax.script.Bindings;
 import javax.script.SimpleBindings;
 import java.util.ArrayList;
-import java.util.Collections;
+import java.util.Arrays;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
 
 import static org.junit.Assert.assertEquals;
@@ -117,6 +117,17 @@ public class GroovyTranslatorTest extends 
AbstractGremlinTest {
     }
 
     @Test
+    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
+    public void shouldHandleMaps() {
+        GraphTraversalSource g = graph.traversal();
+        String script = GroovyTranslator.of("g").translate(g.V().id().is(new 
LinkedHashMap() {{
+            put(3, "32");
+            put(Arrays.asList(1, 2, 3.1d), 4);
+        }}).asAdmin().getBytecode());
+        assertEquals(script, "g.V().id().is([((int) 3):(\"32\"),([(int) 1, 
(int) 2, 3.1d]):((int) 4)])");
+    }
+
+    @Test
     public void shouldHaveValidToString() {
         assertEquals("translator[h:gremlin-groovy]", 
GroovyTranslator.of("h").toString());
     }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e4f6842b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
----------------------------------------------------------------------
diff --git 
a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
 
b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
index d102037..c3017db 100644
--- 
a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
+++ 
b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
@@ -127,15 +127,16 @@ public final class GroovyTranslator implements 
Translator.ScriptTranslator {
             }
             return list.toString();
         } else if (object instanceof Map) {
-            final StringBuilder map = new StringBuilder("new 
LinkedHashMap(){{");
+            final StringBuilder map = new StringBuilder("[");
             for (final Map.Entry<?, ?> entry : ((Map<?, ?>) 
object).entrySet()) {
-                map.append("put(").
+                map.append("(").
                         append(convertToString(entry.getKey())).
-                        append(",").
+                        append("):(").
                         append(convertToString(entry.getValue())).
-                        append(");");
+                        append("),");
             }
-            return map.append("}}").toString();
+            map.deleteCharAt(map.length()-1);
+            return map.append("]").toString();
         } else if (object instanceof Long)
             return object + "L";
         else if (object instanceof Double)

Reply via email to