You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by ss...@apache.org on 2014/10/30 11:32:05 UTC

git commit: fix bug introduced in 9ee0cade67ac92c30c11ad773f2e863c60fd1e3d

Repository: marmotta
Updated Branches:
  refs/heads/develop ea7ed4a81 -> 71d5dd167


fix bug introduced in 9ee0cade67ac92c30c11ad773f2e863c60fd1e3d


Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/71d5dd16
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/71d5dd16
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/71d5dd16

Branch: refs/heads/develop
Commit: 71d5dd167598a811458570c690488ebfbcfb6d1a
Parents: ea7ed4a
Author: Sebastian Schaffert <ss...@apache.org>
Authored: Thu Oct 30 11:32:38 2014 +0100
Committer: Sebastian Schaffert <ss...@apache.org>
Committed: Thu Oct 30 11:32:38 2014 +0100

----------------------------------------------------------------------
 .../kiwi/loader/generic/KiWiHandler.java        |  6 ---
 .../marmotta/kiwi/loader/KiWiHandlerTest.java   | 42 +++++++++++++++++---
 .../marmotta/kiwi/loader/demo-duplicates.ttl    |  8 ++++
 3 files changed, 45 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/marmotta/blob/71d5dd16/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java b/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java
index ef338e7..38cb456 100644
--- a/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java
+++ b/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java
@@ -271,16 +271,10 @@ public class KiWiHandler implements RDFHandler {
                 long tripleId = registry.lookupKey(cacheKey);
 
                 if(tripleId >= 0) {
-                    // the triple has already been stored
-
-                    /*
                     // try getting id from registry
                     result.setId(tripleId);
 
                     registry.registerKey(cacheKey, connection.getTransactionId(), result.getId());
-
-                    storeTriple(result);
-                    */
                 } else {
                     // not found in registry, try loading from database
                     result.setId(connection.getTripleId(subject,predicate,object,context));

http://git-wip-us.apache.org/repos/asf/marmotta/blob/71d5dd16/libraries/kiwi/kiwi-loader/src/test/java/org/apache/marmotta/kiwi/loader/KiWiHandlerTest.java
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-loader/src/test/java/org/apache/marmotta/kiwi/loader/KiWiHandlerTest.java b/libraries/kiwi/kiwi-loader/src/test/java/org/apache/marmotta/kiwi/loader/KiWiHandlerTest.java
index bfaadac..1f54a2a 100644
--- a/libraries/kiwi/kiwi-loader/src/test/java/org/apache/marmotta/kiwi/loader/KiWiHandlerTest.java
+++ b/libraries/kiwi/kiwi-loader/src/test/java/org/apache/marmotta/kiwi/loader/KiWiHandlerTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.marmotta.kiwi.loader;
 
+import info.aduna.iteration.Iterations;
 import org.apache.marmotta.kiwi.config.KiWiConfiguration;
 import org.apache.marmotta.kiwi.loader.generic.KiWiHandler;
 import org.apache.marmotta.kiwi.loader.mysql.KiWiMySQLHandler;
@@ -28,6 +29,9 @@ import org.junit.*;
 import org.junit.rules.TestWatcher;
 import org.junit.runner.Description;
 import org.junit.runner.RunWith;
+import org.openrdf.model.Statement;
+import org.openrdf.model.URI;
+import org.openrdf.model.vocabulary.RDF;
 import org.openrdf.repository.Repository;
 import org.openrdf.repository.RepositoryConnection;
 import org.openrdf.repository.RepositoryException;
@@ -39,6 +43,7 @@ import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
 import java.sql.SQLException;
+import java.util.List;
 
 /**
  * Add file description here!
@@ -89,18 +94,45 @@ public class KiWiHandlerTest {
 
     @Test
     public void testImportNoCheck() throws Exception {
-        testImport(new KiWiLoaderConfiguration());
+        testImport(new KiWiLoaderConfiguration(),"demo-data.foaf", RDFFormat.RDFXML);
     }
 
     @Test
     public void testImportExistanceCheck() throws Exception {
         KiWiLoaderConfiguration cfg = new KiWiLoaderConfiguration();
         cfg.setStatementExistanceCheck(true);
-        testImport(cfg);
+        testImport(cfg, "demo-duplicates.ttl", RDFFormat.TURTLE);
+
+        // check for duplicates
+        URI R1 = repository.getValueFactory().createURI("http://localhost:8080/R1");
+        URI R2 = repository.getValueFactory().createURI("http://localhost:8080/R2");
+        URI T1 = repository.getValueFactory().createURI("http://localhost:8080/T1");
+
+        try {
+            RepositoryConnection con = repository.getConnection();
+            try {
+                con.begin();
+
+                List<Statement> r1l = Iterations.asList(con.getStatements(R1, RDF.TYPE, T1, true));
+                Assert.assertEquals(1, r1l.size());
+
+                List<Statement> r2l = Iterations.asList(con.getStatements(R2, null, null, true));
+                Assert.assertEquals(1, r2l.size());
+
+                con.commit();
+            } catch(RepositoryException ex) {
+                con.rollback();
+            } finally {
+                con.close();
+            }
+        } catch(RepositoryException ex) {
+            ex.printStackTrace(); // TODO: handle error
+        }
+
     }
 
 
-    private void testImport(KiWiLoaderConfiguration c) throws RDFParseException, IOException, RDFHandlerException {
+    private void testImport(KiWiLoaderConfiguration c, String file, RDFFormat fmt) throws RDFParseException, IOException, RDFHandlerException {
         KiWiHandler handler;
         if(store.getPersistence().getDialect() instanceof PostgreSQLDialect) {
             handler = new KiWiPostgresHandler(store, c);
@@ -113,9 +145,9 @@ public class KiWiHandlerTest {
         try {
             // bulk import
             long start = System.currentTimeMillis();
-            RDFParser parser = Rio.createParser(RDFFormat.RDFXML);
+            RDFParser parser = Rio.createParser(fmt);
             parser.setRDFHandler(handler);
-            parser.parse(this.getClass().getResourceAsStream("demo-data.foaf"),"");
+            parser.parse(this.getClass().getResourceAsStream(file),"");
 
             logger.info("bulk import in {} ms", System.currentTimeMillis() - start);
 

http://git-wip-us.apache.org/repos/asf/marmotta/blob/71d5dd16/libraries/kiwi/kiwi-loader/src/test/resources/org/apache/marmotta/kiwi/loader/demo-duplicates.ttl
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-loader/src/test/resources/org/apache/marmotta/kiwi/loader/demo-duplicates.ttl b/libraries/kiwi/kiwi-loader/src/test/resources/org/apache/marmotta/kiwi/loader/demo-duplicates.ttl
new file mode 100644
index 0000000..f531741
--- /dev/null
+++ b/libraries/kiwi/kiwi-loader/src/test/resources/org/apache/marmotta/kiwi/loader/demo-duplicates.ttl
@@ -0,0 +1,8 @@
+@prefix ns: <http://localhost:8080/> .
+
+ns:R1 a ns:T1.
+ns:R1 a ns:T1.
+ns:R1 a ns:T1.
+
+ns:R2 ns:P "V".
+ns:R2 ns:P "V".