You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by ci...@apache.org on 2011/04/07 14:12:10 UTC

svn commit: r1089841 - in /incubator/stanbol/trunk/ontologymanager/store: api/src/main/java/org/apache/stanbol/ontologymanager/store/api/PersistenceStore.java jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/JenaPersistenceStore.java

Author: cihan
Date: Thu Apr  7 12:12:10 2011
New Revision: 1089841

URL: http://svn.apache.org/viewvc?rev=1089841&view=rev
Log:
STANBOL-154: Add support for InputStream and URL for loading ontologies.

Modified:
    incubator/stanbol/trunk/ontologymanager/store/api/src/main/java/org/apache/stanbol/ontologymanager/store/api/PersistenceStore.java
    incubator/stanbol/trunk/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/JenaPersistenceStore.java

Modified: incubator/stanbol/trunk/ontologymanager/store/api/src/main/java/org/apache/stanbol/ontologymanager/store/api/PersistenceStore.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/store/api/src/main/java/org/apache/stanbol/ontologymanager/store/api/PersistenceStore.java?rev=1089841&r1=1089840&r2=1089841&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/store/api/src/main/java/org/apache/stanbol/ontologymanager/store/api/PersistenceStore.java (original)
+++ incubator/stanbol/trunk/ontologymanager/store/api/src/main/java/org/apache/stanbol/ontologymanager/store/api/PersistenceStore.java Thu Apr  7 12:12:10 2011
@@ -1,5 +1,7 @@
 package org.apache.stanbol.ontologymanager.store.api;
 
+import java.io.InputStream;
+import java.net.URL;
 import java.util.List;
 
 import org.apache.stanbol.ontologymanager.store.model.AdministeredOntologies;
@@ -43,6 +45,42 @@ public interface PersistenceStore {
 	 */
     OntologyMetaInformation saveOntology(String ontologyContent,
             String ontologyURI, String encoding) throws Exception;
+    
+    /**
+     * Interface method for registering an ontology to the persistence store
+     * 
+     * @param ontologyContent
+     *            the input stream of the ontology serialization
+     * @param ontologyURI
+     *            the base URI to be used for the ontology
+     * @param encoding
+     *            the encoding of ontologyContent (e.g. UTF-8), important: not
+     *            to be mixed up with the output style of an ontology (i.e.
+     *            RDF/XML, OWL, etc.)
+     * @return OntologyMetaInformation: the XSD element contains the "URI" and
+     *         the "description" of the ontology
+     * @throws Exception
+     */
+    OntologyMetaInformation saveOntology(InputStream ontologyContent,
+            String ontologyURI, String encoding) throws Exception;
+    
+    /**
+     * Interface method for registering an ontology to the persistence store
+     * 
+     * @param ontologyContent
+     *            the URL of the ontology
+     * @param ontologyURI
+     *            the base URI to be used for the ontology
+     * @param encoding
+     *            the encoding of ontologyContent (e.g. UTF-8), important: not
+     *            to be mixed up with the output style of an ontology (i.e.
+     *            RDF/XML, OWL, etc.)
+     * @return OntologyMetaInformation: the XSD element contains the "URI" and
+     *         the "description" of the ontology
+     * @throws Exception
+     */
+    OntologyMetaInformation saveOntology(URL ontologyContent,
+            String ontologyURI, String encoding) throws Exception;
 
 	/**
 	 * Interface method to retrieve a particular ontology

Modified: incubator/stanbol/trunk/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/JenaPersistenceStore.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/JenaPersistenceStore.java?rev=1089841&r1=1089840&r2=1089841&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/JenaPersistenceStore.java (original)
+++ incubator/stanbol/trunk/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/JenaPersistenceStore.java Thu Apr  7 12:12:10 2011
@@ -9,6 +9,7 @@ import java.io.Writer;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.sql.SQLException;
+import java.sql.Savepoint;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Dictionary;
@@ -355,8 +356,20 @@ public class JenaPersistenceStore implem
         }
         return administeredOntologies;
     }
+    
+    @Override
+    public OntologyMetaInformation saveOntology(String ontologyContent, String ontologyURI, String encoding) throws Exception {
+        InputStream is = new ByteArrayInputStream(ontologyContent.getBytes(encoding));
+        return saveOntology(is, ontologyURI, encoding);
+    }
+    
+    @Override
+    public OntologyMetaInformation saveOntology(URL ontologyContent, String ontologyURI, String encoding) throws Exception {
+        InputStream is = ontologyContent.openStream();
+        return saveOntology(is, ontologyURI, encoding);
+    }
 
-    public OntologyMetaInformation saveOntology(String ontologyContent, String ontologyURI, String encoding) throws UnsupportedEncodingException {
+    public OntologyMetaInformation saveOntology(InputStream content, String ontologyURI, String encoding) throws UnsupportedEncodingException {
         long t1 = System.currentTimeMillis();
         OntologyMetaInformation ontMetaInformation = null;
         OntModel om = null;
@@ -368,7 +381,7 @@ public class JenaPersistenceStore implem
             }
             long st1 = System.currentTimeMillis();
             logger.info("Creating a new ontology store for: " + ontologyURI);
-            InputStream is = new ByteArrayInputStream(ontologyContent.getBytes(encoding));
+//            InputStream is = new ByteArrayInputStream(ontologyContent.getBytes(encoding));
             long st2 = System.currentTimeMillis();
             // ModelMaker modelMaker = getModelMaker();
             OntModelSpec oms = getOntModelSpec(true);
@@ -383,7 +396,7 @@ public class JenaPersistenceStore implem
             Model createdModel = null;
             resourceManager.registerOntology(ontologyURI);
             try {
-                createdModel = om.read(is, ontologyURI, "RDF/XML");
+                createdModel = om.read(content, ontologyURI, "RDF/XML");
             } catch (Exception e) {
                 resourceManager.registerOntology(ontologyURI);
                 logger.warn("Unable to read ontology {} ", ontologyURI);