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);