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


Reply via email to