You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commonsrdf.apache.org by st...@apache.org on 2016/06/03 13:56:32 UTC
[2/3] incubator-commonsrdf git commit: Don't close the stream()
connection too early!
Don't close the stream() connection too early!
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/1b3924cf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/1b3924cf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/1b3924cf
Branch: refs/heads/rdf4j
Commit: 1b3924cf8357a50a4b5b0b327980d0b3a4c57444
Parents: b03ee87
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jun 3 14:42:56 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jun 3 14:42:56 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/api/AbstractGraphTest.java | 3 +-
.../rdf/rdf4j/impl/RepositoryGraphImpl.java | 42 +++++++++++---------
.../commons/rdf/rdf4j/MemoryGraphTest.java | 20 +++++-----
3 files changed, 35 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1b3924cf/api/src/test/java/org/apache/commons/rdf/api/AbstractGraphTest.java
----------------------------------------------------------------------
diff --git a/api/src/test/java/org/apache/commons/rdf/api/AbstractGraphTest.java b/api/src/test/java/org/apache/commons/rdf/api/AbstractGraphTest.java
index 67191de..e478225 100644
--- a/api/src/test/java/org/apache/commons/rdf/api/AbstractGraphTest.java
+++ b/api/src/test/java/org/apache/commons/rdf/api/AbstractGraphTest.java
@@ -119,7 +119,7 @@ public abstract class AbstractGraphTest {
graph.add(bnode1, name, secretClubName);
graph.add(bnode2, name, companyName);
}
- }
+ }
}
@@ -247,7 +247,6 @@ public abstract class AbstractGraphTest {
@Test
public void getTriples() throws Exception {
-
long tripleCount = graph.stream().count();
assertTrue(tripleCount > 0);
assertTrue(graph.stream().allMatch(t -> graph.contains(t)));
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1b3924cf/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/RepositoryGraphImpl.java
----------------------------------------------------------------------
diff --git a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/RepositoryGraphImpl.java b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/RepositoryGraphImpl.java
index 50ee2ee..837878d 100644
--- a/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/RepositoryGraphImpl.java
+++ b/rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/RepositoryGraphImpl.java
@@ -34,27 +34,28 @@ public class RepositoryGraphImpl implements Graph, RDF4JGraph {
public RepositoryGraphImpl(Repository repository, boolean includeInferred) {
this.repository = repository;
this.includeInferred = includeInferred;
- if (! repository.isInitialized()) {
+ if (!repository.isInitialized()) {
repository.initialize();
shouldWeShutdown = true;
}
- rdf4jTermFactory = new RDF4JTermFactory(repository.getValueFactory());
+ rdf4jTermFactory = new RDF4JTermFactory(repository.getValueFactory());
}
-
@Override
public void close() throws Exception {
- if (shouldWeShutdown) {
+ if (shouldWeShutdown) {
repository.shutDown();
}
- // else: repository was initialized outside, so we should not shut it down
+ // else: repository was initialized outside, so we should not shut it
+ // down
}
@Override
public void add(Triple triple) {
Statement statement = rdf4jTermFactory.asStatement(triple);
- try (RepositoryConnection conn = getRepositoryConnection()) {
+ try (RepositoryConnection conn = getRepositoryConnection()) {
conn.add(statement);
+ conn.commit();
}
}
@@ -65,14 +66,15 @@ public class RepositoryGraphImpl implements Graph, RDF4JGraph {
Value obj = rdf4jTermFactory.asValue(object);
try (RepositoryConnection conn = getRepositoryConnection()) {
conn.add(subj, pred, obj);
+ conn.commit();
}
}
@Override
public boolean contains(Triple triple) {
Statement statement = rdf4jTermFactory.asStatement(triple);
- try (RepositoryConnection conn = getRepositoryConnection()) {
- return conn.hasStatement(statement, includeInferred );
+ try (RepositoryConnection conn = getRepositoryConnection()) {
+ return conn.hasStatement(statement, includeInferred);
}
}
@@ -89,8 +91,9 @@ public class RepositoryGraphImpl implements Graph, RDF4JGraph {
@Override
public void remove(Triple triple) {
Statement statement = rdf4jTermFactory.asStatement(triple);
- try (RepositoryConnection conn = getRepositoryConnection()) {
+ try (RepositoryConnection conn = getRepositoryConnection()) {
conn.remove(statement);
+ conn.commit();
}
}
@@ -101,6 +104,7 @@ public class RepositoryGraphImpl implements Graph, RDF4JGraph {
Value obj = rdf4jTermFactory.asValue(object);
try (RepositoryConnection conn = getRepositoryConnection()) {
conn.remove(subj, pred, obj);
+ conn.commit();
}
}
@@ -108,16 +112,18 @@ public class RepositoryGraphImpl implements Graph, RDF4JGraph {
public void clear() {
try (RepositoryConnection conn = getRepositoryConnection()) {
conn.clear();
+ conn.commit();
}
}
@Override
public long size() {
try (RepositoryConnection conn = getRepositoryConnection()) {
- // FIXME: The below might contain duplicate statements across multiple contexts
+ // FIXME: The below might contain duplicate statements across
+ // multiple contexts
return conn.size();
}
-
+
}
@Override
@@ -130,11 +136,11 @@ public class RepositoryGraphImpl implements Graph, RDF4JGraph {
Resource subj = (Resource) rdf4jTermFactory.asValue(subject);
org.eclipse.rdf4j.model.IRI pred = (org.eclipse.rdf4j.model.IRI) rdf4jTermFactory.asValue(predicate);
Value obj = rdf4jTermFactory.asValue(object);
- try (RepositoryConnection conn = getRepositoryConnection()) {
- // FIXME: Will the above close too early? (e.g. when returning iterator)
- RepositoryResult<Statement> statements = conn.getStatements(subj, pred, obj);
- return Iterations.stream(statements).map(rdf4jTermFactory::asTriple);
- }
+ RepositoryConnection conn = getRepositoryConnection();
+ // FIXME: Is it OK that we don't close the connection?
+ RepositoryResult<Statement> statements = conn.getStatements(subj, pred, obj);
+ return Iterations.stream(statements).map(rdf4jTermFactory::asTriple);
+
}
private RepositoryConnection getRepositoryConnection() {
@@ -148,6 +154,6 @@ public class RepositoryGraphImpl implements Graph, RDF4JGraph {
@Override
public Optional<Model> asModel() {
return Optional.empty();
- }
-
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1b3924cf/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/MemoryGraphTest.java
----------------------------------------------------------------------
diff --git a/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/MemoryGraphTest.java b/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/MemoryGraphTest.java
index 4ceb9fe..059b486 100644
--- a/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/MemoryGraphTest.java
+++ b/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/MemoryGraphTest.java
@@ -19,6 +19,10 @@ package org.apache.commons.rdf.rdf4j;
import org.apache.commons.rdf.api.AbstractGraphTest;
import org.apache.commons.rdf.api.RDFTermFactory;
+import org.eclipse.rdf4j.repository.Repository;
+import org.eclipse.rdf4j.repository.sail.SailRepository;
+import org.eclipse.rdf4j.sail.Sail;
+import org.eclipse.rdf4j.sail.memory.MemoryStore;
import org.eclipse.rdf4j.sail.memory.model.MemValueFactory;
public class MemoryGraphTest extends AbstractGraphTest {
@@ -28,16 +32,12 @@ public class MemoryGraphTest extends AbstractGraphTest {
super(new MemValueFactory());
}
-// @Override
-// public Graph createGraph() throws UnsupportedOperationException {
-// MemoryStore x = new MemoryStore();
-// x.initialize();
-// NotifyingSailConnection c = x.getConnection();
-// // FIXME: This transaction does not seem to survive for long enough
-// c.begin();
-// SailModel model = new SailModel(x.getConnection(), false);
-// return asRDFTermGraph(model);
-// }
+ @Override
+ public RDF4JGraph createGraph() throws UnsupportedOperationException {
+ Sail sail = new MemoryStore();
+ Repository repository = new SailRepository(sail);
+ return asRDFTermGraph(repository);
+ }
}
@Override