You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2015/06/03 02:12:13 UTC
[08/50] [abbrv] incubator-tinkerpop git commit: Neo4jTrait now exists
-- NoMultiNoMetaNeo4jTrait and MultiMetaNeo4jTrait. Simpler code.
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/MultiMetaNeo4jTrait.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/MultiMetaNeo4jTrait.java b/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/MultiMetaNeo4jTrait.java
new file mode 100644
index 0000000..9133921
--- /dev/null
+++ b/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/MultiMetaNeo4jTrait.java
@@ -0,0 +1,261 @@
+/*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one
+ * * or more contributor license agreements. See the NOTICE file
+ * * distributed with this work for additional information
+ * * regarding copyright ownership. The ASF licenses this file
+ * * to you under the Apache License, Version 2.0 (the
+ * * "License"); you may not use this file except in compliance
+ * * with the License. You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing,
+ * * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * * KIND, either express or implied. See the License for the
+ * * specific language governing permissions and limitations
+ * * under the License.
+ *
+ */
+
+package org.apache.tinkerpop.gremlin.neo4j.structure.trait;
+
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph;
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jHelper;
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jProperty;
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jVertex;
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jVertexProperty;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.apache.tinkerpop.gremlin.structure.Property;
+import org.apache.tinkerpop.gremlin.structure.T;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
+import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
+import org.apache.tinkerpop.gremlin.structure.util.wrapped.WrappedGraph;
+import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
+import org.neo4j.tinkerpop.api.Neo4jDirection;
+import org.neo4j.tinkerpop.api.Neo4jGraphAPI;
+import org.neo4j.tinkerpop.api.Neo4jNode;
+import org.neo4j.tinkerpop.api.Neo4jRelationship;
+
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Optional;
+import java.util.function.Predicate;
+import java.util.stream.Stream;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public class MultiMetaNeo4jTrait implements Neo4jTrait {
+
+ public static final String VERTEX_PROPERTY_LABEL = "vertexProperty";
+ public static final String VERTEX_PROPERTY_PREFIX = Graph.Hidden.hide("");
+ public static final String VERTEX_PROPERTY_TOKEN = Graph.Hidden.hide("vertexProperty");
+
+ @Override
+ public Predicate<Neo4jNode> getNodePredicate() {
+ return node -> !node.hasLabel(VERTEX_PROPERTY_LABEL);
+ }
+
+ @Override
+ public Predicate<Neo4jRelationship> getRelationshipPredicate() {
+ return relationship -> !relationship.type().startsWith(VERTEX_PROPERTY_PREFIX);
+ }
+
+ @Override
+ public void removeVertex(final Neo4jVertex vertex) {
+ try {
+ final Neo4jNode node = vertex.getBaseVertex();
+ for (final Neo4jRelationship relationship : node.relationships(Neo4jDirection.BOTH)) {
+ final Neo4jNode otherNode = relationship.other(node);
+ if (otherNode.hasLabel(VERTEX_PROPERTY_LABEL)) {
+ otherNode.relationships(null).forEach(Neo4jRelationship::delete);
+ otherNode.delete(); // meta property node
+ } else
+ relationship.delete();
+ }
+ node.delete();
+ } catch (final IllegalStateException ignored) {
+ // this one happens if the vertex is still chilling in the tx
+ } catch (final RuntimeException ex) {
+ if (!Neo4jHelper.isNotFound(ex)) throw ex;
+ // this one happens if the vertex is committed
+ }
+ }
+
+ @Override
+ public <V> VertexProperty<V> getVertexProperty(final Neo4jVertex vertex, final String key) {
+ final Neo4jNode node = vertex.getBaseVertex();
+ if (Neo4jHelper.keyExistsInNeo4j(node, key)) {
+ if (node.getProperty(key).equals(VERTEX_PROPERTY_TOKEN)) {
+ if (node.degree(Neo4jDirection.OUTGOING, VERTEX_PROPERTY_PREFIX.concat(key)) > 1)
+ throw Vertex.Exceptions.multiplePropertiesExistForProvidedKey(key);
+ else {
+ final Neo4jNode vertexPropertyNode = node.relationships(Neo4jDirection.OUTGOING, VERTEX_PROPERTY_PREFIX.concat(key)).iterator().next().end();
+ return new Neo4jVertexProperty<>(vertex, (String) vertexPropertyNode.getProperty(T.key.getAccessor()), (V) vertexPropertyNode.getProperty(T.value.getAccessor()), vertexPropertyNode);
+ }
+ } else {
+ return new Neo4jVertexProperty<>(vertex, key, (V) node.getProperty(key));
+ }
+ } else
+ return VertexProperty.<V>empty();
+ }
+
+ @Override
+ public <V> Iterator<VertexProperty<V>> getVertexProperties(final Neo4jVertex vertex, final String... keys) {
+ return IteratorUtils.stream(vertex.getBaseVertex().getKeys())
+ .filter(key -> ElementHelper.keyExists(key, keys))
+ .flatMap(key -> {
+ if (vertex.getBaseVertex().getProperty(key).equals(VERTEX_PROPERTY_TOKEN))
+ return IteratorUtils.stream(vertex.getBaseVertex().relationships(Neo4jDirection.OUTGOING, (VERTEX_PROPERTY_PREFIX.concat(key))))
+ .map(relationship -> {
+ final Neo4jNode vertexPropertyNode = relationship.end();
+ return (VertexProperty<V>) new Neo4jVertexProperty<>(vertex, (String) vertexPropertyNode.getProperty(T.key.getAccessor()), vertexPropertyNode.getProperty(T.value.getAccessor()), vertexPropertyNode);
+ });
+ else
+ return Stream.of(new Neo4jVertexProperty<>(vertex, key, (V) vertex.getBaseVertex().getProperty(key)));
+ }).iterator();
+ }
+
+ @Override
+ public <V> VertexProperty<V> setVertexProperty(Neo4jVertex vertex, VertexProperty.Cardinality cardinality, String key, V value, Object... keyValues) {
+ try {
+ final Optional<VertexProperty<V>> optionalVertexProperty = ElementHelper.stageVertexProperty(vertex, cardinality, key, value, keyValues);
+ if (optionalVertexProperty.isPresent()) return optionalVertexProperty.get();
+ final Neo4jNode node = vertex.getBaseVertex();
+ final Neo4jGraphAPI graph = ((Neo4jGraph) vertex.graph()).getBaseGraph();
+ final String prefixedKey = VERTEX_PROPERTY_PREFIX.concat(key);
+ if (Neo4jHelper.keyExistsInNeo4j(node, key)) {
+ if (node.getProperty(key).equals(VERTEX_PROPERTY_TOKEN)) {
+ final Neo4jNode vertexPropertyNode = graph.createNode(VERTEX_PROPERTY_LABEL, key);
+ vertexPropertyNode.setProperty(T.key.getAccessor(), key);
+ vertexPropertyNode.setProperty(T.value.getAccessor(), value);
+ node.connectTo(vertexPropertyNode, prefixedKey);
+ final Neo4jVertexProperty<V> property = new Neo4jVertexProperty<>(vertex, key, value, vertexPropertyNode);
+ ElementHelper.attachProperties(property, keyValues); // TODO: make this inlined
+ return property;
+ } else {
+ Neo4jNode vertexPropertyNode = graph.createNode(VERTEX_PROPERTY_LABEL, key);
+ vertexPropertyNode.setProperty(T.key.getAccessor(), key);
+ vertexPropertyNode.setProperty(T.value.getAccessor(), node.removeProperty(key));
+ node.connectTo(vertexPropertyNode, prefixedKey);
+ node.setProperty(key, VERTEX_PROPERTY_TOKEN);
+ vertexPropertyNode = graph.createNode(VERTEX_PROPERTY_LABEL, key);
+ vertexPropertyNode.setProperty(T.key.getAccessor(), key);
+ vertexPropertyNode.setProperty(T.value.getAccessor(), value);
+ node.connectTo(vertexPropertyNode, prefixedKey);
+ final Neo4jVertexProperty<V> property = new Neo4jVertexProperty<>(vertex, key, value, vertexPropertyNode);
+ ElementHelper.attachProperties(property, keyValues); // TODO: make this inlined
+ return property;
+ }
+ } else {
+ node.setProperty(key, value);
+ final Neo4jVertexProperty<V> property = new Neo4jVertexProperty<>(vertex, key, value);
+ ElementHelper.attachProperties(property, keyValues); // TODO: make this inlined
+ return property;
+ }
+ } catch (final IllegalArgumentException iae) {
+ throw Property.Exceptions.dataTypeOfPropertyValueNotSupported(value);
+ }
+ }
+
+ @Override
+ public VertexProperty.Cardinality getCardinality(final String key) {
+ return VertexProperty.Cardinality.list;
+ }
+
+ @Override
+ public boolean supportsMultiProperties() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsMetaProperties() {
+ return true;
+ }
+
+ @Override
+ public void removeVertexProperty(final Neo4jVertexProperty vertexProperty) {
+ final Neo4jNode vertexPropertyNode = Neo4jHelper.getVertexPropertyNode(vertexProperty);
+ final Neo4jNode vertexNode = ((Neo4jVertex) vertexProperty.element()).getBaseVertex();
+ if (null != vertexPropertyNode) {
+ vertexPropertyNode.relationships(null).forEach(Neo4jRelationship::delete);
+ vertexPropertyNode.delete();
+ if (vertexNode.degree(Neo4jDirection.OUTGOING, VERTEX_PROPERTY_PREFIX.concat(vertexProperty.key())) == 0) {
+ if (vertexNode.hasProperty(vertexProperty.key()))
+ vertexNode.removeProperty(vertexProperty.key());
+ }
+ } else {
+ if (vertexNode.degree(Neo4jDirection.OUTGOING, VERTEX_PROPERTY_PREFIX.concat(vertexProperty.key())) == 0) {
+ if (vertexNode.hasProperty(vertexProperty.key()))
+ vertexNode.removeProperty(vertexProperty.key());
+ }
+ }
+ }
+
+ @Override
+ public <V> Property<V> setProperty(final Neo4jVertexProperty vertexProperty, final String key, final V value) {
+ final Neo4jNode vertexPropertyNode = Neo4jHelper.getVertexPropertyNode(vertexProperty);
+ if (null != vertexPropertyNode) {
+ vertexPropertyNode.setProperty(key, value);
+ return new Neo4jProperty<>(vertexProperty, key, value);
+ } else {
+ final Neo4jNode vertexNode = ((Neo4jVertex) vertexProperty.element()).getBaseVertex();
+ final Neo4jNode newVertexPropertyNode = ((WrappedGraph<Neo4jGraphAPI>) vertexProperty.element().graph()).getBaseGraph().createNode(VERTEX_PROPERTY_LABEL, vertexProperty.label());
+ newVertexPropertyNode.setProperty(T.key.getAccessor(), vertexProperty.key());
+ newVertexPropertyNode.setProperty(T.value.getAccessor(), vertexProperty.value());
+ newVertexPropertyNode.setProperty(key, value);
+ vertexNode.connectTo(newVertexPropertyNode, VERTEX_PROPERTY_PREFIX.concat(vertexProperty.key()));
+ vertexNode.setProperty(vertexProperty.key(), VERTEX_PROPERTY_TOKEN);
+ Neo4jHelper.setVertexPropertyNode(vertexProperty, newVertexPropertyNode);
+ return new Neo4jProperty<>(vertexProperty, key, value);
+ }
+ }
+
+ @Override
+ public <V> Property<V> getProperty(final Neo4jVertexProperty vertexProperty, final String key) {
+ //try {
+ final Neo4jNode vertexPropertyNode = Neo4jHelper.getVertexPropertyNode(vertexProperty);
+ if (null != vertexPropertyNode && vertexPropertyNode.hasProperty(key))
+ return new Neo4jProperty<>(vertexProperty, key, (V) vertexPropertyNode.getProperty(key));
+ else
+ return Property.empty();
+ /*} catch (IllegalStateException ex) {
+ throw Element.Exceptions.elementAlreadyRemoved(this.getClass(), this.id());
+ } catch (RuntimeException ex) {
+ if (Neo4jHelper.isNotFound(ex))
+ throw Element.Exceptions.elementAlreadyRemoved(this.getClass(), this.id());
+ throw ex;
+ }*/
+ }
+
+ @Override
+ public <V> Iterator<Property<V>> getProperties(Neo4jVertexProperty vertexProperty, String... keys) {
+ final Neo4jNode vertexPropertyNode = Neo4jHelper.getVertexPropertyNode(vertexProperty);
+ if (null == vertexPropertyNode)
+ return Collections.emptyIterator();
+ else
+ return IteratorUtils.map(IteratorUtils
+ .filter(vertexPropertyNode.getKeys().iterator(), key -> !key.equals(T.key.getAccessor()) && !key.equals(T.value.getAccessor()) && ElementHelper.keyExists(key, keys)),
+ key -> (Property<V>) new Neo4jProperty<>(vertexProperty, key, (V) vertexPropertyNode.getProperty(key)));
+ }
+
+ /*
+ @Override
+ public Set<String> keys() {
+ if (isNode()) {
+ this.vertex.graph().tx().readWrite();
+ final Set<String> keys = new HashSet<>();
+ for (final String key : this.node.getKeys()) {
+ if (!Graph.Hidden.isHidden(key))
+ keys.add(key);
+ }
+ return keys;
+ } else {
+ return Collections.emptySet();
+ }
+ }
+ */
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/Neo4jTrait.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/Neo4jTrait.java b/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/Neo4jTrait.java
new file mode 100644
index 0000000..9bb79ec
--- /dev/null
+++ b/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/Neo4jTrait.java
@@ -0,0 +1,67 @@
+/*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one
+ * * or more contributor license agreements. See the NOTICE file
+ * * distributed with this work for additional information
+ * * regarding copyright ownership. The ASF licenses this file
+ * * to you under the Apache License, Version 2.0 (the
+ * * "License"); you may not use this file except in compliance
+ * * with the License. You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing,
+ * * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * * KIND, either express or implied. See the License for the
+ * * specific language governing permissions and limitations
+ * * under the License.
+ *
+ */
+
+package org.apache.tinkerpop.gremlin.neo4j.structure.trait;
+
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jVertex;
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jVertexProperty;
+import org.apache.tinkerpop.gremlin.structure.Property;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
+import org.neo4j.tinkerpop.api.Neo4jNode;
+import org.neo4j.tinkerpop.api.Neo4jRelationship;
+
+import java.util.Iterator;
+import java.util.function.Predicate;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public interface Neo4jTrait {
+
+ public Predicate<Neo4jNode> getNodePredicate();
+
+ public Predicate<Neo4jRelationship> getRelationshipPredicate();
+
+ public void removeVertex(final Neo4jVertex vertex);
+
+ public <V> VertexProperty<V> getVertexProperty(final Neo4jVertex vertex, final String key);
+
+ public <V> Iterator<VertexProperty<V>> getVertexProperties(final Neo4jVertex vertex, final String... keys);
+
+ public <V> VertexProperty<V> setVertexProperty(final Neo4jVertex vertex, final VertexProperty.Cardinality cardinality, final String key, final V value, final Object... keyValues);
+
+ ////
+
+ public boolean supportsMultiProperties();
+
+ public boolean supportsMetaProperties();
+
+ public VertexProperty.Cardinality getCardinality(final String key);
+
+ public void removeVertexProperty(final Neo4jVertexProperty vertexProperty);
+
+ public <V> Property<V> setProperty(final Neo4jVertexProperty vertexProperty, final String key, final V value);
+
+ public <V> Property<V> getProperty(final Neo4jVertexProperty vertexProperty, final String key);
+
+ public <V> Iterator<Property<V>> getProperties(final Neo4jVertexProperty vertexProperty, final String... keys);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java b/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java
new file mode 100644
index 0000000..c241328
--- /dev/null
+++ b/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/trait/NoMultiNoMetaNeo4jTrait.java
@@ -0,0 +1,134 @@
+/*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one
+ * * or more contributor license agreements. See the NOTICE file
+ * * distributed with this work for additional information
+ * * regarding copyright ownership. The ASF licenses this file
+ * * to you under the Apache License, Version 2.0 (the
+ * * "License"); you may not use this file except in compliance
+ * * with the License. You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing,
+ * * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * * KIND, either express or implied. See the License for the
+ * * specific language governing permissions and limitations
+ * * under the License.
+ *
+ */
+
+package org.apache.tinkerpop.gremlin.neo4j.structure.trait;
+
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jHelper;
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jVertex;
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jVertexProperty;
+import org.apache.tinkerpop.gremlin.structure.Property;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
+import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
+import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
+import org.neo4j.tinkerpop.api.Neo4jDirection;
+import org.neo4j.tinkerpop.api.Neo4jNode;
+import org.neo4j.tinkerpop.api.Neo4jRelationship;
+
+import java.util.Iterator;
+import java.util.function.Predicate;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public class NoMultiNoMetaNeo4jTrait implements Neo4jTrait {
+
+ @Override
+ public Predicate<Neo4jNode> getNodePredicate() {
+ return node -> true;
+ }
+
+ @Override
+ public Predicate<Neo4jRelationship> getRelationshipPredicate() {
+ return relationship -> true;
+ }
+
+ @Override
+ public void removeVertex(final Neo4jVertex vertex) {
+ try {
+ final Neo4jNode node = vertex.getBaseVertex();
+ for (final Neo4jRelationship relationship : node.relationships(Neo4jDirection.BOTH)) {
+ relationship.delete();
+ }
+ node.delete();
+ } catch (final IllegalStateException ignored) {
+ // this one happens if the vertex is still chilling in the tx
+ } catch (final RuntimeException ex) {
+ if (!Neo4jHelper.isNotFound(ex)) throw ex;
+ // this one happens if the vertex is committed
+ }
+ }
+
+ @Override
+ public <V> VertexProperty<V> getVertexProperty(final Neo4jVertex vertex, final String key) {
+ if (Neo4jHelper.keyExistsInNeo4j(vertex.getBaseVertex(), key)) {
+ return new Neo4jVertexProperty<>(vertex, key, (V) vertex.getBaseVertex().getProperty(key));
+ } else
+ return VertexProperty.<V>empty();
+ }
+
+ @Override
+ public <V> Iterator<VertexProperty<V>> getVertexProperties(final Neo4jVertex vertex, final String... keys) {
+ return (Iterator) IteratorUtils.stream(vertex.getBaseVertex().getKeys())
+ .filter(key -> ElementHelper.keyExists(key, keys))
+ .map(key -> new Neo4jVertexProperty<>(vertex, key, (V) vertex.getBaseVertex().getProperty(key))).iterator();
+ }
+
+ @Override
+ public <V> VertexProperty<V> setVertexProperty(final Neo4jVertex vertex, final VertexProperty.Cardinality cardinality, final String key, final V value, final Object... keyValues) {
+ if (cardinality != VertexProperty.Cardinality.single)
+ throw VertexProperty.Exceptions.multiPropertiesNotSupported();
+ if (keyValues.length > 0)
+ throw VertexProperty.Exceptions.metaPropertiesNotSupported();
+ ElementHelper.validateProperty(key, value);
+ try {
+ vertex.getBaseVertex().setProperty(key, value);
+ return new Neo4jVertexProperty<>(vertex, key, value);
+ } catch (final IllegalArgumentException iae) {
+ throw Property.Exceptions.dataTypeOfPropertyValueNotSupported(value);
+ }
+ }
+
+ @Override
+ public VertexProperty.Cardinality getCardinality(final String key) {
+ return VertexProperty.Cardinality.single;
+ }
+
+ @Override
+ public boolean supportsMultiProperties() {
+ return false;
+ }
+
+ @Override
+ public boolean supportsMetaProperties() {
+ return false;
+ }
+
+ @Override
+ public void removeVertexProperty(final Neo4jVertexProperty vertexProperty) {
+ if (Neo4jHelper.keyExistsInNeo4j(((Neo4jVertex) vertexProperty.element()).getBaseVertex(), vertexProperty.key()))
+ ((Neo4jVertex) vertexProperty.element()).getBaseVertex().removeProperty(vertexProperty.key());
+ }
+
+ @Override
+ public <V> Property<V> setProperty(final Neo4jVertexProperty vertexProperty, final String key, final V value) {
+ throw VertexProperty.Exceptions.metaPropertiesNotSupported();
+ }
+
+ @Override
+ public <V> Property<V> getProperty(final Neo4jVertexProperty vertexProperty, final String key) {
+ throw VertexProperty.Exceptions.metaPropertiesNotSupported();
+ }
+
+ @Override
+ public <V> Iterator<Property<V>> getProperties(final Neo4jVertexProperty vertexProperty, final String... keys) {
+ throw VertexProperty.Exceptions.metaPropertiesNotSupported();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/FullNeo4jGraphProvider.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/FullNeo4jGraphProvider.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/FullNeo4jGraphProvider.java
deleted file mode 100644
index cce782c..0000000
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/FullNeo4jGraphProvider.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.neo4j;
-
-import org.apache.tinkerpop.gremlin.LoadGraphWith;
-import org.apache.tinkerpop.gremlin.TestHelper;
-import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph;
-import org.apache.tinkerpop.gremlin.structure.Graph;
-
-import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author Stephen Mallette (http://stephen.genoprime.com)
- */
-public class FullNeo4jGraphProvider extends AbstractNeo4jGraphProvider {
- @Override
- public Map<String, Object> getBaseConfiguration(final String graphName, final Class<?> test, final String testMethodName, final LoadGraphWith.GraphData graphData) {
- return new HashMap<String, Object>() {{
- put(Graph.GRAPH, Neo4jGraph.class.getName());
- String directory = getWorkingDirectory() + File.separator + TestHelper.cleanPathSegment(graphName) + File.separator + cleanParameters(TestHelper.cleanPathSegment(testMethodName));
- put(Neo4jGraph.CONFIG_DIRECTORY, directory);
- put(Neo4jGraph.CONFIG_META_PROPERTIES, true);
- put(Neo4jGraph.CONFIG_MULTI_PROPERTIES, true);
- put(Neo4jGraph.CONFIG_CHECK_ELEMENTS_IN_TRANSACTION, true);
- }};
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/MultiMetaNeo4jGraphProvider.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/MultiMetaNeo4jGraphProvider.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/MultiMetaNeo4jGraphProvider.java
new file mode 100644
index 0000000..a81394f
--- /dev/null
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/MultiMetaNeo4jGraphProvider.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tinkerpop.gremlin.neo4j;
+
+import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.TestHelper;
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Stephen Mallette (http://stephen.genoprime.com)
+ */
+public class MultiMetaNeo4jGraphProvider extends AbstractNeo4jGraphProvider {
+ @Override
+ public Map<String, Object> getBaseConfiguration(final String graphName, final Class<?> test, final String testMethodName, final LoadGraphWith.GraphData graphData) {
+ return new HashMap<String, Object>() {{
+ put(Graph.GRAPH, Neo4jGraph.class.getName());
+ String directory = getWorkingDirectory() + File.separator + TestHelper.cleanPathSegment(graphName) + File.separator + cleanParameters(TestHelper.cleanPathSegment(testMethodName));
+ put(Neo4jGraph.CONFIG_DIRECTORY, directory);
+ put(Neo4jGraph.CONFIG_META_PROPERTIES, true);
+ put(Neo4jGraph.CONFIG_MULTI_PROPERTIES, true);
+ put(Neo4jGraph.CONFIG_CHECK_ELEMENTS_IN_TRANSACTION, true);
+ }};
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/NoMultiNoMetaNeo4jGraphProvider.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/NoMultiNoMetaNeo4jGraphProvider.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/NoMultiNoMetaNeo4jGraphProvider.java
new file mode 100644
index 0000000..0e7c29f
--- /dev/null
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/NoMultiNoMetaNeo4jGraphProvider.java
@@ -0,0 +1,48 @@
+/*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one
+ * * or more contributor license agreements. See the NOTICE file
+ * * distributed with this work for additional information
+ * * regarding copyright ownership. The ASF licenses this file
+ * * to you under the Apache License, Version 2.0 (the
+ * * "License"); you may not use this file except in compliance
+ * * with the License. You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing,
+ * * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * * KIND, either express or implied. See the License for the
+ * * specific language governing permissions and limitations
+ * * under the License.
+ *
+ */
+
+package org.apache.tinkerpop.gremlin.neo4j;
+
+import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.TestHelper;
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public class NoMultiNoMetaNeo4jGraphProvider extends AbstractNeo4jGraphProvider {
+ @Override
+ public Map<String, Object> getBaseConfiguration(final String graphName, final Class<?> test, final String testMethodName, final LoadGraphWith.GraphData graphData) {
+ return new HashMap<String, Object>() {{
+ put(Graph.GRAPH, Neo4jGraph.class.getName());
+ String directory = getWorkingDirectory() + File.separator + TestHelper.cleanPathSegment(graphName) + File.separator + cleanParameters(TestHelper.cleanPathSegment(testMethodName));
+ put(Neo4jGraph.CONFIG_DIRECTORY, directory);
+ put(Neo4jGraph.CONFIG_META_PROPERTIES, false);
+ put(Neo4jGraph.CONFIG_MULTI_PROPERTIES, false);
+ put(Neo4jGraph.CONFIG_CHECK_ELEMENTS_IN_TRANSACTION, true);
+ }};
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/SimpleNeo4jGraphProvider.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/SimpleNeo4jGraphProvider.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/SimpleNeo4jGraphProvider.java
deleted file mode 100644
index 51f75a7..0000000
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/SimpleNeo4jGraphProvider.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- *
- * * Licensed to the Apache Software Foundation (ASF) under one
- * * or more contributor license agreements. See the NOTICE file
- * * distributed with this work for additional information
- * * regarding copyright ownership. The ASF licenses this file
- * * to you under the Apache License, Version 2.0 (the
- * * "License"); you may not use this file except in compliance
- * * with the License. You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing,
- * * software distributed under the License is distributed on an
- * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * * KIND, either express or implied. See the License for the
- * * specific language governing permissions and limitations
- * * under the License.
- *
- */
-
-package org.apache.tinkerpop.gremlin.neo4j;
-
-import org.apache.tinkerpop.gremlin.LoadGraphWith;
-import org.apache.tinkerpop.gremlin.TestHelper;
-import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph;
-import org.apache.tinkerpop.gremlin.structure.Graph;
-
-import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public class SimpleNeo4jGraphProvider extends AbstractNeo4jGraphProvider {
- @Override
- public Map<String, Object> getBaseConfiguration(final String graphName, final Class<?> test, final String testMethodName, final LoadGraphWith.GraphData graphData) {
- return new HashMap<String, Object>() {{
- put(Graph.GRAPH, Neo4jGraph.class.getName());
- String directory = getWorkingDirectory() + File.separator + TestHelper.cleanPathSegment(graphName) + File.separator + cleanParameters(TestHelper.cleanPathSegment(testMethodName));
- put(Neo4jGraph.CONFIG_DIRECTORY, directory);
- put(Neo4jGraph.CONFIG_META_PROPERTIES, false);
- put(Neo4jGraph.CONFIG_MULTI_PROPERTIES, false);
- put(Neo4jGraph.CONFIG_CHECK_ELEMENTS_IN_TRANSACTION, true);
- }};
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/FullNeo4jGraphProcessStandardTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/FullNeo4jGraphProcessStandardTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/FullNeo4jGraphProcessStandardTest.java
deleted file mode 100644
index e9d4921..0000000
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/FullNeo4jGraphProcessStandardTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.neo4j.process;
-
-import org.apache.tinkerpop.gremlin.GraphProviderClass;
-import org.apache.tinkerpop.gremlin.neo4j.FullNeo4jGraphProvider;
-import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph;
-import org.apache.tinkerpop.gremlin.neo4j.structure.full.FullNeo4jGraph;
-import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite;
-import org.junit.runner.RunWith;
-
-
-/**
- * Executes the Standard Gremlin Structure Test Suite using Neo4j.
- *
- * @author Stephen Mallette (http://stephen.genoprime.com)
- */
-@RunWith(ProcessStandardSuite.class)
-@GraphProviderClass(provider = FullNeo4jGraphProvider.class, graph = FullNeo4jGraph.class)
-public class FullNeo4jGraphProcessStandardTest {
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/MultiMetaNeo4jGraphProcessStandardTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/MultiMetaNeo4jGraphProcessStandardTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/MultiMetaNeo4jGraphProcessStandardTest.java
new file mode 100644
index 0000000..62f7b83
--- /dev/null
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/MultiMetaNeo4jGraphProcessStandardTest.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tinkerpop.gremlin.neo4j.process;
+
+import org.apache.tinkerpop.gremlin.GraphProviderClass;
+import org.apache.tinkerpop.gremlin.neo4j.MultiMetaNeo4jGraphProvider;
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph;
+import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite;
+import org.junit.runner.RunWith;
+
+
+/**
+ * Executes the Standard Gremlin Structure Test Suite using Neo4j.
+ *
+ * @author Stephen Mallette (http://stephen.genoprime.com)
+ */
+@RunWith(ProcessStandardSuite.class)
+@GraphProviderClass(provider = MultiMetaNeo4jGraphProvider.class, graph = Neo4jGraph.class)
+public class MultiMetaNeo4jGraphProcessStandardTest {
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/NoMultiNoMetaNeo4jGraphProcessStandardTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/NoMultiNoMetaNeo4jGraphProcessStandardTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/NoMultiNoMetaNeo4jGraphProcessStandardTest.java
new file mode 100644
index 0000000..e961ffe
--- /dev/null
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/NoMultiNoMetaNeo4jGraphProcessStandardTest.java
@@ -0,0 +1,36 @@
+/*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one
+ * * or more contributor license agreements. See the NOTICE file
+ * * distributed with this work for additional information
+ * * regarding copyright ownership. The ASF licenses this file
+ * * to you under the Apache License, Version 2.0 (the
+ * * "License"); you may not use this file except in compliance
+ * * with the License. You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing,
+ * * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * * KIND, either express or implied. See the License for the
+ * * specific language governing permissions and limitations
+ * * under the License.
+ *
+ */
+
+package org.apache.tinkerpop.gremlin.neo4j.process;
+
+import org.apache.tinkerpop.gremlin.GraphProviderClass;
+import org.apache.tinkerpop.gremlin.neo4j.NoMultiNoMetaNeo4jGraphProvider;
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph;
+import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+@RunWith(ProcessStandardSuite.class)
+@GraphProviderClass(provider = NoMultiNoMetaNeo4jGraphProvider.class, graph = Neo4jGraph.class)
+public class NoMultiNoMetaNeo4jGraphProcessStandardTest {
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/SimpleNeo4jGraphProcessStandardTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/SimpleNeo4jGraphProcessStandardTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/SimpleNeo4jGraphProcessStandardTest.java
deleted file mode 100644
index 724a457..0000000
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/SimpleNeo4jGraphProcessStandardTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *
- * * Licensed to the Apache Software Foundation (ASF) under one
- * * or more contributor license agreements. See the NOTICE file
- * * distributed with this work for additional information
- * * regarding copyright ownership. The ASF licenses this file
- * * to you under the Apache License, Version 2.0 (the
- * * "License"); you may not use this file except in compliance
- * * with the License. You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing,
- * * software distributed under the License is distributed on an
- * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * * KIND, either express or implied. See the License for the
- * * specific language governing permissions and limitations
- * * under the License.
- *
- */
-
-package org.apache.tinkerpop.gremlin.neo4j.process;
-
-import org.apache.tinkerpop.gremlin.GraphProviderClass;
-import org.apache.tinkerpop.gremlin.neo4j.SimpleNeo4jGraphProvider;
-import org.apache.tinkerpop.gremlin.neo4j.structure.simple.SimpleNeo4jGraph;
-import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite;
-import org.junit.runner.RunWith;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-@RunWith(ProcessStandardSuite.class)
-@GraphProviderClass(provider = SimpleNeo4jGraphProvider.class, graph = SimpleNeo4jGraph.class)
-public class SimpleNeo4jGraphProcessStandardTest {
-}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/FullNeo4jGraphGroovyProcessStandardTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/FullNeo4jGraphGroovyProcessStandardTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/FullNeo4jGraphGroovyProcessStandardTest.java
deleted file mode 100644
index df17960..0000000
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/FullNeo4jGraphGroovyProcessStandardTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.neo4j.process.groovy;
-
-import org.apache.tinkerpop.gremlin.GraphProviderClass;
-import org.apache.tinkerpop.gremlin.neo4j.FullNeo4jGraphProvider;
-import org.apache.tinkerpop.gremlin.neo4j.structure.full.FullNeo4jGraph;
-import org.apache.tinkerpop.gremlin.process.GroovyProcessStandardSuite;
-import org.junit.runner.RunWith;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-@RunWith(GroovyProcessStandardSuite.class)
-@GraphProviderClass(provider = FullNeo4jGraphProvider.class, graph = FullNeo4jGraph.class)
-public class FullNeo4jGraphGroovyProcessStandardTest {
-}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/MultiMetaNeo4jGraphGroovyProcessStandardTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/MultiMetaNeo4jGraphGroovyProcessStandardTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/MultiMetaNeo4jGraphGroovyProcessStandardTest.java
new file mode 100644
index 0000000..2e22e1c
--- /dev/null
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/MultiMetaNeo4jGraphGroovyProcessStandardTest.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tinkerpop.gremlin.neo4j.process.groovy;
+
+import org.apache.tinkerpop.gremlin.GraphProviderClass;
+import org.apache.tinkerpop.gremlin.neo4j.MultiMetaNeo4jGraphProvider;
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph;
+import org.apache.tinkerpop.gremlin.process.GroovyProcessStandardSuite;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+@RunWith(GroovyProcessStandardSuite.class)
+@GraphProviderClass(provider = MultiMetaNeo4jGraphProvider.class, graph = Neo4jGraph.class)
+public class MultiMetaNeo4jGraphGroovyProcessStandardTest {
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/NoMultiNometaNeo4jGraphGroovyProcessStandardTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/NoMultiNometaNeo4jGraphGroovyProcessStandardTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/NoMultiNometaNeo4jGraphGroovyProcessStandardTest.java
new file mode 100644
index 0000000..3bc5aa1
--- /dev/null
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/NoMultiNometaNeo4jGraphGroovyProcessStandardTest.java
@@ -0,0 +1,36 @@
+/*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one
+ * * or more contributor license agreements. See the NOTICE file
+ * * distributed with this work for additional information
+ * * regarding copyright ownership. The ASF licenses this file
+ * * to you under the Apache License, Version 2.0 (the
+ * * "License"); you may not use this file except in compliance
+ * * with the License. You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing,
+ * * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * * KIND, either express or implied. See the License for the
+ * * specific language governing permissions and limitations
+ * * under the License.
+ *
+ */
+
+package org.apache.tinkerpop.gremlin.neo4j.process.groovy;
+
+import org.apache.tinkerpop.gremlin.GraphProviderClass;
+import org.apache.tinkerpop.gremlin.neo4j.NoMultiNoMetaNeo4jGraphProvider;
+import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph;
+import org.apache.tinkerpop.gremlin.process.GroovyProcessStandardSuite;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+@RunWith(GroovyProcessStandardSuite.class)
+@GraphProviderClass(provider = NoMultiNoMetaNeo4jGraphProvider.class, graph = Neo4jGraph.class)
+public class NoMultiNoMetaNeo4jGraphGroovyProcessStandardTest {
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/SimpleNeo4jGraphGroovyProcessStandardTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/SimpleNeo4jGraphGroovyProcessStandardTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/SimpleNeo4jGraphGroovyProcessStandardTest.java
deleted file mode 100644
index 7e81bc8..0000000
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/process/groovy/SimpleNeo4jGraphGroovyProcessStandardTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *
- * * Licensed to the Apache Software Foundation (ASF) under one
- * * or more contributor license agreements. See the NOTICE file
- * * distributed with this work for additional information
- * * regarding copyright ownership. The ASF licenses this file
- * * to you under the Apache License, Version 2.0 (the
- * * "License"); you may not use this file except in compliance
- * * with the License. You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing,
- * * software distributed under the License is distributed on an
- * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * * KIND, either express or implied. See the License for the
- * * specific language governing permissions and limitations
- * * under the License.
- *
- */
-
-package org.apache.tinkerpop.gremlin.neo4j.process.groovy;
-
-import org.apache.tinkerpop.gremlin.GraphProviderClass;
-import org.apache.tinkerpop.gremlin.neo4j.SimpleNeo4jGraphProvider;
-import org.apache.tinkerpop.gremlin.neo4j.structure.simple.SimpleNeo4jGraph;
-import org.apache.tinkerpop.gremlin.process.GroovyProcessStandardSuite;
-import org.junit.runner.RunWith;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-@RunWith(GroovyProcessStandardSuite.class)
-@GraphProviderClass(provider = SimpleNeo4jGraphProvider.class, graph = SimpleNeo4jGraph.class)
-public class SimpleNeo4jGraphGroovyProcessStandardTest {
-}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/FullNeo4jGraphNativeNeo4jTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/FullNeo4jGraphNativeNeo4jTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/FullNeo4jGraphNativeNeo4jTest.java
deleted file mode 100644
index d0c25a5..0000000
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/FullNeo4jGraphNativeNeo4jTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *
- * * Licensed to the Apache Software Foundation (ASF) under one
- * * or more contributor license agreements. See the NOTICE file
- * * distributed with this work for additional information
- * * regarding copyright ownership. The ASF licenses this file
- * * to you under the Apache License, Version 2.0 (the
- * * "License"); you may not use this file except in compliance
- * * with the License. You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing,
- * * software distributed under the License is distributed on an
- * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * * KIND, either express or implied. See the License for the
- * * specific language governing permissions and limitations
- * * under the License.
- *
- */
-
-package org.apache.tinkerpop.gremlin.neo4j.structure;
-
-import org.apache.tinkerpop.gremlin.GraphProviderClass;
-import org.apache.tinkerpop.gremlin.neo4j.FullNeo4jGraphProvider;
-import org.apache.tinkerpop.gremlin.neo4j.NativeNeo4jSuite;
-import org.apache.tinkerpop.gremlin.neo4j.structure.full.FullNeo4jGraph;
-import org.junit.runner.RunWith;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-@RunWith(NativeNeo4jSuite.class)
-@GraphProviderClass(provider = FullNeo4jGraphProvider.class, graph = FullNeo4jGraph.class)
-public class FullNeo4jGraphNativeNeo4jTest {
-}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/FullNeo4jGraphStructureStandardTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/FullNeo4jGraphStructureStandardTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/FullNeo4jGraphStructureStandardTest.java
deleted file mode 100644
index 4bde085..0000000
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/FullNeo4jGraphStructureStandardTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.neo4j.structure;
-
-import org.apache.tinkerpop.gremlin.GraphProviderClass;
-import org.apache.tinkerpop.gremlin.neo4j.FullNeo4jGraphProvider;
-import org.apache.tinkerpop.gremlin.neo4j.structure.full.FullNeo4jGraph;
-import org.apache.tinkerpop.gremlin.structure.StructureStandardSuite;
-import org.junit.runner.RunWith;
-
-
-/**
- * Executes the Standard Gremlin Structure Test Suite using Neo4j.
- *
- * @author Stephen Mallette (http://stephen.genoprime.com)
- */
-@RunWith(StructureStandardSuite.class)
-@GraphProviderClass(provider = FullNeo4jGraphProvider.class, graph = FullNeo4jGraph.class)
-public class FullNeo4jGraphStructureStandardTest {
-}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/MultiMetaNeo4jGraphNativeNeo4jTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/MultiMetaNeo4jGraphNativeNeo4jTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/MultiMetaNeo4jGraphNativeNeo4jTest.java
new file mode 100644
index 0000000..1015799
--- /dev/null
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/MultiMetaNeo4jGraphNativeNeo4jTest.java
@@ -0,0 +1,35 @@
+/*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one
+ * * or more contributor license agreements. See the NOTICE file
+ * * distributed with this work for additional information
+ * * regarding copyright ownership. The ASF licenses this file
+ * * to you under the Apache License, Version 2.0 (the
+ * * "License"); you may not use this file except in compliance
+ * * with the License. You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing,
+ * * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * * KIND, either express or implied. See the License for the
+ * * specific language governing permissions and limitations
+ * * under the License.
+ *
+ */
+
+package org.apache.tinkerpop.gremlin.neo4j.structure;
+
+import org.apache.tinkerpop.gremlin.GraphProviderClass;
+import org.apache.tinkerpop.gremlin.neo4j.MultiMetaNeo4jGraphProvider;
+import org.apache.tinkerpop.gremlin.neo4j.NativeNeo4jSuite;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+@RunWith(NativeNeo4jSuite.class)
+@GraphProviderClass(provider = MultiMetaNeo4jGraphProvider.class, graph = Neo4jGraph.class)
+public class MultiMetaNeo4jGraphNativeNeo4jTest {
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/MultiMetaNeo4jGraphStructureStandardTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/MultiMetaNeo4jGraphStructureStandardTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/MultiMetaNeo4jGraphStructureStandardTest.java
new file mode 100644
index 0000000..0e56f28
--- /dev/null
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/MultiMetaNeo4jGraphStructureStandardTest.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tinkerpop.gremlin.neo4j.structure;
+
+import org.apache.tinkerpop.gremlin.GraphProviderClass;
+import org.apache.tinkerpop.gremlin.neo4j.MultiMetaNeo4jGraphProvider;
+import org.apache.tinkerpop.gremlin.structure.StructureStandardSuite;
+import org.junit.runner.RunWith;
+
+
+/**
+ * Executes the Standard Gremlin Structure Test Suite using Neo4j.
+ *
+ * @author Stephen Mallette (http://stephen.genoprime.com)
+ */
+@RunWith(StructureStandardSuite.class)
+@GraphProviderClass(provider = MultiMetaNeo4jGraphProvider.class, graph = Neo4jGraph.class)
+public class MultiMetaNeo4jGraphStructureStandardTest {
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/NativeNeo4jStructureTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/NativeNeo4jStructureTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/NativeNeo4jStructureTest.java
index a761e66..4e79e14 100644
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/NativeNeo4jStructureTest.java
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/NativeNeo4jStructureTest.java
@@ -25,7 +25,7 @@ import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
import org.apache.tinkerpop.gremlin.FeatureRequirement;
import org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine;
import org.apache.tinkerpop.gremlin.neo4j.AbstractNeo4jGremlinTest;
-import org.apache.tinkerpop.gremlin.neo4j.structure.full.FullNeo4jVertexProperty;
+import org.apache.tinkerpop.gremlin.neo4j.structure.trait.MultiMetaNeo4jTrait;
import org.apache.tinkerpop.gremlin.process.traversal.P;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
@@ -370,7 +370,7 @@ public class NativeNeo4jStructureTest extends AbstractNeo4jGremlinTest {
assertEquals(a.id(), g.V().has("person", "name", "okram").id().next());
assertEquals(1, g.V().has("person", "name", "okram").count().next().intValue());
assertEquals(34, ((Neo4jVertex) g.V().has("person", "name", "okram").next()).getBaseVertex().getProperty("age"));
- assertEquals(FullNeo4jVertexProperty.VERTEX_PROPERTY_TOKEN, ((Neo4jVertex) g.V().has("person", "name", "okram").next()).getBaseVertex().getProperty("name"));
+ assertEquals(MultiMetaNeo4jTrait.VERTEX_PROPERTY_TOKEN, ((Neo4jVertex) g.V().has("person", "name", "okram").next()).getBaseVertex().getProperty("name"));
///
assertEquals(b.id(), g.V().has("person", "name", "stephen").id().next());
assertEquals(1, g.V().has("person", "name", "stephen").count().next().intValue());
@@ -394,14 +394,14 @@ public class NativeNeo4jStructureTest extends AbstractNeo4jGremlinTest {
assertEquals(d.id(), g.V().has("person", "name", P.within("daniel", "kuppitz")).id().next());
assertEquals(d.id(), g.V().has("person", "name", "kuppitz").id().next());
assertEquals(d.id(), g.V().has("person", "name", "daniel").id().next());
- assertEquals(FullNeo4jVertexProperty.VERTEX_PROPERTY_TOKEN, ((Neo4jVertex) g.V().has("person", "name", "kuppitz").next()).getBaseVertex().getProperty("name"));
+ assertEquals(MultiMetaNeo4jTrait.VERTEX_PROPERTY_TOKEN, ((Neo4jVertex) g.V().has("person", "name", "kuppitz").next()).getBaseVertex().getProperty("name"));
});
d.property(VertexProperty.Cardinality.list, "name", "marko", "acl", "private");
tryCommit(graph, graph -> {
assertEquals(2, g.V().has("person", "name", "marko").count().next().intValue());
assertEquals(1, g.V().has("person", "name", "marko").properties("name").has(T.value, "marko").has("acl", "private").count().next().intValue());
g.V().has("person", "name", "marko").forEachRemaining(v -> {
- assertEquals(FullNeo4jVertexProperty.VERTEX_PROPERTY_TOKEN, ((Neo4jVertex) v).getBaseVertex().getProperty("name"));
+ assertEquals(MultiMetaNeo4jTrait.VERTEX_PROPERTY_TOKEN, ((Neo4jVertex) v).getBaseVertex().getProperty("name"));
});
});
@@ -497,7 +497,7 @@ public class NativeNeo4jStructureTest extends AbstractNeo4jGremlinTest {
assertEquals(2l, this.getGraph().execute("MATCH (a)-[r]->() WHERE id(a) = " + a.id() + " RETURN COUNT(r)", null).next().get("COUNT(r)"));
final AtomicInteger counter = new AtomicInteger(0);
a.getBaseVertex().relationships(Neo4jDirection.OUTGOING).forEach(relationship -> {
- assertEquals(FullNeo4jVertexProperty.VERTEX_PROPERTY_PREFIX.concat("name"), relationship.type());
+ assertEquals(MultiMetaNeo4jTrait.VERTEX_PROPERTY_PREFIX.concat("name"), relationship.type());
counter.incrementAndGet();
});
assertEquals(2, counter.getAndSet(0));
@@ -512,7 +512,7 @@ public class NativeNeo4jStructureTest extends AbstractNeo4jGremlinTest {
assertTrue("marko".equals(node.getProperty(T.value.getAccessor())) || "okram".equals(node.getProperty(T.value.getAccessor())));
assertEquals(0, node.degree(Neo4jDirection.OUTGOING, null));
assertEquals(1, node.degree(Neo4jDirection.INCOMING, null));
- assertEquals(FullNeo4jVertexProperty.VERTEX_PROPERTY_PREFIX.concat("name"), node.relationships(Neo4jDirection.INCOMING).iterator().next().type());
+ assertEquals(MultiMetaNeo4jTrait.VERTEX_PROPERTY_PREFIX.concat("name"), node.relationships(Neo4jDirection.INCOMING).iterator().next().type());
counter.incrementAndGet();
});
assertEquals(2, counter.getAndSet(0));
@@ -566,7 +566,7 @@ public class NativeNeo4jStructureTest extends AbstractNeo4jGremlinTest {
assertEquals(1l, this.getGraph().execute("MATCH (a)-[r]->() WHERE id(a) = " + a.id() + " RETURN COUNT(r)", null).next().get("COUNT(r)"));
final AtomicInteger counter = new AtomicInteger(0);
a.getBaseVertex().relationships(Neo4jDirection.OUTGOING).forEach(relationship -> {
- assertEquals(FullNeo4jVertexProperty.VERTEX_PROPERTY_PREFIX.concat("name"), relationship.type());
+ assertEquals(MultiMetaNeo4jTrait.VERTEX_PROPERTY_PREFIX.concat("name"), relationship.type());
counter.incrementAndGet();
});
assertEquals(1, counter.getAndSet(0));
@@ -582,14 +582,14 @@ public class NativeNeo4jStructureTest extends AbstractNeo4jGremlinTest {
assertEquals("private", node.getProperty("acl"));
assertEquals(0, node.degree(Neo4jDirection.OUTGOING, null));
assertEquals(1, node.degree(Neo4jDirection.INCOMING, null));
- assertEquals(FullNeo4jVertexProperty.VERTEX_PROPERTY_PREFIX.concat("name"), node.relationships(Neo4jDirection.INCOMING).iterator().next().type());
+ assertEquals(MultiMetaNeo4jTrait.VERTEX_PROPERTY_PREFIX.concat("name"), node.relationships(Neo4jDirection.INCOMING).iterator().next().type());
counter.incrementAndGet();
});
assertEquals(1, counter.getAndSet(0));
assertEquals(1, IteratorUtils.count(a.getBaseVertex().getKeys()));
assertTrue(a.getBaseVertex().hasProperty("name"));
- assertEquals(FullNeo4jVertexProperty.VERTEX_PROPERTY_TOKEN, a.getBaseVertex().getProperty("name"));
+ assertEquals(MultiMetaNeo4jTrait.VERTEX_PROPERTY_TOKEN, a.getBaseVertex().getProperty("name"));
assertEquals(2, IteratorUtils.count(b.getBaseVertex().getKeys()));
assertEquals("stephen", b.getBaseVertex().getProperty("name"));
assertEquals("virginia", b.getBaseVertex().getProperty("location"));
@@ -611,7 +611,7 @@ public class NativeNeo4jStructureTest extends AbstractNeo4jGremlinTest {
assertEquals(1l, this.getGraph().execute("MATCH (a)-[r]->() WHERE id(a) = " + a.id() + " RETURN COUNT(r)", null).next().get("COUNT(r)"));
final AtomicInteger counter = new AtomicInteger(0);
a.getBaseVertex().relationships(Neo4jDirection.OUTGOING).forEach(relationship -> {
- assertEquals(FullNeo4jVertexProperty.VERTEX_PROPERTY_PREFIX.concat("name"), relationship.type());
+ assertEquals(MultiMetaNeo4jTrait.VERTEX_PROPERTY_PREFIX.concat("name"), relationship.type());
counter.incrementAndGet();
});
assertEquals(1, counter.getAndSet(0));
@@ -627,14 +627,14 @@ public class NativeNeo4jStructureTest extends AbstractNeo4jGremlinTest {
assertEquals("private", node.getProperty("acl"));
assertEquals(0, node.degree(Neo4jDirection.OUTGOING, null));
assertEquals(1, node.degree(Neo4jDirection.INCOMING, null));
- assertEquals(FullNeo4jVertexProperty.VERTEX_PROPERTY_PREFIX.concat("name"), node.relationships(Neo4jDirection.INCOMING).iterator().next().type());
+ assertEquals(MultiMetaNeo4jTrait.VERTEX_PROPERTY_PREFIX.concat("name"), node.relationships(Neo4jDirection.INCOMING).iterator().next().type());
counter.incrementAndGet();
});
assertEquals(1, counter.getAndSet(0));
assertEquals(1, IteratorUtils.count(a.getBaseVertex().getKeys()));
assertTrue(a.getBaseVertex().hasProperty("name"));
- assertEquals(FullNeo4jVertexProperty.VERTEX_PROPERTY_TOKEN, a.getBaseVertex().getProperty("name"));
+ assertEquals(MultiMetaNeo4jTrait.VERTEX_PROPERTY_TOKEN, a.getBaseVertex().getProperty("name"));
assertEquals(2, IteratorUtils.count(b.getBaseVertex().getKeys()));
assertEquals("stephen", b.getBaseVertex().getProperty("name"));
assertEquals("virginia", b.getBaseVertex().getProperty("location"));
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/NoMultiNoMetaNeo4jGraphNativeNeo4jTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/NoMultiNoMetaNeo4jGraphNativeNeo4jTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/NoMultiNoMetaNeo4jGraphNativeNeo4jTest.java
new file mode 100644
index 0000000..c83651d
--- /dev/null
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/NoMultiNoMetaNeo4jGraphNativeNeo4jTest.java
@@ -0,0 +1,35 @@
+/*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one
+ * * or more contributor license agreements. See the NOTICE file
+ * * distributed with this work for additional information
+ * * regarding copyright ownership. The ASF licenses this file
+ * * to you under the Apache License, Version 2.0 (the
+ * * "License"); you may not use this file except in compliance
+ * * with the License. You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing,
+ * * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * * KIND, either express or implied. See the License for the
+ * * specific language governing permissions and limitations
+ * * under the License.
+ *
+ */
+
+package org.apache.tinkerpop.gremlin.neo4j.structure;
+
+import org.apache.tinkerpop.gremlin.GraphProviderClass;
+import org.apache.tinkerpop.gremlin.neo4j.NativeNeo4jSuite;
+import org.apache.tinkerpop.gremlin.neo4j.NoMultiNoMetaNeo4jGraphProvider;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+@RunWith(NativeNeo4jSuite.class)
+@GraphProviderClass(provider = NoMultiNoMetaNeo4jGraphProvider.class, graph = Neo4jGraph.class)
+public class NoMultiNoMetaNeo4jGraphNativeNeo4jTest {
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/NoMultiNoMetaNeo4jGraphStructureStandardTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/NoMultiNoMetaNeo4jGraphStructureStandardTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/NoMultiNoMetaNeo4jGraphStructureStandardTest.java
new file mode 100644
index 0000000..5de4583
--- /dev/null
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/NoMultiNoMetaNeo4jGraphStructureStandardTest.java
@@ -0,0 +1,35 @@
+/*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one
+ * * or more contributor license agreements. See the NOTICE file
+ * * distributed with this work for additional information
+ * * regarding copyright ownership. The ASF licenses this file
+ * * to you under the Apache License, Version 2.0 (the
+ * * "License"); you may not use this file except in compliance
+ * * with the License. You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing,
+ * * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * * KIND, either express or implied. See the License for the
+ * * specific language governing permissions and limitations
+ * * under the License.
+ *
+ */
+
+package org.apache.tinkerpop.gremlin.neo4j.structure;
+
+import org.apache.tinkerpop.gremlin.GraphProviderClass;
+import org.apache.tinkerpop.gremlin.neo4j.NoMultiNoMetaNeo4jGraphProvider;
+import org.apache.tinkerpop.gremlin.structure.StructureStandardSuite;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+@RunWith(StructureStandardSuite.class)
+@GraphProviderClass(provider = NoMultiNoMetaNeo4jGraphProvider.class, graph = Neo4jGraph.class)
+public class NoMultiNoMetaNeo4jGraphStructureStandardTest {
+}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/SimpleNeo4jGraphNativeNeo4jTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/SimpleNeo4jGraphNativeNeo4jTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/SimpleNeo4jGraphNativeNeo4jTest.java
deleted file mode 100644
index c0caa13..0000000
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/SimpleNeo4jGraphNativeNeo4jTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *
- * * Licensed to the Apache Software Foundation (ASF) under one
- * * or more contributor license agreements. See the NOTICE file
- * * distributed with this work for additional information
- * * regarding copyright ownership. The ASF licenses this file
- * * to you under the Apache License, Version 2.0 (the
- * * "License"); you may not use this file except in compliance
- * * with the License. You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing,
- * * software distributed under the License is distributed on an
- * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * * KIND, either express or implied. See the License for the
- * * specific language governing permissions and limitations
- * * under the License.
- *
- */
-
-package org.apache.tinkerpop.gremlin.neo4j.structure;
-
-import org.apache.tinkerpop.gremlin.GraphProviderClass;
-import org.apache.tinkerpop.gremlin.neo4j.NativeNeo4jSuite;
-import org.apache.tinkerpop.gremlin.neo4j.SimpleNeo4jGraphProvider;
-import org.apache.tinkerpop.gremlin.neo4j.structure.simple.SimpleNeo4jGraph;
-import org.junit.runner.RunWith;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-@RunWith(NativeNeo4jSuite.class)
-@GraphProviderClass(provider = SimpleNeo4jGraphProvider.class, graph = SimpleNeo4jGraph.class)
-public class SimpleNeo4jGraphNativeNeo4jTest {
-}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8876819/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/SimpleNeo4jGraphStructureStandardTest.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/SimpleNeo4jGraphStructureStandardTest.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/SimpleNeo4jGraphStructureStandardTest.java
deleted file mode 100644
index aa43e06..0000000
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/structure/SimpleNeo4jGraphStructureStandardTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *
- * * Licensed to the Apache Software Foundation (ASF) under one
- * * or more contributor license agreements. See the NOTICE file
- * * distributed with this work for additional information
- * * regarding copyright ownership. The ASF licenses this file
- * * to you under the Apache License, Version 2.0 (the
- * * "License"); you may not use this file except in compliance
- * * with the License. You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing,
- * * software distributed under the License is distributed on an
- * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * * KIND, either express or implied. See the License for the
- * * specific language governing permissions and limitations
- * * under the License.
- *
- */
-
-package org.apache.tinkerpop.gremlin.neo4j.structure;
-
-import org.apache.tinkerpop.gremlin.GraphProviderClass;
-import org.apache.tinkerpop.gremlin.neo4j.SimpleNeo4jGraphProvider;
-import org.apache.tinkerpop.gremlin.neo4j.structure.simple.SimpleNeo4jGraph;
-import org.apache.tinkerpop.gremlin.structure.StructureStandardSuite;
-import org.junit.runner.RunWith;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-@RunWith(StructureStandardSuite.class)
-@GraphProviderClass(provider = SimpleNeo4jGraphProvider.class, graph = SimpleNeo4jGraph.class)
-public class SimpleNeo4jGraphStructureStandardTest {
-}