You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by an...@apache.org on 2011/04/06 13:12:51 UTC
svn commit: r1089401 - in /incubator/stanbol/trunk/ontologymanager/ontonet:
./ src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/
src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/
src/main/java/org/apache/stanbol/ontology...
Author: anuzzolese
Date: Wed Apr 6 11:12:50 2011
New Revision: 1089401
URL: http://svn.apache.org/viewvc?rev=1089401&view=rev
Log:
STANBOL-145
Removed reference to a local store.
Added reference to the Stanbol persistence store.
Modified:
incubator/stanbol/trunk/ontologymanager/ontonet/pom.xml
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ONManager.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionManager.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/AbstractOntologySpaceImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CoreOntologySpaceImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CustomOntologySpaceImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologySpaceFactoryImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/SessionOntologySpaceImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/SessionManagerImpl.java
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/pom.xml?rev=1089401&r1=1089400&r2=1089401&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/pom.xml (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/pom.xml Wed Apr 6 11:12:50 2011
@@ -145,11 +145,13 @@
<artifactId>org.apache.stanbol.owl</artifactId>
<version>${stanbol-version}</version>
</dependency>
- <!--
- <dependency> <groupId>org.apache.stanbol</groupId>
- <artifactId>org.apache.stanbol.ontologymanager.store</artifactId>
- <version>${stanbol-version}</version> </dependency>
- -->
+ <!-- Stanbol Persistence sotre -->
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.ontologymanager.store.api</artifactId>
+ <version>${stanbol-version}</version>
+ </dependency>
+
<!-- Persistence deps -->
<dependency>
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ONManager.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ONManager.java?rev=1089401&r1=1089400&r2=1089401&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ONManager.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ONManager.java Wed Apr 6 11:12:50 2011
@@ -6,7 +6,7 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.ScopeRegistry;
import org.apache.stanbol.ontologymanager.ontonet.api.registry.RegistryLoader;
import org.apache.stanbol.ontologymanager.ontonet.api.session.SessionManager;
-import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
+import org.apache.stanbol.ontologymanager.store.api.PersistenceStore;
import org.semanticweb.owlapi.model.OWLDataFactory;
import org.semanticweb.owlapi.model.OWLOntologyAlreadyExistsException;
import org.semanticweb.owlapi.model.OWLOntologyManager;
@@ -49,7 +49,7 @@ public interface ONManager {
*
* @return the default ontology store.
*/
- ClerezzaOntologyStorage getOntologyStore();
+ public PersistenceStore getOntologyStore();
/**
* Returns an OWL Ontology Manager that is never cleared of its ontologies,
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionManager.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionManager.java?rev=1089401&r1=1089400&r2=1089401&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionManager.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionManager.java Wed Apr 6 11:12:50 2011
@@ -5,6 +5,7 @@ import java.util.Set;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SessionOntologySpace;
import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLOntologyStorageException;
/**
@@ -81,8 +82,9 @@ public interface SessionManager extends
* the IRI that uniquely identifies the session
* @param out
* the output stream to store the session
+ * @throws OWLOntologyStorageException
*/
void storeSession(IRI sessionID, OutputStream out)
- throws NonReferenceableSessionException;
+ throws NonReferenceableSessionException, OWLOntologyStorageException;
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerImpl.java?rev=1089401&r1=1089400&r2=1089401&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerImpl.java Wed Apr 6 11:12:50 2011
@@ -38,6 +38,7 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.impl.registry.model.impl.RegistryLoaderImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.session.SessionManagerImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.session.ScopeSessionSynchronizer;
+import org.apache.stanbol.ontologymanager.store.api.PersistenceStore;
import org.osgi.service.component.ComponentContext;
import org.semanticweb.owlapi.apibinding.OWLManager;
import org.semanticweb.owlapi.io.FileDocumentSource;
@@ -114,7 +115,10 @@ public class ONManagerImpl implements ON
@Reference
private WeightedTcProvider wtcp;
- private ClerezzaOntologyStorage storage;
+ @Reference
+ private PersistenceStore persistenceStore;
+
+ //private ClerezzaOntologyStorage storage;
/*
* The identifiers (not yet parsed as IRIs) of the ontology scopes that should be activated.
@@ -148,16 +152,22 @@ public class ONManagerImpl implements ON
* With the current implementation of OntologyStorage, we cannot live with either component being
* null. So create the object only if both are not null.
*/
- if (tcm != null && wtcp != null) storage = new ClerezzaOntologyStorage(tcm, wtcp);
+
+ /*
+ * NOW WE USE THE STANBOL PERSISTENCE STORE.
+ *
+ if (tcm != null && wtcp != null) storage = new ClerezzaOntologyStorage(tcm, wtcp);
// Manage this in-memory, so it won't have to be null.
else {
storage = new InMemoryOntologyStorage();
}
+
+ */
// Now create everything that depends on the Storage object.
// These may require the OWL cache manager
- ontologySpaceFactory = new OntologySpaceFactoryImpl(scopeRegistry, storage);
+ ontologySpaceFactory = new OntologySpaceFactoryImpl(scopeRegistry, persistenceStore);
ontologyScopeFactory = new OntologyScopeFactoryImpl(scopeRegistry, ontologySpaceFactory);
ontologyScopeFactory.addScopeEventListener(oIndex);
@@ -169,7 +179,7 @@ public class ONManagerImpl implements ON
// storage = new FISEPersistenceStorage();
sessionManager = new SessionManagerImpl(IRI.create("http://kres.iks-project.eu/"),
- getScopeRegistry(), storage);
+ getScopeRegistry(), persistenceStore);
sessionManager.addSessionListener(new ScopeSessionSynchronizer(this));
}
@@ -391,8 +401,8 @@ public class ONManagerImpl implements ON
return ontologySpaceFactory;
}
- public ClerezzaOntologyStorage getOntologyStore() {
- return storage;
+ public PersistenceStore getOntologyStore() {
+ return persistenceStore;
}
public OWLOntologyManager getOwlCacheManager() {
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/AbstractOntologySpaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/AbstractOntologySpaceImpl.java?rev=1089401&r1=1089400&r2=1089401&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/AbstractOntologySpaceImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/AbstractOntologySpaceImpl.java Wed Apr 6 11:12:50 2011
@@ -1,5 +1,6 @@
package org.apache.stanbol.ontologymanager.ontonet.impl.ontology;
+import java.io.ByteArrayOutputStream;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
@@ -17,6 +18,7 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
import org.apache.stanbol.ontologymanager.ontonet.impl.util.OntologyUtils;
import org.apache.stanbol.ontologymanager.ontonet.impl.util.StringUtils;
+import org.apache.stanbol.ontologymanager.store.api.PersistenceStore;
import org.semanticweb.owlapi.apibinding.OWLManager;
import org.semanticweb.owlapi.io.RDFXMLOntologyFormat;
import org.semanticweb.owlapi.io.StringDocumentSource;
@@ -69,7 +71,13 @@ public abstract class AbstractOntologySp
*/
protected OWLOntologyManager ontologyManager;
- protected ClerezzaOntologyStorage storage;
+
+ /*
+ * The ClerezzaOntologyStorage (local to OntoNet) has been changed with
+ * PersistenceStore (general from Stanbol)
+ */
+ //protected ClerezzaOntologyStorage storage;
+ protected PersistenceStore persistenceStore;
protected IRI parentID = null;
@@ -79,8 +87,8 @@ public abstract class AbstractOntologySp
protected boolean silent = false;
- protected AbstractOntologySpaceImpl(IRI spaceID, SpaceType type/*, IRI parentID*/, ClerezzaOntologyStorage storage) {
- this(spaceID, type, /*parentID,*/ storage,OWLManager.createOWLOntologyManager());
+ protected AbstractOntologySpaceImpl(IRI spaceID, SpaceType type/*, IRI parentID*/, PersistenceStore persistenceStore) {
+ this(spaceID, type, /*parentID,*/ persistenceStore,OWLManager.createOWLOntologyManager());
}
// /**
@@ -105,19 +113,19 @@ public abstract class AbstractOntologySp
* @param ontologyManager
* the default ontology manager for this space.
*/
- protected AbstractOntologySpaceImpl(IRI spaceID, SpaceType type, ClerezzaOntologyStorage storage, /*IRI parentID,*/
+ protected AbstractOntologySpaceImpl(IRI spaceID, SpaceType type, PersistenceStore persistenceStore, /*IRI parentID,*/
OWLOntologyManager ontologyManager) {
-// this.parentID = parentID;
-// SUFFIX = type.getIRISuffix();
-
-// // FIXME: ensure that this is not null
-// OntologyScope parentScope = ONManager.get().getScopeRegistry()
-// .getScope(parentID);
-//
-// if (parentScope != null && parentScope instanceof OntologySpaceListener)
-// this.addOntologySpaceListener((OntologySpaceListener) parentScope);
-this.storage = storage;
+ // this.parentID = parentID;
+ // SUFFIX = type.getIRISuffix();
+
+ // // FIXME: ensure that this is not null
+ // OntologyScope parentScope = ONManager.get().getScopeRegistry()
+ // .getScope(parentID);
+ //
+ // if (parentScope != null && parentScope instanceof OntologySpaceListener)
+ // this.addOntologySpaceListener((OntologySpaceListener) parentScope);
+ this.persistenceStore = persistenceStore;
this._id = spaceID;
if (ontologyManager != null)
this.ontologyManager = ontologyManager;
@@ -312,13 +320,27 @@ this.storage = storage;
try {
// Store the top ontology
if (!(this instanceof SessionOntologySpace)) {
- if (storage == null)
+ if (persistenceStore == null)
log
.error("KReS :: [NONFATAL] no ontology storage found. Ontology "
+ ontology.getOntologyID()
+ " will be stored in-memory only.");
else {
- storage.store(ontology);
+ /*
+ * If the persistence store is not null then the ontology can be saved in the storage.
+ * As the store saves ontology as string serializations first it is needed to convert the ontology content
+ * to a string (the UTF-8 charset is used) and then it is possible to save the ontology specifying to the storage
+ * the ontology ID.
+ */
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+
+ ontology.getOWLOntologyManager().saveOntology(ontology, out);
+
+ String ontologyID = ontology.getOntologyID().getOntologyIRI().toString();
+
+ String ontologyString = out.toString("UTF-8");
+
+ persistenceStore.saveOntology(ontologyString, ontologyID, "UTF-8");
}
}
// ONManager.get().getOntologyStore().load(rootOntology.getOntologyID().getOntologyIRI());
@@ -474,13 +496,28 @@ this.storage = storage;
// Store the top ontology
if (!(this instanceof SessionOntologySpace)) {
- if (storage == null)
+ if (persistenceStore == null)
log
.error("KReS :: [NONFATAL] no ontology storage found. Ontology "
+ rootOntology.getOntologyID()
+ " will be stored in-memory only.");
else {
- storage.store(rootOntology);
+
+ /*
+ * If the persistence store is not null then the root ontology can be saved in the storage.
+ * As the store saves ontology as string serializations first it is needed to convert the ontology content
+ * to a string (the UTF-8 charset is used) and then it is possible to save the ontology specifying to the storage
+ * the ontology ID.
+ */
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+
+ rootOntology.getOWLOntologyManager().saveOntology(rootOntology, out);
+
+ String ontologyID = rootOntology.getOntologyID().getOntologyIRI().toString();
+
+ String ontologyString = out.toString("UTF-8");
+
+ persistenceStore.saveOntology(ontologyString, ontologyID, "UTF-8");
}
}
} catch (Exception ex) {
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CoreOntologySpaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CoreOntologySpaceImpl.java?rev=1089401&r1=1089400&r2=1089401&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CoreOntologySpaceImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CoreOntologySpaceImpl.java Wed Apr 6 11:12:50 2011
@@ -4,6 +4,7 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SpaceType;
import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
import org.apache.stanbol.ontologymanager.ontonet.impl.util.StringUtils;
+import org.apache.stanbol.ontologymanager.store.api.PersistenceStore;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntologyManager;
@@ -16,15 +17,15 @@ public class CoreOntologySpaceImpl exten
// SUFFIX = SpaceType.CORE.getIRISuffix();
// }
- public CoreOntologySpaceImpl(IRI scopeID, ClerezzaOntologyStorage storage) {
+ public CoreOntologySpaceImpl(IRI scopeID, PersistenceStore persistenceStore) {
super(IRI.create(StringUtils.stripIRITerminator(scopeID) + "/"
- + SpaceType.CORE.getIRISuffix()), SpaceType.CORE/*, scopeID*/,storage);
+ + SpaceType.CORE.getIRISuffix()), SpaceType.CORE/*, scopeID*/, persistenceStore);
}
- public CoreOntologySpaceImpl(IRI scopeID, ClerezzaOntologyStorage storage,
+ public CoreOntologySpaceImpl(IRI scopeID, PersistenceStore persistenceStore,
OWLOntologyManager ontologyManager) {
super(IRI.create(StringUtils.stripIRITerminator(scopeID) + "/"
- + SpaceType.CORE.getIRISuffix()), SpaceType.CORE, /*scopeID,*/storage,
+ + SpaceType.CORE.getIRISuffix()), SpaceType.CORE, /*scopeID,*/ persistenceStore,
ontologyManager);
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CustomOntologySpaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CustomOntologySpaceImpl.java?rev=1089401&r1=1089400&r2=1089401&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CustomOntologySpaceImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CustomOntologySpaceImpl.java Wed Apr 6 11:12:50 2011
@@ -7,6 +7,7 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
import org.apache.stanbol.ontologymanager.ontonet.impl.util.StringUtils;
+import org.apache.stanbol.ontologymanager.store.api.PersistenceStore;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyManager;
@@ -20,16 +21,16 @@ public class CustomOntologySpaceImpl ext
// SUFFIX = SpaceType.CUSTOM.getIRISuffix();
// }
- public CustomOntologySpaceImpl(IRI scopeID, ClerezzaOntologyStorage storage) {
+ public CustomOntologySpaceImpl(IRI scopeID, PersistenceStore persistenceStore) {
super(IRI.create(StringUtils.stripIRITerminator(scopeID) + "/"
- + SpaceType.CUSTOM.getIRISuffix()), SpaceType.CUSTOM/*, scopeID*/,storage
+ + SpaceType.CUSTOM.getIRISuffix()), SpaceType.CUSTOM/*, scopeID*/, persistenceStore
);
}
- public CustomOntologySpaceImpl(IRI scopeID, ClerezzaOntologyStorage storage,
+ public CustomOntologySpaceImpl(IRI scopeID, PersistenceStore persistenceStore,
OWLOntologyManager ontologyManager) {
super(IRI.create(StringUtils.stripIRITerminator(scopeID) + "/"
- + SpaceType.CUSTOM.getIRISuffix()), SpaceType.CUSTOM, storage, /*scopeID,*/
+ + SpaceType.CUSTOM.getIRISuffix()), SpaceType.CUSTOM, persistenceStore, /*scopeID,*/
ontologyManager);
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologySpaceFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologySpaceFactoryImpl.java?rev=1089401&r1=1089400&r2=1089401&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologySpaceFactoryImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologySpaceFactoryImpl.java Wed Apr 6 11:12:50 2011
@@ -11,6 +11,7 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SessionOntologySpace;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
+import org.apache.stanbol.ontologymanager.store.api.PersistenceStore;
import org.semanticweb.owlapi.model.IRI;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -27,11 +28,18 @@ public class OntologySpaceFactoryImpl im
protected Logger log = LoggerFactory.getLogger(getClass());
protected ScopeRegistry registry;
- protected ClerezzaOntologyStorage storage;
+
+ /*
+ * The ClerezzaOntologyStorage (local to OntoNet) has been changed with
+ * PersistenceStore (general from Stanbol)
+ *
+ */
+ //protected ClerezzaOntologyStorage storage;
+ protected PersistenceStore persistenceStore;
- public OntologySpaceFactoryImpl(ScopeRegistry registry, ClerezzaOntologyStorage storage) {
+ public OntologySpaceFactoryImpl(ScopeRegistry registry, PersistenceStore persistenceStore) {
this.registry = registry;
- this.storage = storage;
+ this.persistenceStore = persistenceStore;
}
/*
@@ -41,7 +49,7 @@ public class OntologySpaceFactoryImpl im
@Override
public CoreOntologySpace createCoreOntologySpace(IRI scopeID,
OntologyInputSource coreSource) {
- CoreOntologySpace s = new CoreOntologySpaceImpl(scopeID,storage);
+ CoreOntologySpace s = new CoreOntologySpaceImpl(scopeID, persistenceStore);
setupSpace(s, scopeID, coreSource);
return s;
}
@@ -53,7 +61,7 @@ public class OntologySpaceFactoryImpl im
@Override
public CustomOntologySpace createCustomOntologySpace(IRI scopeID,
OntologyInputSource customSource) {
- CustomOntologySpace s = new CustomOntologySpaceImpl(scopeID,storage);
+ CustomOntologySpace s = new CustomOntologySpaceImpl(scopeID, persistenceStore);
setupSpace(s, scopeID, customSource);
return s;
}
@@ -64,7 +72,7 @@ public class OntologySpaceFactoryImpl im
*/
@Override
public SessionOntologySpace createSessionOntologySpace(IRI scopeID) {
- SessionOntologySpace s = new SessionOntologySpaceImpl(scopeID,storage);
+ SessionOntologySpace s = new SessionOntologySpaceImpl(scopeID, persistenceStore);
// s.setUp();
return s;
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/SessionOntologySpaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/SessionOntologySpaceImpl.java?rev=1089401&r1=1089400&r2=1089401&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/SessionOntologySpaceImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/SessionOntologySpaceImpl.java Wed Apr 6 11:12:50 2011
@@ -8,6 +8,7 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
import org.apache.stanbol.ontologymanager.ontonet.impl.util.StringUtils;
+import org.apache.stanbol.ontologymanager.store.api.PersistenceStore;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
import org.semanticweb.owlapi.model.OWLOntologyManager;
@@ -24,11 +25,11 @@ public class SessionOntologySpaceImpl ex
// SUFFIX = SpaceType.SESSION.getIRISuffix();
// }
- public SessionOntologySpaceImpl(IRI scopeID, ClerezzaOntologyStorage storage) {
+ public SessionOntologySpaceImpl(IRI scopeID, PersistenceStore persistenceStore) {
// FIXME : sync session id with session space ID
super(IRI.create(StringUtils.stripIRITerminator(scopeID) + "/"
+ SpaceType.SESSION.getIRISuffix() + "-"
- + new Random().nextLong()), SpaceType.SESSION,storage/*, scopeID*/);
+ + new Random().nextLong()), SpaceType.SESSION, persistenceStore/*, scopeID*/);
IRI iri = IRI.create(StringUtils.stripIRITerminator(getID())
+ "/root.owl");
@@ -49,12 +50,14 @@ public class SessionOntologySpaceImpl ex
}
}
- public SessionOntologySpaceImpl(IRI scopeID, ClerezzaOntologyStorage storage,
+ public SessionOntologySpaceImpl(IRI scopeID, PersistenceStore persistenceStore,
OWLOntologyManager ontologyManager) {
+
// FIXME : sync session id with session space ID
super(IRI.create(StringUtils.stripIRITerminator(scopeID) + "/"
+ SpaceType.SESSION.getIRISuffix() + "-"
- + new Random().nextLong()), SpaceType.SESSION,storage, /*scopeID,*/ ontologyManager);
+ + new Random().nextLong()), SpaceType.SESSION, persistenceStore, /*scopeID,*/ ontologyManager);
+
Logger log = LoggerFactory.getLogger(getClass());
IRI iri = IRI.create(StringUtils.stripIRITerminator(getID())
+ "/root.owl");
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/SessionManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/SessionManagerImpl.java?rev=1089401&r1=1089400&r2=1089401&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/SessionManagerImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/SessionManagerImpl.java Wed Apr 6 11:12:50 2011
@@ -1,6 +1,8 @@
package org.apache.stanbol.ontologymanager.ontonet.impl.session;
+import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -20,8 +22,10 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.session.Session.State;
import org.apache.stanbol.ontologymanager.ontonet.api.session.SessionEvent.OperationType;
import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
+import org.apache.stanbol.ontologymanager.store.api.PersistenceStore;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLOntology;
+import org.semanticweb.owlapi.model.OWLOntologyStorageException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,14 +50,22 @@ public class SessionManagerImpl implemen
protected SessionIDGenerator idgen;
protected ScopeRegistry scopeRegistry;
- protected ClerezzaOntologyStorage store;
- public SessionManagerImpl(IRI baseIri, ScopeRegistry scopeRegistry, ClerezzaOntologyStorage store) {
+ /*
+ *
+ * The local ClerezzaOntologyStorage has been changed with the global Stanbol component
+ * PersistenceStore.
+ *
+ */
+ //protected ClerezzaOntologyStorage store;
+ protected PersistenceStore persistenceStore;
+
+ public SessionManagerImpl(IRI baseIri, ScopeRegistry scopeRegistry, PersistenceStore persistenceStore) {
idgen = new TimestampedSessionIDGenerator(baseIri);
listeners = new HashSet<SessionListener>();
sessionsByID = new HashMap<IRI, Session>();
-this.scopeRegistry = scopeRegistry;
- this.store = store;
+ this.scopeRegistry = scopeRegistry;
+ this.persistenceStore = persistenceStore;
}
/*
@@ -263,10 +275,41 @@ this.scopeRegistry = scopeRegistry;
*/
@Override
public void storeSession(IRI sessionID, OutputStream out)
- throws NonReferenceableSessionException {
- for (SessionOntologySpace so : getSessionSpaces(sessionID))
- for (OWLOntology o : so.getOntologies())
- store.store(o);
+ throws NonReferenceableSessionException, OWLOntologyStorageException {
+ /*
+ * For each gession space in the session save all the ontologies contained in the space.
+ */
+ for (SessionOntologySpace so : getSessionSpaces(sessionID)){
+ for (OWLOntology owlOntology : so.getOntologies()){
+
+ /*
+ * As the store saves ontology as string serializations first it is needed to convert the ontology content
+ * to a string (the UTF-8 charset is used) and then it is possible to save the ontology specifying to the storage
+ * the ontology ID.
+ */
+ ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+
+ owlOntology.getOWLOntologyManager().saveOntology(owlOntology, outStream);
+
+ String ontologyID = owlOntology.getOntologyID().getOntologyIRI().toString();
+
+ String ontologyString;
+ try {
+ ontologyString = outStream.toString("UTF-8");
+ persistenceStore.saveOntology(ontologyString, ontologyID, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+
+
+ }
+ }
+
}
}