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/06 18:54:32 UTC

git commit: add option to KiWi handler to ignore namespaces on import

Repository: marmotta
Updated Branches:
  refs/heads/develop cf7149064 -> b32dd5d7f


add option to KiWi handler to ignore namespaces on import


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

Branch: refs/heads/develop
Commit: b32dd5d7f7dd885feef19cf0afb85f1e369355bf
Parents: cf71490
Author: Sebastian Schaffert <ss...@apache.org>
Authored: Mon Oct 6 18:54:59 2014 +0200
Committer: Sebastian Schaffert <ss...@apache.org>
Committed: Mon Oct 6 18:54:59 2014 +0200

----------------------------------------------------------------------
 .../kiwi/loader/KiWiLoaderConfiguration.java      | 10 ++++++++++
 .../marmotta/kiwi/loader/generic/KiWiHandler.java | 18 ++++++++++++++----
 2 files changed, 24 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/marmotta/blob/b32dd5d7/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/KiWiLoaderConfiguration.java
----------------------------------------------------------------------
diff --git a/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/KiWiLoaderConfiguration.java b/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/KiWiLoaderConfiguration.java
index e3a9b64..ac1fdd1 100644
--- a/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/KiWiLoaderConfiguration.java
+++ b/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/KiWiLoaderConfiguration.java
@@ -35,6 +35,8 @@ public class KiWiLoaderConfiguration {
     public static final String LOADER_DROP_INDEXES = "loader.dropIndexes";
     public static final String LOADER_STATISTICS_ENABLED = "loader.statistics.enabled";
     public static final String LOADER_STATISTICS_GRAPH = "loader.statistics.graph";
+    public static final String IGNORE_NAMESPACES = "loader.namespaces.ignore";
+
 
     /**
      * the size of a batch insert into the database; only when this number of statements has been processed will
@@ -111,5 +113,13 @@ public class KiWiLoaderConfiguration {
         config.setProperty(LOADER_DROP_INDEXES,v);
     }
 
+    public boolean isIgnoreNamespaces() {
+        return config.getBoolean(IGNORE_NAMESPACES, false);
+    }
+
+    public void setIgnoreNamespaces(boolean v) {
+        config.setProperty(IGNORE_NAMESPACES,v);
+    }
+
 
 }

http://git-wip-us.apache.org/repos/asf/marmotta/blob/b32dd5d7/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 176b85e..3bf9728 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
@@ -223,10 +223,20 @@ public class KiWiHandler implements RDFHandler {
      */
     @Override
     public void handleNamespace(String prefix, String uri) throws RDFHandlerException {
-        try {
-            connection.storeNamespace(new KiWiNamespace(prefix,uri));
-        } catch (SQLException e) {
-            throw new RDFHandlerException(e);
+        if(!config.isIgnoreNamespaces()) {
+            try {
+                KiWiNamespace result = connection.loadNamespaceByPrefix(prefix);
+                if(result != null) {
+                    if(!result.getUri().equals(uri)) {
+                        connection.deleteNamespace(result);
+                        connection.storeNamespace(new KiWiNamespace(prefix,uri));
+                    }
+                } else {
+                    connection.storeNamespace(new KiWiNamespace(prefix,uri));
+                }
+            } catch (SQLException e) {
+                throw new RDFHandlerException(e);
+            }
         }
     }