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/10/04 01:17:48 UTC
[3/4] incubator-commonsrdf git commit: updated tests
updated tests
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/24a77f33
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/24a77f33
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/24a77f33
Branch: refs/heads/rdf4j
Commit: 24a77f3390b3a8e3e8ac387ba32355ef77f3aadf
Parents: f9c298a
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Tue Oct 4 01:40:49 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Tue Oct 4 01:40:49 2016 +0100
----------------------------------------------------------------------
.../commons/rdf/rdf4j/MemoryGraphTest.java | 52 +++++++++--
.../commons/rdf/rdf4j/NativeStoreGraphTest.java | 93 ++++++++++++++++----
2 files changed, 124 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/24a77f33/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 60b15d6..3d99968 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
@@ -18,6 +18,12 @@
package org.apache.commons.rdf.rdf4j;
import org.apache.commons.rdf.api.AbstractGraphTest;
+import org.apache.commons.rdf.api.BlankNodeOrIRI;
+import org.apache.commons.rdf.api.Dataset;
+import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.Literal;
+import org.apache.commons.rdf.api.Quad;
+import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.api.RDFTermFactory;
import org.eclipse.rdf4j.repository.Repository;
import org.eclipse.rdf4j.repository.sail.SailRepository;
@@ -27,17 +33,51 @@ import org.eclipse.rdf4j.sail.memory.model.MemValueFactory;
public class MemoryGraphTest extends AbstractGraphTest {
- public static final class MemoryStoreFactory extends RDF4JTermFactory {
- MemoryStoreFactory() {
- super(new MemValueFactory());
+ public static final class MemoryStoreFactory implements RDFTermFactory {
+
+ RDF4JTermFactory rdf4jFactory = new RDF4JTermFactory(new MemValueFactory());
+
+ public RDF4JBlankNode createBlankNode() {
+ return rdf4jFactory.createBlankNode();
+ }
+
+ public RDF4JBlankNode createBlankNode(String name) {
+ return rdf4jFactory.createBlankNode(name);
+ }
+
+ public Dataset createDataset() {
+ return rdf4jFactory.createDataset();
+ }
+
+ public RDF4JIRI createIRI(String iri) throws IllegalArgumentException, UnsupportedOperationException {
+ return rdf4jFactory.createIRI(iri);
+ }
+
+ public RDF4JLiteral createLiteral(String lexicalForm) {
+ return rdf4jFactory.createLiteral(lexicalForm);
+ }
+
+ public Literal createLiteral(String lexicalForm, IRI dataType) {
+ return rdf4jFactory.createLiteral(lexicalForm, dataType);
+ }
+
+ public Literal createLiteral(String lexicalForm, String languageTag) {
+ return rdf4jFactory.createLiteral(lexicalForm, languageTag);
+ }
+
+ public RDF4JTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ return rdf4jFactory.createTriple(subject, predicate, object);
+ }
+
+ public Quad createQuad(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ return rdf4jFactory.createQuad(graphName, subject, predicate, object);
}
- @Override
- public RDF4JGraph createGraph() throws UnsupportedOperationException {
+ public RDF4JGraph createGraph() {
Sail sail = new MemoryStore();
Repository repository = new SailRepository(sail);
repository.initialize();
- return asRDFTermGraph(repository);
+ return rdf4jFactory.asRDFTermGraph(repository);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/24a77f33/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java
----------------------------------------------------------------------
diff --git a/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java b/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java
index 1042f26..ad148ed 100644
--- a/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java
+++ b/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/NativeStoreGraphTest.java
@@ -18,49 +18,112 @@
package org.apache.commons.rdf.rdf4j;
import java.io.IOException;
+import java.nio.file.FileVisitResult;
+import java.nio.file.FileVisitor;
import java.nio.file.Files;
import java.nio.file.Path;
+import java.nio.file.SimpleFileVisitor;
+import java.nio.file.attribute.BasicFileAttributes;
+import java.util.Collections;
+import java.util.Set;
import org.apache.commons.rdf.api.AbstractGraphTest;
+import org.apache.commons.rdf.api.BlankNodeOrIRI;
+import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.Literal;
+import org.apache.commons.rdf.api.RDFTerm;
import org.apache.commons.rdf.api.RDFTermFactory;
-import org.eclipse.rdf4j.model.ValueFactory;
-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.model.MemValueFactory;
import org.eclipse.rdf4j.sail.nativerdf.NativeStore;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
public class NativeStoreGraphTest extends AbstractGraphTest {
- public static final class NativeStoreFactory extends RDF4JTermFactory {
- NativeStoreFactory() {
- super(new MemValueFactory());
- }
+ public final class NativeStoreFactory implements RDFTermFactory {
+
+ RDF4JTermFactory rdf4jFactory = new RDF4JTermFactory(repository.getValueFactory());
+
@Override
public RDF4JGraph createGraph() {
- return asRDFTermGraph(createRepository());
+ // We re-use the repository connection, but use a different context every time
+ Set<RDF4JBlankNode> context = Collections.singleton(rdf4jFactory.createBlankNode());
+ return rdf4jFactory.asRDFTermGraph(repository, context);
+ }
+
+ // Delegate methods
+ public RDF4JBlankNode createBlankNode() {
+ return rdf4jFactory.createBlankNode();
+ }
+ public RDF4JBlankNode createBlankNode(String name) {
+ return rdf4jFactory.createBlankNode(name);
+ }
+ public RDF4JIRI createIRI(String iri) throws IllegalArgumentException, UnsupportedOperationException {
+ return rdf4jFactory.createIRI(iri);
+ }
+ public RDF4JLiteral createLiteral(String lexicalForm) {
+ return rdf4jFactory.createLiteral(lexicalForm);
+ }
+ public Literal createLiteral(String lexicalForm, IRI dataType) {
+ return rdf4jFactory.createLiteral(lexicalForm, dataType);
+ }
+ public Literal createLiteral(String lexicalForm, String languageTag) {
+ return rdf4jFactory.createLiteral(lexicalForm, languageTag);
+ }
+ public RDF4JTriple createTriple(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) {
+ return rdf4jFactory.createTriple(subject, predicate, object);
}
}
- public static Repository createRepository() {
- Path tempDir;
+ private static SailRepository repository;
+ private static Path tempDir;
+
+ @BeforeClass
+ public static void createRepository() {
try {
tempDir = Files.createTempDirectory("test-commonsrdf-rdf4j");
} catch (IOException e) {
throw new RuntimeException(e);
}
Sail sail = new NativeStore(tempDir.toFile());
- SailRepository repository = new SailRepository(sail);
+ repository = new SailRepository(sail);
repository.initialize();
- return repository;
+ }
+
+ @AfterClass
+ public static void shutdownAndDelete() throws IOException {
+ // must shutdown before we delete
+ if (repository != null) {
+ System.out.println("Shutting down rdf4j repository " + repository);
+ repository.shutDown();
+ System.out.println("rdf4j repository shut down.");
+ }
+ if (tempDir != null) {
+ deleteAll(tempDir);
+ }
}
+ private static void deleteAll(Path dir) throws IOException {
+ Files.walkFileTree(dir, new SimpleFileVisitor<Path>(){
+ @Override
+ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
+ Files.delete(file);
+ return FileVisitResult.CONTINUE;
+ }
+ @Override
+ public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
+ FileVisitResult r = super.postVisitDirectory(dir, exc);
+ Files.delete(dir);
+ return r;
+ }
+ });
+ }
+
@Override
public RDFTermFactory createFactory() {
- // FIXME: This valueFactory will be backed by the wrong temporary folder!
- ValueFactory valueFactory = createRepository().getValueFactory();
- return new RDF4JTermFactory(valueFactory);
+ return new NativeStoreFactory();
}
}