You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by al...@apache.org on 2011/07/04 14:04:46 UTC
svn commit: r1142637 - in /incubator/stanbol/trunk:
ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/
ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/
ontologym...
Author: alexdma
Date: Mon Jul 4 12:04:46 2011
New Revision: 1142637
URL: http://svn.apache.org/viewvc?rev=1142637&view=rev
Log:
STANBOL-249 :
- temp hacks for integritycheck demos: session space is automatically attached; classify writes and reads ontology back before classifying
Modified:
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/OntologyScope.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/SessionOntologySpace.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyScopeImpl.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/ScopeSessionSynchronizer.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMScopeResource.java
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionResource.java
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/Classify.java
incubator/stanbol/trunk/rules/refactor/src/main/java/org/apache/stanbol/rules/refactor/impl/RefactorerImpl.java
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/OntologyScope.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/OntologyScope.java?rev=1142637&r1=1142636&r2=1142637&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/OntologyScope.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/OntologyScope.java Mon Jul 4 12:04:46 2011
@@ -32,8 +32,9 @@ public interface OntologyScope extends S
*
* @param sessionSpace
* the ontology space to be added.
+ * @throws UnmodifiableOntologySpaceException
*/
- void addSessionSpace(OntologySpace sessionSpace, IRI sessionID);
+ void addSessionSpace(OntologySpace sessionSpace, IRI sessionID) throws UnmodifiableOntologySpaceException;
/**
* Returns the core ontology space for this ontology scope. The core space
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/SessionOntologySpace.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/SessionOntologySpace.java?rev=1142637&r1=1142636&r2=1142637&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/SessionOntologySpace.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/SessionOntologySpace.java Mon Jul 4 12:04:46 2011
@@ -3,22 +3,23 @@ package org.apache.stanbol.ontologymanag
import org.semanticweb.owlapi.model.OWLOntologyManager;
/**
- * An ontology scope for application use. There exists exactly one scope for
- * each live (active or halted) KReS session. <br>
+ * An ontology scope for application use. There exists exactly one scope for each live (active or halted) KReS
+ * session. <br>
* <br>
- * This is the only type of ontology scope that allows public access to its OWL
- * ontology manager.
+ * This is the only type of ontology scope that allows public access to its OWL ontology manager.
*
* @author alessandro
*
*/
public interface SessionOntologySpace extends OntologySpace {
- /**
- * Returns the OWL ontology manager associated to this scope.
- *
- * @return the associated ontology manager
- */
+ /**
+ * Returns the OWL ontology manager associated to this scope.
+ *
+ * @return the associated ontology manager
+ */
OWLOntologyManager getOntologyManager();
+ void attachSpace(OntologySpace space, boolean skipRoot) throws UnmodifiableOntologySpaceException;
+
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyScopeImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyScopeImpl.java?rev=1142637&r1=1142636&r2=1142637&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyScopeImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyScopeImpl.java Mon Jul 4 12:04:46 2011
@@ -27,287 +27,276 @@ import org.slf4j.LoggerFactory;
*/
public class OntologyScopeImpl implements OntologyScope, OntologySpaceListener {
- /**
- * The core ontology space for this scope, always set as default.
- */
- protected CoreOntologySpace coreSpace;
-
- /**
- * The custom ontology space for this scope. This is optional, but cannot be
- * set after the scope has been setup.
- */
- protected CustomOntologySpace customSpace;
-
- /**
- * The unique identifier for this scope.
- */
- protected IRI id = null;
-
- private Set<ScopeOntologyListener> listeners = new HashSet<ScopeOntologyListener>();
-
- /**
- * An ontology scope knows whether it's write-locked or not. Initially it is
- * not.
- */
- protected boolean locked = false;
-
- /**
- * Maps session IDs to ontology space. A single scope has at most one space
- * per session.
- */
- protected Map<IRI, SessionOntologySpace> sessionSpaces;
-
- public OntologyScopeImpl(IRI id, OntologySpaceFactory factory,OntologyInputSource coreRoot) {
- this(id, factory, coreRoot,null);
- }
-
- public OntologyScopeImpl(IRI id,OntologySpaceFactory factory, OntologyInputSource coreRoot,
- OntologyInputSource customRoot) {
- if (id == null)
- throw new NullPointerException(
- "Ontology scope must be identified by a non-null IRI.");
-
- this.id = id;
- this.coreSpace = factory.createCoreOntologySpace(id, coreRoot);
- this.coreSpace.addOntologySpaceListener(this);
- // let's just lock it. Once the core space is done it's done.
- this.coreSpace.setUp();
- // if (customRoot != null) {
- try {
- setCustomSpace(factory.createCustomOntologySpace(id, customRoot));
- } catch (UnmodifiableOntologySpaceException e) {
- // Can't happen unless the factory or space implementations are
- // really naughty.
- LoggerFactory
- .getLogger(getClass())
- .warn(
- "KReS :: Ontology scope "
- + id
- + " was denied creation of its own custom space upon initialization! This should not happen.",
- e);
- }
- this.customSpace.addOntologySpaceListener(this);
- // }
- sessionSpaces = new HashMap<IRI, SessionOntologySpace>();
- }
-
- /*
- * (non-Javadoc)
- *
- * @seeeu.iksproject.kres.api.manager.ontology.OntologyScope#
- * addOntologyScopeListener
- * (eu.iksproject.kres.api.manager.ontology.ScopeOntologyListener)
- */
- @Override
- public void addOntologyScopeListener(ScopeOntologyListener listener) {
- listeners.add(listener);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.iksproject.kres.api.manager.ontology.OntologyScope#addSessionSpace
- * (eu.iksproject.kres.api.manager.ontology.OntologySpace,
- * org.semanticweb.owlapi.model.IRI)
- */
- @Override
- public synchronized void addSessionSpace(OntologySpace sessionSpace,
- IRI sessionId) {
- if (sessionSpace instanceof SessionOntologySpace) {
- sessionSpaces.put(sessionId, (SessionOntologySpace) sessionSpace);
- sessionSpace.addOntologySpaceListener(this);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @seeeu.iksproject.kres.api.manager.ontology.OntologyScope#
- * clearOntologyScopeListeners()
- */
- @Override
- public void clearOntologyScopeListeners() {
- listeners.clear();
- }
-
- protected void fireOntologyAdded(IRI ontologyIri) {
- for (ScopeOntologyListener listener : listeners)
- listener.onOntologyAdded(this.getID(), ontologyIri);
- }
-
- protected void fireOntologyRemoved(IRI ontologyIri) {
- for (ScopeOntologyListener listener : listeners)
- listener.onOntologyRemoved(this.getID(), ontologyIri);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see eu.iksproject.kres.api.manager.ontology.OntologyScope#getCoreSpace()
- */
- @Override
- public OntologySpace getCoreSpace() {
- return coreSpace;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.iksproject.kres.api.manager.ontology.OntologyScope#getCustomSpace()
- */
- @Override
- public OntologySpace getCustomSpace() {
- return customSpace;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see eu.iksproject.kres.api.manager.ontology.OntologyScope#getID()
- */
- @Override
- public IRI getID() {
- return id;
- }
-
- /*
- * (non-Javadoc)
- *
- * @seeeu.iksproject.kres.api.manager.ontology.OntologyScope#
- * getOntologyScopeListeners()
- */
- @Override
- public Collection<ScopeOntologyListener> getOntologyScopeListeners() {
- return listeners;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.iksproject.kres.api.manager.ontology.OntologyScope#getSessionSpace
- * (org.semanticweb.owlapi.model.IRI)
- */
- @Override
- public SessionOntologySpace getSessionSpace(IRI sessionID) {
- return sessionSpaces.get(sessionID);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.iksproject.kres.api.manager.ontology.OntologyScope#getSessionSpaces()
- */
- @Override
- public Set<OntologySpace> getSessionSpaces() {
- return new HashSet<OntologySpace>(sessionSpaces.values());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.iksproject.kres.api.manager.ontology.OntologySpaceListener#onOntologyAdded
- * (org.semanticweb.owlapi.model.IRI, org.semanticweb.owlapi.model.IRI)
- */
- @Override
- public void onOntologyAdded(IRI spaceId, IRI addedOntology) {
- // Propagate events to scope listeners
- fireOntologyAdded(addedOntology);
- }
-
- /*
- * (non-Javadoc)
- *
- * @seeeu.iksproject.kres.api.manager.ontology.OntologySpaceListener#
- * onOntologyRemoved(org.semanticweb.owlapi.model.IRI,
- * org.semanticweb.owlapi.model.IRI)
- */
- @Override
- public void onOntologyRemoved(IRI spaceId, IRI removedOntology) {
- // Propagate events to scope listeners
- fireOntologyRemoved(removedOntology);
- }
-
- @Override
- public void removeOntologyScopeListener(ScopeOntologyListener listener) {
- listeners.remove(listener);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.iksproject.kres.api.manager.ontology.OntologyScope#setCustomSpace(
- * eu.iksproject.kres.api.manager.ontology.OntologySpace)
- */
- @Override
- public synchronized void setCustomSpace(OntologySpace customSpace)
- throws UnmodifiableOntologySpaceException {
- if (this.customSpace != null && this.customSpace.isLocked())
- throw new UnmodifiableOntologySpaceException(getCustomSpace());
- else if (!(customSpace instanceof CustomOntologySpace))
- throw new ClassCastException(
- "supplied object is not a CustomOntologySpace instance.");
- else {
- this.customSpace = (CustomOntologySpace) customSpace;
- this.customSpace.addOntologySpaceListener(this);
- this.customSpace.attachCoreSpace(this.coreSpace, true);
- }
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see eu.iksproject.kres.api.manager.ontology.OntologyScope#setUp()
- */
- @Override
- public synchronized void setUp() {
- if (locked || (customSpace != null && !customSpace.isLocked()))
- return;
- this.coreSpace.addOntologySpaceListener(this);
- this.coreSpace.setUp();
- if (this.customSpace != null) {
- this.customSpace.addOntologySpaceListener(this);
- this.customSpace.setUp();
- }
- locked = true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see eu.iksproject.kres.api.manager.ontology.OntologyScope#tearDown()
- */
- @Override
- public synchronized void tearDown() {
- // this.coreSpace.addOntologySpaceListener(this);
- this.coreSpace.tearDown();
- if (this.customSpace != null) {
- // this.customSpace.addOntologySpaceListener(this);
- this.customSpace.tearDown();
- }
- locked = false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- return getID().toString();
- }
-
- @Override
- public void synchronizeSpaces() {
- // TODO Auto-generated method stub
+ /**
+ * The core ontology space for this scope, always set as default.
+ */
+ protected CoreOntologySpace coreSpace;
+
+ /**
+ * The custom ontology space for this scope. This is optional, but cannot be set after the scope has been
+ * setup.
+ */
+ protected CustomOntologySpace customSpace;
+
+ /**
+ * The unique identifier for this scope.
+ */
+ protected IRI id = null;
+
+ private Set<ScopeOntologyListener> listeners = new HashSet<ScopeOntologyListener>();
+
+ /**
+ * An ontology scope knows whether it's write-locked or not. Initially it is not.
+ */
+ protected boolean locked = false;
+
+ /**
+ * Maps session IDs to ontology space. A single scope has at most one space per session.
+ */
+ protected Map<IRI,SessionOntologySpace> sessionSpaces;
+
+ public OntologyScopeImpl(IRI id, OntologySpaceFactory factory, OntologyInputSource coreRoot) {
+ this(id, factory, coreRoot, null);
+ }
+
+ public OntologyScopeImpl(IRI id,
+ OntologySpaceFactory factory,
+ OntologyInputSource coreRoot,
+ OntologyInputSource customRoot) {
+ if (id == null) throw new NullPointerException("Ontology scope must be identified by a non-null IRI.");
+
+ this.id = id;
+ this.coreSpace = factory.createCoreOntologySpace(id, coreRoot);
+ this.coreSpace.addOntologySpaceListener(this);
+ // let's just lock it. Once the core space is done it's done.
+ this.coreSpace.setUp();
+ // if (customRoot != null) {
+ try {
+ setCustomSpace(factory.createCustomOntologySpace(id, customRoot));
+ } catch (UnmodifiableOntologySpaceException e) {
+ // Can't happen unless the factory or space implementations are
+ // really naughty.
+ LoggerFactory
+ .getLogger(getClass())
+ .warn(
+ "KReS :: Ontology scope "
+ + id
+ + " was denied creation of its own custom space upon initialization! This should not happen.",
+ e);
+ }
+ this.customSpace.addOntologySpaceListener(this);
+ // }
+ sessionSpaces = new HashMap<IRI,SessionOntologySpace>();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeeu.iksproject.kres.api.manager.ontology.OntologyScope# addOntologyScopeListener
+ * (eu.iksproject.kres.api.manager.ontology.ScopeOntologyListener)
+ */
+ @Override
+ public void addOntologyScopeListener(ScopeOntologyListener listener) {
+ listeners.add(listener);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see eu.iksproject.kres.api.manager.ontology.OntologyScope#addSessionSpace
+ * (eu.iksproject.kres.api.manager.ontology.OntologySpace, org.semanticweb.owlapi.model.IRI)
+ */
+ @Override
+ public synchronized void addSessionSpace(OntologySpace sessionSpace, IRI sessionId) throws UnmodifiableOntologySpaceException {
+ if (sessionSpace instanceof SessionOntologySpace) {
+ sessionSpaces.put(sessionId, (SessionOntologySpace) sessionSpace);
+ sessionSpace.addOntologySpaceListener(this);
+
+ if (this.getCustomSpace() != null)
+ ((SessionOntologySpace) sessionSpace).attachSpace(this.getCustomSpace(), true);
+ else
+ ((SessionOntologySpace) sessionSpace).attachSpace(this.getCoreSpace(), true);
+
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeeu.iksproject.kres.api.manager.ontology.OntologyScope# clearOntologyScopeListeners()
+ */
+ @Override
+ public void clearOntologyScopeListeners() {
+ listeners.clear();
+ }
+
+ protected void fireOntologyAdded(IRI ontologyIri) {
+ for (ScopeOntologyListener listener : listeners)
+ listener.onOntologyAdded(this.getID(), ontologyIri);
+ }
+
+ protected void fireOntologyRemoved(IRI ontologyIri) {
+ for (ScopeOntologyListener listener : listeners)
+ listener.onOntologyRemoved(this.getID(), ontologyIri);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see eu.iksproject.kres.api.manager.ontology.OntologyScope#getCoreSpace()
+ */
+ @Override
+ public OntologySpace getCoreSpace() {
+ return coreSpace;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see eu.iksproject.kres.api.manager.ontology.OntologyScope#getCustomSpace()
+ */
+ @Override
+ public OntologySpace getCustomSpace() {
+ return customSpace;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see eu.iksproject.kres.api.manager.ontology.OntologyScope#getID()
+ */
+ @Override
+ public IRI getID() {
+ return id;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeeu.iksproject.kres.api.manager.ontology.OntologyScope# getOntologyScopeListeners()
+ */
+ @Override
+ public Collection<ScopeOntologyListener> getOntologyScopeListeners() {
+ return listeners;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see eu.iksproject.kres.api.manager.ontology.OntologyScope#getSessionSpace
+ * (org.semanticweb.owlapi.model.IRI)
+ */
+ @Override
+ public SessionOntologySpace getSessionSpace(IRI sessionID) {
+ return sessionSpaces.get(sessionID);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see eu.iksproject.kres.api.manager.ontology.OntologyScope#getSessionSpaces()
+ */
+ @Override
+ public Set<OntologySpace> getSessionSpaces() {
+ return new HashSet<OntologySpace>(sessionSpaces.values());
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see eu.iksproject.kres.api.manager.ontology.OntologySpaceListener#onOntologyAdded
+ * (org.semanticweb.owlapi.model.IRI, org.semanticweb.owlapi.model.IRI)
+ */
+ @Override
+ public void onOntologyAdded(IRI spaceId, IRI addedOntology) {
+ // Propagate events to scope listeners
+ fireOntologyAdded(addedOntology);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeeu.iksproject.kres.api.manager.ontology.OntologySpaceListener#
+ * onOntologyRemoved(org.semanticweb.owlapi.model.IRI, org.semanticweb.owlapi.model.IRI)
+ */
+ @Override
+ public void onOntologyRemoved(IRI spaceId, IRI removedOntology) {
+ // Propagate events to scope listeners
+ fireOntologyRemoved(removedOntology);
+ }
+
+ @Override
+ public void removeOntologyScopeListener(ScopeOntologyListener listener) {
+ listeners.remove(listener);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see eu.iksproject.kres.api.manager.ontology.OntologyScope#setCustomSpace(
+ * eu.iksproject.kres.api.manager.ontology.OntologySpace)
+ */
+ @Override
+ public synchronized void setCustomSpace(OntologySpace customSpace) throws UnmodifiableOntologySpaceException {
+ if (this.customSpace != null && this.customSpace.isLocked()) throw new UnmodifiableOntologySpaceException(
+ getCustomSpace());
+ else if (!(customSpace instanceof CustomOntologySpace)) throw new ClassCastException(
+ "supplied object is not a CustomOntologySpace instance.");
+ else {
+ this.customSpace = (CustomOntologySpace) customSpace;
+ this.customSpace.addOntologySpaceListener(this);
+ this.customSpace.attachCoreSpace(this.coreSpace, true);
+ }
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see eu.iksproject.kres.api.manager.ontology.OntologyScope#setUp()
+ */
+ @Override
+ public synchronized void setUp() {
+ if (locked || (customSpace != null && !customSpace.isLocked())) return;
+ this.coreSpace.addOntologySpaceListener(this);
+ this.coreSpace.setUp();
+ if (this.customSpace != null) {
+ this.customSpace.addOntologySpaceListener(this);
+ this.customSpace.setUp();
+ }
+ locked = true;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see eu.iksproject.kres.api.manager.ontology.OntologyScope#tearDown()
+ */
+ @Override
+ public synchronized void tearDown() {
+ // this.coreSpace.addOntologySpaceListener(this);
+ this.coreSpace.tearDown();
+ if (this.customSpace != null) {
+ // this.customSpace.addOntologySpaceListener(this);
+ this.customSpace.tearDown();
+ }
+ locked = false;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return getID().toString();
+ }
+
+ @Override
+ public void synchronizeSpaces() {
+ // TODO Auto-generated method stub
- }
+ }
}
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=1142637&r1=1142636&r2=1142637&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 Mon Jul 4 12:04:46 2011
@@ -3,12 +3,14 @@ package org.apache.stanbol.ontologymanag
import java.util.Random;
import org.apache.stanbol.ontologymanager.ontonet.api.io.RootOntologySource;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologySpace;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SessionOntologySpace;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SpaceType;
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.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
import org.semanticweb.owlapi.model.OWLOntologyManager;
import org.slf4j.Logger;
@@ -98,4 +100,21 @@ public class SessionOntologySpaceImpl ex
// TODO Auto-generated method stub
}
+ @Override
+ public void attachSpace(OntologySpace space, boolean skipRoot) throws UnmodifiableOntologySpaceException {
+ if (!(space instanceof SessionOntologySpace)) {
+ OWLOntology o = space.getTopOntology();
+ // This does the append thingy
+ log.debug("Attaching " + o + " TO " + getTopOntology() + " ...");
+ try {
+ // It is in fact the addition of the core space top ontology to the
+ // custom space, with import statements and all.
+ addOntology(new RootOntologySource(o, null));
+ // log.debug("ok");
+ } catch (Exception ex) {
+ log.error("FAILED", ex);
+ }
+ }
+ }
+
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/ScopeSessionSynchronizer.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/ScopeSessionSynchronizer.java?rev=1142637&r1=1142636&r2=1142637&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/ScopeSessionSynchronizer.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/ScopeSessionSynchronizer.java Mon Jul 4 12:04:46 2011
@@ -3,49 +3,53 @@ package org.apache.stanbol.ontologymanag
import org.apache.stanbol.ontologymanager.ontonet.api.ONManager;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyScope;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologySpaceFactory;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
import org.apache.stanbol.ontologymanager.ontonet.api.session.Session;
import org.apache.stanbol.ontologymanager.ontonet.api.session.SessionEvent;
import org.apache.stanbol.ontologymanager.ontonet.api.session.SessionListener;
import org.semanticweb.owlapi.model.IRI;
+import org.slf4j.LoggerFactory;
public class ScopeSessionSynchronizer implements SessionListener {
- private ONManager manager;
+ private ONManager manager;
- public ScopeSessionSynchronizer(ONManager manager) {
- // WARN do not use ONManager here, as it will most probably be
- // instantiated by it.
- this.manager = manager;
- }
-
- private void addSessionSpaces(IRI sessionId) {
- OntologySpaceFactory factory = manager
- .getOntologySpaceFactory();
- for (OntologyScope scope : manager.getScopeRegistry()
- .getActiveScopes()) {
- scope.addSessionSpace(factory.createSessionOntologySpace(scope
- .getID()), sessionId);
- }
- }
-
- @Override
- public void sessionChanged(SessionEvent event) {
- // System.err.println("Session " + event.getSession() + " has been "
- // + event.getOperationType());
- Session ses = event.getSession();
- switch (event.getOperationType()) {
- case CREATE:
- ses.addSessionListener(this);
- addSessionSpaces(ses.getID());
- break;
- case CLOSE:
- break;
- case KILL:
- ses.removeSessionListener(this);
- break;
- default:
- break;
- }
- }
+ public ScopeSessionSynchronizer(ONManager manager) {
+ // WARN do not use ONManager here, as it will most probably be
+ // instantiated by it.
+ this.manager = manager;
+ }
+
+ private void addSessionSpaces(IRI sessionId) {
+ OntologySpaceFactory factory = manager.getOntologySpaceFactory();
+ for (OntologyScope scope : manager.getScopeRegistry().getActiveScopes()) {
+ try {
+ scope.addSessionSpace(factory.createSessionOntologySpace(scope.getID()), sessionId);
+ } catch (UnmodifiableOntologySpaceException e) {
+ LoggerFactory.getLogger(getClass()).warn("Tried to add session to unmodifiable space ");
+ continue;
+ }
+ }
+ }
+
+ @Override
+ public void sessionChanged(SessionEvent event) {
+ // System.err.println("Session " + event.getSession() + " has been "
+ // + event.getOperationType());
+ Session ses = event.getSession();
+ switch (event.getOperationType()) {
+ case CREATE:
+ ses.addSessionListener(this);
+ addSessionSpaces(ses.getID());
+ break;
+ case CLOSE:
+ break;
+ case KILL:
+ ses.removeSessionListener(this);
+ break;
+ default:
+ break;
+ }
+ }
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java?rev=1142637&r1=1142636&r2=1142637&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java Mon Jul 4 12:04:46 2011
@@ -68,7 +68,7 @@ public class TestSessions {
}
@Test
- public void testCreateSessionSpaceManual() {
+ public void testCreateSessionSpaceManual() throws Exception {
OntologyScope scope = null;
try {
// we don't register it
Modified: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMScopeResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMScopeResource.java?rev=1142637&r1=1142636&r2=1142637&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMScopeResource.java (original)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMScopeResource.java Mon Jul 4 12:04:46 2011
@@ -26,6 +26,7 @@ import org.apache.stanbol.commons.web.ba
import org.apache.stanbol.commons.web.base.resource.BaseStanbolResource;
import org.apache.stanbol.ontologymanager.ontonet.api.DuplicateIDException;
import org.apache.stanbol.ontologymanager.ontonet.api.ONManager;
+import org.apache.stanbol.ontologymanager.ontonet.api.io.BlankOntologySource;
import org.apache.stanbol.ontologymanager.ontonet.api.io.OntologyInputSource;
import org.apache.stanbol.ontologymanager.ontonet.api.io.RootOntologyIRISource;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyScope;
@@ -181,6 +182,10 @@ public class ONMScopeResource extends Ba
OntologyScope scope;
OntologyInputSource coreSrc = null, custSrc = null;
+ if (coreOntology==null && coreRegistry==null) {
+ coreSrc = new BlankOntologySource();
+ }
+
// First thing, check the core source.
try {
coreSrc = new OntologyRegistryIRISource(IRI.create(coreRegistry),
Modified: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionResource.java?rev=1142637&r1=1142636&r2=1142637&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionResource.java (original)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionResource.java Mon Jul 4 12:04:46 2011
@@ -17,6 +17,7 @@ import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
+import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
@@ -172,7 +173,11 @@ public class SessionResource extends Bas
*/
OntologySpaceFactory ontologySpaceFactory = onm.getOntologySpaceFactory();
SessionOntologySpace sessionOntologySpace = ontologySpaceFactory.createSessionOntologySpace(scopeIRI);
- ontologyScope.addSessionSpace(sessionOntologySpace, ses.getID());
+ try {
+ ontologyScope.addSessionSpace(sessionOntologySpace, ses.getID());
+ } catch (UnmodifiableOntologySpaceException e) {
+throw new WebApplicationException(e);
+ }
return Response.ok(SessionRenderer.getSessionMetadataRDFasOntology(ses)).build();
Modified: incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/Classify.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/Classify.java?rev=1142637&r1=1142636&r2=1142637&view=diff
==============================================================================
--- incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/Classify.java (original)
+++ incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/Classify.java Mon Jul 4 12:04:46 2011
@@ -7,7 +7,12 @@ package org.apache.stanbol.reasoners.web
import static javax.ws.rs.core.MediaType.TEXT_HTML;
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.File;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashSet;
@@ -50,9 +55,14 @@ import org.apache.stanbol.rules.manager.
import org.apache.stanbol.rules.manager.changes.RuleStoreImpl;
import org.apache.stanbol.rules.manager.parse.RuleParserImpl;
import org.semanticweb.owlapi.apibinding.OWLManager;
+import org.semanticweb.owlapi.io.FileDocumentTarget;
+import org.semanticweb.owlapi.io.StreamDocumentTarget;
+import org.semanticweb.owlapi.io.StringDocumentTarget;
import org.semanticweb.owlapi.model.AddImport;
import org.semanticweb.owlapi.model.AxiomType;
import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLAnnotation;
+import org.semanticweb.owlapi.model.OWLAnnotationProperty;
import org.semanticweb.owlapi.model.OWLAxiom;
import org.semanticweb.owlapi.model.OWLClass;
import org.semanticweb.owlapi.model.OWLClassAssertionAxiom;
@@ -278,7 +288,7 @@ public class Classify extends BaseStanbo
OWLDataFactory factory = inputowl.getOWLOntologyManager()
.getOWLDataFactory();
List<OWLOntologyChange> additions = new LinkedList<OWLOntologyChange>();
-
+
boolean ok = false;
//Load ontologies from scope, RDF input and recipe
@@ -401,6 +411,14 @@ public class Classify extends BaseStanbo
inputowl.getOWLOntologyManager().addAxioms(inputowl, swrlRules);
inputowl = inputowl.getOWLOntologyManager().getOntology(inputowl.getOntologyID());
}
+
+ StringDocumentTarget tgt = new StringDocumentTarget();;
+
+ inputowl.getOWLOntologyManager().saveOntology(inputowl,tgt);
+ inputowl = OWLManager.createOWLOntologyManager().loadOntologyFromOntologyDocument(new ByteArrayInputStream(tgt.toString().getBytes()));
+//for (OWLAnnotationProperty ax : inputowl.getAnnotationPropertiesInSignature())
+// System.out.println(ax);
+
//Create the reasoner for the classification
CreateReasoner newreasoner = new CreateReasoner(
inputowl);
@@ -417,6 +435,9 @@ public class Classify extends BaseStanbo
int startax = output.getAxiomCount();
//Run the classification
output = reasoner.runClassifyInference(output);
+
+// output.getOWLOntologyManager().saveOntology(output,new FileDocumentTarget(new File("./dioschifoso.owl")));
+
//End output axioms count
int endax = output.getAxiomCount();
Modified: incubator/stanbol/trunk/rules/refactor/src/main/java/org/apache/stanbol/rules/refactor/impl/RefactorerImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/rules/refactor/src/main/java/org/apache/stanbol/rules/refactor/impl/RefactorerImpl.java?rev=1142637&r1=1142636&r2=1142637&view=diff
==============================================================================
--- incubator/stanbol/trunk/rules/refactor/src/main/java/org/apache/stanbol/rules/refactor/impl/RefactorerImpl.java (original)
+++ incubator/stanbol/trunk/rules/refactor/src/main/java/org/apache/stanbol/rules/refactor/impl/RefactorerImpl.java Mon Jul 4 12:04:46 2011
@@ -24,6 +24,7 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyScopeFactory;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologySpaceFactory;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.ScopeRegistry;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
import org.apache.stanbol.ontologymanager.ontonet.api.session.DuplicateSessionIDException;
import org.apache.stanbol.ontologymanager.ontonet.api.session.Session;
import org.apache.stanbol.ontologymanager.ontonet.api.session.SessionManager;
@@ -228,8 +229,12 @@ public class RefactorerImpl implements R
scope = onManager.getScopeRegistry().getScope(refactoringScopeIRI);
}
- scope.addSessionSpace(ontologySpaceFactory.createSessionOntologySpace(refactoringSpaceIRI),
- kReSSession.getID());
+ try {
+ scope.addSessionSpace(ontologySpaceFactory.createSessionOntologySpace(refactoringSpaceIRI),
+ kReSSession.getID());
+ } catch (UnmodifiableOntologySpaceException e) {
+log.error("Failed to create session space",e);
+ }
scopeRegistry.setScopeActive(refactoringScopeIRI, true);