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();
+				}
+				
+				
+				
+			}
+		}
+				
 	}
 
 }