You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by ka...@apache.org on 2016/05/16 03:53:44 UTC
[09/42] metamodel git commit: METAMODEL-231: Fixed
METAMODEL-231: Fixed
Fixes #88
Project: http://git-wip-us.apache.org/repos/asf/metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/metamodel/commit/4f4cefdb
Tree: http://git-wip-us.apache.org/repos/asf/metamodel/tree/4f4cefdb
Diff: http://git-wip-us.apache.org/repos/asf/metamodel/diff/4f4cefdb
Branch: refs/heads/5.x
Commit: 4f4cefdbbe890291def12107b1b20ca6a5b96141
Parents: 63262e9
Author: Tomasz Guzialek <to...@guzialek.info>
Authored: Sat Jan 30 12:31:44 2016 +0100
Committer: Kasper S�rensen <i....@gmail.com>
Committed: Sat Jan 30 12:31:44 2016 +0100
----------------------------------------------------------------------
CHANGES.md | 1 +
.../java/org/apache/metamodel/neo4j/Neo4jDataContext.java | 4 +++-
.../org/apache/metamodel/neo4j/Neo4jDataContextTest.java | 10 ++++++++++
3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/4f4cefdb/CHANGES.md
----------------------------------------------------------------------
diff --git a/CHANGES.md b/CHANGES.md
index 773a57d..13f1694 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -2,6 +2,7 @@
* [METAMODEL-227] - Fix for respecting CSV escape character also when no quote character is set.
* [METAMODEL-183] - MongoDB module split into three: common, Mongo2 and Mongo3 to allow use of either old or new MongoDB API.
+ * [METAMODEL-231] - Fixed a bug causing the Neo4j to represent the same table multiple times within a schema.
### Apache MetaModel 4.5.0
http://git-wip-us.apache.org/repos/asf/metamodel/blob/4f4cefdb/neo4j/src/main/java/org/apache/metamodel/neo4j/Neo4jDataContext.java
----------------------------------------------------------------------
diff --git a/neo4j/src/main/java/org/apache/metamodel/neo4j/Neo4jDataContext.java b/neo4j/src/main/java/org/apache/metamodel/neo4j/Neo4jDataContext.java
index 568ad71..cb0b2ac 100644
--- a/neo4j/src/main/java/org/apache/metamodel/neo4j/Neo4jDataContext.java
+++ b/neo4j/src/main/java/org/apache/metamodel/neo4j/Neo4jDataContext.java
@@ -19,7 +19,9 @@
package org.apache.metamodel.neo4j;
import java.util.ArrayList;
+import java.util.LinkedHashSet;
import java.util.List;
+import java.util.Set;
import org.apache.http.HttpHost;
import org.apache.http.client.methods.HttpGet;
@@ -170,7 +172,7 @@ public class Neo4jDataContext extends QueryPostprocessDataContext implements Dat
}
}
- List<String> relationshipPropertiesPerLabel = new ArrayList<String>();
+ Set<String> relationshipPropertiesPerLabel = new LinkedHashSet<String>();
for (JSONObject node : nodesPerLabel) {
Integer nodeId = (Integer) node.getJSONObject("metadata").get("id");
List<JSONObject> relationshipsPerNode = getOutgoingRelationshipsPerNode(nodeId);
http://git-wip-us.apache.org/repos/asf/metamodel/blob/4f4cefdb/neo4j/src/test/java/org/apache/metamodel/neo4j/Neo4jDataContextTest.java
----------------------------------------------------------------------
diff --git a/neo4j/src/test/java/org/apache/metamodel/neo4j/Neo4jDataContextTest.java b/neo4j/src/test/java/org/apache/metamodel/neo4j/Neo4jDataContextTest.java
index d4e3774..1246ce2 100644
--- a/neo4j/src/test/java/org/apache/metamodel/neo4j/Neo4jDataContextTest.java
+++ b/neo4j/src/test/java/org/apache/metamodel/neo4j/Neo4jDataContextTest.java
@@ -100,12 +100,22 @@ public class Neo4jDataContextTest extends Neo4jTestCase {
requestWrapper.executeCypherQuery("CREATE (n:JUnitPerson { name: 'Tomasz', age: 26})");
requestWrapper.executeCypherQuery("CREATE (n:JUnitPerson { name: 'Philomeena', age: 18})");
requestWrapper.executeCypherQuery("CREATE (n:JUnitBook { title: 'Introduction to algorithms'})");
+ requestWrapper.executeCypherQuery("CREATE (n:JUnitBook { title: 'Rich Dad Poor Dad'})");
requestWrapper.executeCypherQuery("MATCH (a:JUnitPerson),(b:JUnitBook)"
+ "WHERE a.name = 'Tomasz' AND b.title = 'Introduction to algorithms'"
+ "CREATE (a)-[r:HAS_READ { rating : 5 }]->(b)");
requestWrapper.executeCypherQuery("MATCH (a:JUnitPerson),(b:JUnitBook)"
+ "WHERE a.name = 'Philomeena' AND b.title = 'Introduction to algorithms'"
+ "CREATE (a)-[r:HAS_BROWSED]->(b)");
+ requestWrapper.executeCypherQuery("MATCH (a:JUnitPerson),(b:JUnitBook)"
+ + "WHERE a.name = 'Philomeena' AND b.title = 'Introduction to algorithms'"
+ + "CREATE (a)-[r:HAS_BROWSED]->(b)");
+ requestWrapper.executeCypherQuery("MATCH (a:JUnitPerson),(b:JUnitBook)"
+ + "WHERE a.name = 'Tomasz' AND b.title = 'Rich Dad Poor Dad'"
+ + "CREATE (a)-[r:HAS_READ { rating : 4 }]->(b)");
+ requestWrapper.executeCypherQuery("MATCH (a:JUnitPerson),(b:JUnitBook)"
+ + "WHERE a.name = 'Philomeena' AND b.title = 'Rich Dad Poor Dad'"
+ + "CREATE (a)-[r:HAS_READ { rating : 2 }]->(b)");
Neo4jDataContext strategy = new Neo4jDataContext(getHostname(), getPort(), getUsername(), getPassword());
Schema schema = strategy.getSchemaByName(strategy.getDefaultSchemaName());