You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2020/11/20 20:29:59 UTC

[tinkerpop] branch master updated (5f79663 -> 8273915)

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

spmallette pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


    from 5f79663  Merge branch '3.4-dev'
     new 449caf6  Minor update to javadoc CTR
     new 4d6538f  Fixed small bug in configuration for ReservedKeysVerificationStrategy and made all configuration key tokens public
     new 8273915  Merge branch '3.4-dev'

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGELOG.asciidoc                                     |  2 ++
 .../tinkerpop/gremlin/process/computer/Memory.java     |  6 ++++--
 .../AbstractWarningVerificationStrategy.java           |  4 ++--
 .../verification/ReservedKeysVerificationStrategy.java | 12 +++++++++++-
 .../ReservedKeysVerificationStrategyTest.java          | 18 +++++++++++++++---
 5 files changed, 34 insertions(+), 8 deletions(-)


[tinkerpop] 02/03: Fixed small bug in configuration for ReservedKeysVerificationStrategy and made all configuration key tokens public

Posted by sp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 4d6538f7181cb495cfbf029a0a6719d5159e9bac
Author: Stephen Mallette <st...@amazon.com>
AuthorDate: Fri Nov 20 15:28:40 2020 -0500

    Fixed small bug in configuration for ReservedKeysVerificationStrategy and made all configuration key tokens public
---
 CHANGELOG.asciidoc                                     |  2 ++
 .../AbstractWarningVerificationStrategy.java           |  4 ++--
 .../verification/ReservedKeysVerificationStrategy.java | 12 +++++++++++-
 .../ReservedKeysVerificationStrategyTest.java          | 18 +++++++++++++++---
 4 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 816be3d..a26c3a1 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -59,6 +59,8 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Fixed bug with Bytecode serialization when `Bytecode.toString()` is used in Javascript.
 * Fixed "toString" for P and TextP to produce valid script representation from bytecode glv steps containing a string predicate in Javascript.
 * Fixed a bug which could cause Java driver to hang when using `ResultSet.statusAttributes()`
+* Fixed bug with `ReservedVerificationStrategy.getConfiguration()` which was omitting the reserved `keys` value.
+* Changed all configuration keys on `AbstractWarningVerificationStrategy` implementations to `public`.
 * Deprecated `BytecodeUtil` and merged its functionality to the existing `BytecodeHelper`.
 
 [[release-3-4-8]]
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/AbstractWarningVerificationStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/AbstractWarningVerificationStrategy.java
index a7c5a3a..52c9410 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/AbstractWarningVerificationStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/AbstractWarningVerificationStrategy.java
@@ -42,8 +42,8 @@ public abstract class AbstractWarningVerificationStrategy
 
     private static final Logger LOGGER = LoggerFactory.getLogger(AbstractWarningVerificationStrategy.class);
 
-    protected static final String THROW_EXCEPTION = "throwException";
-    protected static final String LOG_WARNING = "logWarning";
+    public static final String THROW_EXCEPTION = "throwException";
+    public static final String LOG_WARNING = "logWarning";
 
     protected final boolean throwException;
     protected final boolean logWarning;
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ReservedKeysVerificationStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ReservedKeysVerificationStrategy.java
index 8fe6424..b106884 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ReservedKeysVerificationStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ReservedKeysVerificationStrategy.java
@@ -19,6 +19,7 @@
 package org.apache.tinkerpop.gremlin.process.traversal.strategy.verification;
 
 import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.MapConfiguration;
 import org.apache.tinkerpop.gremlin.process.traversal.Step;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.step.Parameterizing;
@@ -31,7 +32,9 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.util.Parameters;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -47,7 +50,7 @@ import java.util.stream.Collectors;
  */
 public class ReservedKeysVerificationStrategy extends AbstractWarningVerificationStrategy {
 
-    private static final String KEYS = "keys";
+    public static final String KEYS = "keys";
     private static final Set<String> DEFAULT_RESERVED_KEYS = new HashSet<>(Arrays.asList("id", "label"));
     private final Set<String> reservedKeys;
 
@@ -84,6 +87,13 @@ public class ReservedKeysVerificationStrategy extends AbstractWarningVerificatio
                 .logWarning(configuration.getBoolean(LOG_WARNING, false)).create();
     }
 
+    @Override
+    public Configuration getConfiguration() {
+        final Configuration c = super.getConfiguration();
+        c.setProperty(KEYS, this.reservedKeys);
+        return c;
+    }
+
     public static ReservedKeysVerificationStrategy.Builder build() {
         return new ReservedKeysVerificationStrategy.Builder();
     }
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ReservedKeysVerificationStrategyTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ReservedKeysVerificationStrategyTest.java
index f25f66d..22dcd11 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ReservedKeysVerificationStrategyTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ReservedKeysVerificationStrategyTest.java
@@ -34,6 +34,7 @@ import org.junit.runners.Parameterized;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashSet;
 import java.util.List;
 import java.util.function.Predicate;
 import java.util.regex.Pattern;
@@ -81,6 +82,7 @@ public class ReservedKeysVerificationStrategyTest {
                 {"__.addE('knows').property('label','xyz')", __.addE("knows").property("id", "xyz"), false},
                 {"__.addV().property('x','xyz', 'label', 'xxx')", __.addV().property("x", "xyz", "label", "xxx"), false},
                 {"__.addV().property('x','xyz', 'not-Label', 'xxx')", __.addV().property("x", "xyz", "not-label", "xxx"), true},
+                {"__.addV().property('x','xyz', 'not-allowed', 'xxx')", __.addV().property("x", "xyz", "not-allowed", "xxx"), false},
         });
     }
 
@@ -106,7 +108,10 @@ public class ReservedKeysVerificationStrategyTest {
     @Test
     public void shouldOnlyThrow() {
         final TraversalStrategies strategies = new DefaultTraversalStrategies();
-        strategies.addStrategies(ReservedKeysVerificationStrategy.build().throwException().create());
+        final ReservedKeysVerificationStrategy.Builder builder = ReservedKeysVerificationStrategy.build().throwException();
+        if (name.equals("__.addV().property('x','xyz', 'not-allowed', 'xxx')"))
+            builder.reservedKeys(new HashSet<>(Arrays.asList("id", "label", "not-allowed")));
+        strategies.addStrategies(builder.create());
         final Traversal traversal = this.traversal.asAdmin().clone();
         traversal.asAdmin().setStrategies(strategies);
         if (allow) {
@@ -125,7 +130,10 @@ public class ReservedKeysVerificationStrategyTest {
     @Test
     public void shouldOnlyLog() {
         final TraversalStrategies strategies = new DefaultTraversalStrategies();
-        strategies.addStrategies(ReservedKeysVerificationStrategy.build().logWarning().create());
+        final ReservedKeysVerificationStrategy.Builder builder = ReservedKeysVerificationStrategy.build().logWarning();
+        if (name.equals("__.addV().property('x','xyz', 'not-allowed', 'xxx')"))
+            builder.reservedKeys(new HashSet<>(Arrays.asList("id", "label", "not-allowed")));
+        strategies.addStrategies(builder.create());
         final Traversal traversal = this.traversal.asAdmin().clone();
         traversal.asAdmin().setStrategies(strategies);
         traversal.asAdmin().applyStrategies();
@@ -138,7 +146,11 @@ public class ReservedKeysVerificationStrategyTest {
     @Test
     public void shouldThrowAndLog() {
         final TraversalStrategies strategies = new DefaultTraversalStrategies();
-        strategies.addStrategies(ReservedKeysVerificationStrategy.build().throwException().logWarning().create());
+        final ReservedKeysVerificationStrategy.Builder builder = ReservedKeysVerificationStrategy.build().
+                throwException().logWarning();
+        if (name.equals("__.addV().property('x','xyz', 'not-allowed', 'xxx')"))
+            builder.reservedKeys(new HashSet<>(Arrays.asList("id", "label", "not-allowed")));
+        strategies.addStrategies(builder.create());
         final Traversal traversal = this.traversal.asAdmin().clone();
         traversal.asAdmin().setStrategies(strategies);
         if (allow) {


[tinkerpop] 01/03: Minor update to javadoc CTR

Posted by sp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 449caf62499fdea2d60668d861f2ce52c86acef5
Author: Stephen Mallette <st...@amazon.com>
AuthorDate: Fri Nov 20 14:49:08 2020 -0500

    Minor update to javadoc CTR
---
 .../java/org/apache/tinkerpop/gremlin/process/computer/Memory.java  | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/Memory.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/Memory.java
index 93931c3..1b74508 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/Memory.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/Memory.java
@@ -65,8 +65,10 @@ public interface Memory {
     public void set(final String key, final Object value) throws IllegalArgumentException, IllegalStateException;
 
     /**
-     * Set the value of the provided key. This is typically called in setup() and/or terminate() of the {@link VertexProgram}.
-     * If this is called during execute(), there is no guarantee as to the ultimately stored value as call order is indeterminate.
+     * Set the value of the provided key. This is typically called in setup() and/or terminate() of the
+     * {@link VertexProgram}. If this is called during execute(), there is no guarantee as to the ultimately stored
+     * value as call order is indeterminate. It is up to the implementation to determine the states in which this
+     * method can be called.
      *
      * @param key   they key to set a value for
      * @param value the value to set for the key


[tinkerpop] 03/03: Merge branch '3.4-dev'

Posted by sp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 82739153a152d70170180cc43afa15f0cea6a06c
Merge: 5f79663 4d6538f
Author: Stephen Mallette <st...@amazon.com>
AuthorDate: Fri Nov 20 15:29:42 2020 -0500

    Merge branch '3.4-dev'

 CHANGELOG.asciidoc                                     |  2 ++
 .../tinkerpop/gremlin/process/computer/Memory.java     |  6 ++++--
 .../AbstractWarningVerificationStrategy.java           |  4 ++--
 .../verification/ReservedKeysVerificationStrategy.java | 12 +++++++++++-
 .../ReservedKeysVerificationStrategyTest.java          | 18 +++++++++++++++---
 5 files changed, 34 insertions(+), 8 deletions(-)

diff --cc gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ReservedKeysVerificationStrategy.java
index d764693,b106884..28c59ca
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ReservedKeysVerificationStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/verification/ReservedKeysVerificationStrategy.java
@@@ -18,7 -18,8 +18,8 @@@
   */
  package org.apache.tinkerpop.gremlin.process.traversal.strategy.verification;
  
 -import org.apache.commons.configuration.Configuration;
 +import org.apache.commons.configuration2.Configuration;
+ import org.apache.commons.configuration.MapConfiguration;
  import org.apache.tinkerpop.gremlin.process.traversal.Step;
  import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
  import org.apache.tinkerpop.gremlin.process.traversal.step.Parameterizing;