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/06/21 19:13:16 UTC
svn commit: r1138099 - in
/incubator/stanbol/trunk/ontologymanager/ontonet/src:
main/java/org/apache/stanbol/ontologymanager/ontonet/api/
main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/
main/java/org/apache/stanbol/ontologymanager/on...
Author: alexdma
Date: Tue Jun 21 17:13:15 2011
New Revision: 1138099
URL: http://svn.apache.org/viewvc?rev=1138099&view=rev
Log:
STANBOL-178 :
- Local directory paths in ONManagerConfiguration are now parsed
- OWLOntologyManager Factory introduced as an interface
- Ontonet unit tests now now call non-deprecated constructors
Added:
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/OWLOntologyManagerFactory.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/conf/OntologyNetworkConfigurationUtils.java
- copied, changed from r1138037, incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/conf/ConfigurationManagement.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OWLOntologyManagerFactoryImpl.java
- copied, changed from r1138037, incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyManagerFactory.java
Removed:
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/conf/ConfigurationManagement.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyManagerFactory.java
Modified:
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/impl/Activator.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerConfigurationImpl.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/OntologySpaceFactoryImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/registry/model/impl/RegistryLoaderImpl.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestIndexing.java
incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologyScope.java
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=1138099&r1=1138098&r2=1138099&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 Tue Jun 21 17:13:15 2011
@@ -7,106 +7,101 @@ import org.apache.stanbol.ontologymanage
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.ontonet.impl.ontology.OntologyManagerFactory;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OWLOntologyManagerFactoryImpl;
import org.semanticweb.owlapi.model.OWLDataFactory;
import org.semanticweb.owlapi.model.OWLOntologyAlreadyExistsException;
import org.semanticweb.owlapi.model.OWLOntologyManager;
-
/**
- * A KReS Ontology Network Manager.
+ * An Ontology Network Manager holds all references and tools for creating, modifying and deleting the logical
+ * realms that store Web Ontologies, as well as offer facilities for handling the ontologies contained
+ * therein.
*
* @author andrea.nuzzolese
*
*/
public interface ONManager {
-
- public OntologyManagerFactory getOntologyManagerFactory();
- /**
- * Returns the default object that automatically indexes ontologies as they
- * are loaded within scopes.
- *
- * @return the default ontology index.
- */
- public OntologyIndex getOntologyIndex();
-
- /**
- * Returns the ontology scope factory that was created along with the
- * manager context.
- *
- * @return the default ontology scope factory
- */
- public OntologyScopeFactory getOntologyScopeFactory();
-
- /**
- * Returns the ontology space factory that was created along with the
- * manager context.
- *
- * @return the default ontology space factory.
- */
- public OntologySpaceFactory getOntologySpaceFactory();
-
- /**
- * Returns the default ontology storage system for this KReS instance.
- *
- * @return the default ontology store.
- */
-
-
- public ClerezzaOntologyStorage getOntologyStore();
-
- /**
- * Returns an OWL Ontology Manager that is never cleared of its ontologies,
- * so it can be used for caching ontologies without having to reload them
- * using other managers. It is sufficient to catch
- * {@link OWLOntologyAlreadyExistsException}s and obtain the ontology with
- * that same ID from this manager.
- *
- * @return the OWL Ontology Manager used for caching ontologies.
- */
- public OWLOntologyManager getOwlCacheManager();
-
- /**
- * Returns a factory object that can be used for obtaining OWL API objects.
- *
- * @return the default OWL data factory
- */
- public OWLDataFactory getOwlFactory();
-
- /**
- * Returns the default ontology registry loader.
- *
- * @return the default ontology registry loader.
- */
- public RegistryLoader getRegistryLoader();
-
- /**
- * Returns the unique ontology scope registry for this context.
- *
- * @return the ontology scope registry.
- */
- public ScopeRegistry getScopeRegistry();
-
- /**
- * Returns the unique KReS session manager for this context.
- *
- * @return the KreS session manager.
- */
- public SessionManager getSessionManager();
-
- /**
- * Returns the list of IRIs that identify scopes that should be activated on
- * startup, <i>if they exist</i>.
- *
- * @return the list of scope IDs to activate.
- */
- public String[] getUrisToActivate();
-
- /**
- * Returns the String that represent the namespace used by KReS for its ontologies
- *
- * @return the namespace of KReS.
- */
- public String getKReSNamespace();
+ public OWLOntologyManagerFactoryImpl getOntologyManagerFactory();
+
+ /**
+ * Returns the default object that automatically indexes ontologies as they are loaded within scopes.
+ *
+ * @return the default ontology index.
+ */
+ public OntologyIndex getOntologyIndex();
+
+ /**
+ * Returns the ontology scope factory that was created along with the manager context.
+ *
+ * @return the default ontology scope factory
+ */
+ public OntologyScopeFactory getOntologyScopeFactory();
+
+ /**
+ * Returns the ontology space factory that was created along with the manager context.
+ *
+ * @return the default ontology space factory.
+ */
+ public OntologySpaceFactory getOntologySpaceFactory();
+
+ /**
+ * Returns the default ontology storage system for this KReS instance.
+ *
+ * @return the default ontology store.
+ */
+
+ public ClerezzaOntologyStorage getOntologyStore();
+
+ /**
+ * Returns an OWL Ontology Manager that is never cleared of its ontologies, so it can be used for caching
+ * ontologies without having to reload them using other managers. It is sufficient to catch
+ * {@link OWLOntologyAlreadyExistsException}s and obtain the ontology with that same ID from this manager.
+ *
+ * @return the OWL Ontology Manager used for caching ontologies.
+ */
+ public OWLOntologyManager getOwlCacheManager();
+
+ /**
+ * Returns a factory object that can be used for obtaining OWL API objects.
+ *
+ * @return the default OWL data factory
+ */
+ public OWLDataFactory getOwlFactory();
+
+ /**
+ * Returns the default ontology registry loader.
+ *
+ * @return the default ontology registry loader.
+ */
+ public RegistryLoader getRegistryLoader();
+
+ /**
+ * Returns the unique ontology scope registry for this context.
+ *
+ * @return the ontology scope registry.
+ */
+ public ScopeRegistry getScopeRegistry();
+
+ /**
+ * Returns the unique KReS session manager for this context.
+ *
+ * @return the KreS session manager.
+ */
+ public SessionManager getSessionManager();
+
+ /**
+ * Returns the list of IRIs that identify scopes that should be activated on startup, <i>if they
+ * exist</i>.
+ *
+ * @return the list of scope IDs to activate.
+ */
+ public String[] getUrisToActivate();
+
+ /**
+ * Returns the String that represent the namespace used by KReS for its ontologies
+ *
+ * @return the namespace of KReS.
+ */
+ public String getKReSNamespace();
}
Added: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/OWLOntologyManagerFactory.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/OWLOntologyManagerFactory.java?rev=1138099&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/OWLOntologyManagerFactory.java (added)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/ontology/OWLOntologyManagerFactory.java Tue Jun 21 17:13:15 2011
@@ -0,0 +1,35 @@
+package org.apache.stanbol.ontologymanager.ontonet.api.ontology;
+
+import java.util.List;
+
+import org.semanticweb.owlapi.model.OWLOntologyIRIMapper;
+import org.semanticweb.owlapi.model.OWLOntologyManager;
+
+/**
+ * Generates new instances of {@link OWLOntologyManager} with optional offline support already enabled for
+ * each of them.
+ *
+ * @author alessandro
+ *
+ */
+public interface OWLOntologyManagerFactory {
+
+ /**
+ * Returns the list of local IRI mappers that are automatically bound to a newly created
+ * {@link OWLOntologyManager} if set to support offline mode. The IRI mappers are typically applied in
+ * order, therefore mappers at the end of the list may supersede those at its beginning.
+ *
+ * @return the list of local IRI mappers, in the order they are applied.
+ */
+ List<OWLOntologyIRIMapper> getLocalIRIMapperList();
+
+ /**
+ * Creates a new instance of {@link OWLOntologyManager}, with optional offline support.
+ *
+ * @param withOfflineSupport
+ * if true, the local IRI mappers obtained by calling {@link #getLocalIRIMapperList()} will be
+ * applied to the new ontology manager.
+ * @return a new OWL ontology manager.
+ */
+ OWLOntologyManager createOntologyManager(boolean withOfflineSupport);
+}
Copied: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/conf/OntologyNetworkConfigurationUtils.java (from r1138037, incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/conf/ConfigurationManagement.java)
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/conf/OntologyNetworkConfigurationUtils.java?p2=incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/conf/OntologyNetworkConfigurationUtils.java&p1=incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/conf/ConfigurationManagement.java&r1=1138037&r2=1138099&rev=1138099&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/conf/ConfigurationManagement.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/conf/OntologyNetworkConfigurationUtils.java Tue Jun 21 17:13:15 2011
@@ -54,7 +54,7 @@ import org.semanticweb.owlapi.model.OWLO
* @author alessandro
* @author enridaga
*/
-public class ConfigurationManagement {
+public class OntologyNetworkConfigurationUtils {
private static OWLDataFactory _df = OWLManager.getOWLDataFactory();
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/Activator.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/Activator.java?rev=1138099&r1=1138098&r2=1138099&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/Activator.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/Activator.java Tue Jun 21 17:13:15 2011
@@ -17,40 +17,14 @@ public class Activator implements Bundle
@Override
public void start(BundleContext context) throws Exception {
- // context.addBundleListener(new BundleListener() {
- //
- // @Override
- // public void bundleChanged(BundleEvent event) {
- // System.err.println("BundleEvent has fired");
- //
- // }
- // });
- // context.addFrameworkListener(new FrameworkListener() {
- //
- // @Override
- // public void frameworkEvent(FrameworkEvent event) {
- // System.err.println("FrameworkEvent has fired");
- //
- // }
- // });
- // context.addServiceListener(new ServiceListener() {
- //
- // @Override
- // public void serviceChanged(ServiceEvent event) {
- // System.err.println("ServiceEvent has fired");
- //
- // }
- // });
// context.getBundle().getLocation();
// Instantiate the static context for the KReS ONM
Logger log = LoggerFactory.getLogger(this.getClass());
log.debug("KReS :: Instantiating ONM static context...");
- // if (ONManager.get() != null) {
- // log.debug("KReS :: ONM static context instantiated.");
log.info("KReS :: Ontology Network Manager set up.");
- // }
+
}
@Override
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerConfigurationImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerConfigurationImpl.java?rev=1138099&r1=1138098&r2=1138099&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerConfigurationImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManagerConfigurationImpl.java Tue Jun 21 17:13:15 2011
@@ -38,7 +38,7 @@ public class ONManagerConfigurationImpl
/**
* TODO how do you use array initializers in Property annotations without causing compile errors?
*/
- @Property(name = ONManagerConfiguration.ONTOLOGY_PATHS, value = {".", "ontologies"})
+ @Property(name = ONManagerConfiguration.ONTOLOGY_PATHS, value = {".", "/ontologies"})
private String[] ontologyDirs;
@Property(name = ONManagerConfiguration.ID, value = _ID_DEFAULT)
@@ -51,7 +51,7 @@ public class ONManagerConfigurationImpl
* This default constructor is <b>only</b> intended to be used by the OSGI environment with Service
* Component Runtime support.
* <p>
- * DO NOT USE to manually create instances - the ReengineerManagerImpl instances do need to be configured!
+ * DO NOT USE to manually create instances - the ONManagerConfigurationImpl instances do need to be configured!
* YOU NEED TO USE {@link #ONManagerConfigurationImpl(Dictionary)} or its overloads, to parse the
* configuration and then initialise the rule store if running outside an OSGI environment.
*/
@@ -82,7 +82,7 @@ public class ONManagerConfigurationImpl
ontonetID = (String) configuration.get(ONManagerConfiguration.ID);
if (ontonetID == null) ontonetID = _ID_DEFAULT;
ontologyDirs = (String[]) configuration.get(ONManagerConfiguration.ONTOLOGY_PATHS);
- if (ontologyDirs == null) ontologyDirs = new String[] {".", "ontologies"};
+ if (ontologyDirs == null) ontologyDirs = new String[] {".", "/ontologies"};
ontonetNS = (String) configuration.get(ONManagerConfiguration.ONTOLOGY_NETWORK_NS);
if (ontonetNS == null) ontonetNS = _ONTOLOGY_NETWORK_NS_DEFAULT;
configPath = (String) configuration.get(ONManagerConfiguration.CONFIG_ONTOLOGY_PATH);
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=1138099&r1=1138098&r2=1138099&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 Tue Jun 21 17:13:15 2011
@@ -4,7 +4,9 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
+import java.util.ArrayList;
import java.util.Dictionary;
+import java.util.List;
import org.apache.clerezza.rdf.core.access.TcManager;
import org.apache.clerezza.rdf.core.access.WeightedTcProvider;
@@ -34,12 +36,12 @@ import org.apache.stanbol.ontologymanage
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.SessionManager;
-import org.apache.stanbol.ontologymanager.ontonet.conf.ConfigurationManagement;
import org.apache.stanbol.ontologymanager.ontonet.conf.OfflineConfiguration;
+import org.apache.stanbol.ontologymanager.ontonet.conf.OntologyNetworkConfigurationUtils;
import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
import org.apache.stanbol.ontologymanager.ontonet.impl.io.InMemoryOntologyStorage;
import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyIndexImpl;
-import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyManagerFactory;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OWLOntologyManagerFactoryImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyScopeFactoryImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologySpaceFactoryImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.ScopeRegistryImpl;
@@ -195,7 +197,7 @@ public class ONManagerImpl implements ON
private OntologyIndex oIndex;
- private OntologyManagerFactory omgrFactory;
+ private OWLOntologyManagerFactoryImpl omgrFactory;
private OntologyScopeFactory ontologyScopeFactory;
@@ -238,30 +240,37 @@ public class ONManagerImpl implements ON
public ONManagerImpl() {
super();
- OfflineConfiguration conf = new OfflineConfiguration();
- try {
- URI uri = ONManagerImpl.this.getClass().getResource("/ontologies").toURI();
- conf.addDirectory(new File(uri));
- } catch (Exception e3) {
- log.warn("Could not add ontology resource /ontologies.");
- }
- omgrFactory = new OntologyManagerFactory(conf);
-
- owlFactory = OWLManager.getOWLDataFactory();
- owlCacheManager = omgrFactory.createOntologyManager(true);
-
- // These depend on one another
- scopeRegistry = new ScopeRegistryImpl();
- oIndex = new OntologyIndexImpl(this);
-
- // Defer the call to the bindResources() method to the activator.
+// OfflineConfiguration conf = new OfflineConfiguration();
+// try {
+// URI uri = ONManagerImpl.this.getClass().getResource("/ontologies").toURI();
+// conf.addDirectory(new File(uri));
+// } catch (Exception e3) {
+// log.warn("Could not add ontology resource /ontologies.");
+// }
+// List<String> dirs = new ArrayList<String>();
+// try {
+// dirs = config.getOntologySourceDirectories();
+// } catch (NullPointerException ex) {
+// // Ok, go empty
+// }
+
+// omgrFactory = new OntologyManagerFactory(dirs);
+//
+// owlFactory = OWLManager.getOWLDataFactory();
+// owlCacheManager = omgrFactory.createOntologyManager(true);
+//
+// // These depend on one another
+// scopeRegistry = new ScopeRegistryImpl();
+// oIndex = new OntologyIndexImpl(this);
+//
+// // Defer the call to the bindResources() method to the activator.
}
/**
* @deprecated use
* {@link #ONManagerImpl(TcManager, WeightedTcProvider, ONManagerConfiguration, Dictionary)}
- * instead. Note that if the deprecated method is used instead, it will copy the Dictionary
- * context to a new {@link ONManagerConfiguration} object.
+ * instead. Note that if the deprecated method is used instead, its effect will be to copy the
+ * Dictionary context to a new {@link ONManagerConfiguration} object.
* @param tcm
* @param wtcp
* @param configuration
@@ -273,7 +282,7 @@ public class ONManagerImpl implements ON
}
/**
- * To be invoked by non-OSGi environments.
+ * Constructor to be invoked by non-OSGi environments.
*
* @param tcm
* @param wtcp
@@ -324,17 +333,38 @@ public class ONManagerImpl implements ON
} else {
log.info("id: {}", config.getID());
}
+
+
+ List<String> dirs = new ArrayList<String>();
+ try {
+ dirs = config.getOntologySourceDirectories();
+ } catch (NullPointerException ex) {
+ // Ok, go empty
+ }
+
+ omgrFactory = new OWLOntologyManagerFactoryImpl(dirs);
- // Local directories first
-// try {
-// URI uri = ONManagerImpl.this.getClass().getResource("/ontologies").toURI();
-// OfflineConfiguration.add(new File(uri));
-// } catch (URISyntaxException e3) {
-// log.warn("Could not add ontology resource.", e3);
-// } catch (NullPointerException e3) {
-// log.warn("Could not add ontology resource.", e3);
-// }
+ owlFactory = OWLManager.getOWLDataFactory();
+ owlCacheManager = omgrFactory.createOntologyManager(true);
+
+ // These depend on one another
+ scopeRegistry = new ScopeRegistryImpl();
+ oIndex = new OntologyIndexImpl(this);
+
+ // Defer the call to the bindResources() method to the activator.
+
+ // Get local directories
+ // Local directories first
+ // try {
+ // URI uri = ONManagerImpl.this.getClass().getResource("/ontologies").toURI();
+ // OfflineConfiguration.add(new File(uri));
+ // } catch (URISyntaxException e3) {
+ // log.warn("Could not add ontology resource.", e3);
+ // } catch (NullPointerException e3) {
+ // log.warn("Could not add ontology resource.", e3);
+ // }
+
// // if (storage == null) storage = new OntologyStorage(this.tcm, this.wtcp);
bindResources(this.tcm, this.wtcp);
@@ -443,10 +473,10 @@ public class ONManagerImpl implements ON
/**
* We create and register the scopes before activating
*/
- for (String scopeIRI : ConfigurationManagement.getScopes(configOntology)) {
+ for (String scopeIRI : OntologyNetworkConfigurationUtils.getScopes(configOntology)) {
- String[] cores = ConfigurationManagement.getCoreOntologies(configOntology, scopeIRI);
- String[] customs = ConfigurationManagement.getCustomOntologies(configOntology, scopeIRI);
+ String[] cores = OntologyNetworkConfigurationUtils.getCoreOntologies(configOntology, scopeIRI);
+ String[] customs = OntologyNetworkConfigurationUtils.getCustomOntologies(configOntology, scopeIRI);
// "Be a man. Use printf"
log.debug("KReS :: Scope " + scopeIRI);
@@ -489,7 +519,7 @@ public class ONManagerImpl implements ON
/**
* Try to get activation policies
*/
- toActivate = ConfigurationManagement.getScopesToActivate(configOntology);
+ toActivate = OntologyNetworkConfigurationUtils.getScopesToActivate(configOntology);
for (String scopeID : toActivate) {
try {
@@ -546,7 +576,7 @@ public class ONManagerImpl implements ON
return oIndex;
}
- public OntologyManagerFactory getOntologyManagerFactory() {
+ public OWLOntologyManagerFactoryImpl getOntologyManagerFactory() {
return omgrFactory;
}
Copied: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OWLOntologyManagerFactoryImpl.java (from r1138037, incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyManagerFactory.java)
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OWLOntologyManagerFactoryImpl.java?p2=incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OWLOntologyManagerFactoryImpl.java&p1=incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyManagerFactory.java&r1=1138037&r2=1138099&rev=1138099&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyManagerFactory.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OWLOntologyManagerFactoryImpl.java Tue Jun 21 17:13:15 2011
@@ -1,48 +1,76 @@
package org.apache.stanbol.ontologymanager.ontonet.impl.ontology;
import java.io.File;
-import java.util.Iterator;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
-import org.apache.stanbol.ontologymanager.ontonet.conf.OfflineConfiguration;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OWLOntologyManagerFactory;
import org.semanticweb.owlapi.apibinding.OWLManager;
import org.semanticweb.owlapi.model.OWLOntologyIRIMapper;
import org.semanticweb.owlapi.model.OWLOntologyManager;
import org.semanticweb.owlapi.util.AutoIRIMapper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* FIXME: decide on this class either implementing an interface or providing static methods.
*
* @author alessandro
- *
+ *
*/
-public class OntologyManagerFactory {
+public class OWLOntologyManagerFactoryImpl implements OWLOntologyManagerFactory {
- private OfflineConfiguration config;
+ private List<OWLOntologyIRIMapper> iriMappers;
- private OWLOntologyIRIMapper[] iriMappers = new OWLOntologyIRIMapper[0];
+ private Logger log = LoggerFactory.getLogger(getClass());
- public OntologyManagerFactory() {
+ public OWLOntologyManagerFactoryImpl() {
this(null);
}
- public OntologyManagerFactory(OfflineConfiguration config) {
- this.config = config;
- if (this.config != null) {
- // Create IRI mappers to reuse for all ontology managers.
- iriMappers = new OWLOntologyIRIMapper[this.config.getDirectories().size()];
- Iterator<File> it = this.config.getDirectories().iterator();
- int j = 0;
- while (it.hasNext()) {
- iriMappers[j++] = new AutoIRIMapper(it.next(), true);
+ /**
+ *
+ * @param dirs
+ */
+ public OWLOntologyManagerFactoryImpl(List<String> dirs) {
+
+ if (dirs != null) {
+ iriMappers = new ArrayList<OWLOntologyIRIMapper>(dirs.size());
+ for (String path : dirs) {
+ File dir = null;
+ if (path.startsWith("/")) {
+ try {
+ dir = new File(getClass().getResource(path).toURI());
+ } catch (URISyntaxException e) {
+ // Don't give up. It could still an absolute path.
+ }
+ } else try {
+ dir = new File(path);
+ } catch (Exception e1) {
+ try {
+ dir = new File(URI.create(path));
+ } catch (Exception e2) {
+ log.warn("Unable to obtain a path for {}", dir, e2);
+ }
+ }
+ if (dir != null && dir.isDirectory()) iriMappers.add(new AutoIRIMapper(dir, true));
}
}
}
+ @Override
public OWLOntologyManager createOntologyManager(boolean withOfflineSupport) {
OWLOntologyManager mgr = OWLManager.createOWLOntologyManager();
- if (withOfflineSupport) for (OWLOntologyIRIMapper mapper : iriMappers)
+ if (withOfflineSupport) for (OWLOntologyIRIMapper mapper : getLocalIRIMapperList())
mgr.addIRIMapper(mapper);
return mgr;
}
+ @Override
+ public List<OWLOntologyIRIMapper> getLocalIRIMapperList() {
+ return iriMappers;
+ }
+
}
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=1138099&r1=1138098&r2=1138099&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 Tue Jun 21 17:13:15 2011
@@ -33,9 +33,9 @@ public class OntologySpaceFactoryImpl im
*/
protected ClerezzaOntologyStorage storage;
- protected OntologyManagerFactory mgrFactory;
+ protected OWLOntologyManagerFactoryImpl mgrFactory;
- public OntologySpaceFactoryImpl(ScopeRegistry registry, ClerezzaOntologyStorage storage, OntologyManagerFactory mgrFactory) {
+ public OntologySpaceFactoryImpl(ScopeRegistry registry, ClerezzaOntologyStorage storage, OWLOntologyManagerFactoryImpl mgrFactory) {
this.registry = registry;
this.storage = storage;
this.mgrFactory = mgrFactory;
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/registry/model/impl/RegistryLoaderImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/registry/model/impl/RegistryLoaderImpl.java?rev=1138099&r1=1138098&r2=1138099&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/registry/model/impl/RegistryLoaderImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/registry/model/impl/RegistryLoaderImpl.java Tue Jun 21 17:13:15 2011
@@ -23,7 +23,7 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.api.registry.models.RegistryItem;
import org.apache.stanbol.ontologymanager.ontonet.api.registry.models.RegistryLibrary;
import org.apache.stanbol.ontologymanager.ontonet.api.registry.models.RegistryOntology;
-import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyManagerFactory;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OWLOntologyManagerFactoryImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.registry.cache.ODPRegistryCacheException;
import org.apache.stanbol.ontologymanager.ontonet.impl.registry.cache.ODPRegistryCacheManager;
import org.apache.stanbol.ontologymanager.ontonet.impl.registry.cache.URIUnresolvableException;
@@ -205,7 +205,7 @@ public class RegistryLoaderImpl implemen
}
private OWLOntology getOntologyForRegistryLocationNoCached(URI location) {
- OntologyManagerFactory factory = onm.getOntologyManagerFactory();
+ OWLOntologyManagerFactoryImpl factory = onm.getOntologyManagerFactory();
IRI iri = IRI.create(location);
try {
if (factory != null) return factory.createOntologyManager(true).loadOntologyFromOntologyDocument(
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestIndexing.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestIndexing.java?rev=1138099&r1=1138098&r2=1138099&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestIndexing.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestIndexing.java Tue Jun 21 17:13:15 2011
@@ -8,12 +8,14 @@ import java.util.Hashtable;
import org.apache.stanbol.ontologymanager.ontonet.api.DuplicateIDException;
import org.apache.stanbol.ontologymanager.ontonet.api.ONManager;
+import org.apache.stanbol.ontologymanager.ontonet.api.ONManagerConfiguration;
import org.apache.stanbol.ontologymanager.ontonet.api.io.OntologyInputSource;
import org.apache.stanbol.ontologymanager.ontonet.api.io.ParentPathInputSource;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyIndex;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyScope;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologySpace;
import org.apache.stanbol.ontologymanager.ontonet.api.registry.io.OntologyRegistryIRISource;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ONManagerConfigurationImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.ONManagerImpl;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -28,13 +30,12 @@ public class TestIndexing {
private static OWLOntologyManager mgr;
- private static IRI semionXmlIri = IRI.create("http://www.ontologydesignpatterns.org/ont/iks/oxml.owl"),
- communitiesCpIri = IRI.create("http://www.ontologydesignpatterns.org/cp/owl/communities.owl"),
- topicCpIri = IRI.create("http://www.ontologydesignpatterns.org/cp/owl/topic.owl"), objrole = IRI
- .create("http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl"), scopeIri = IRI
- .create("http://fise.iks-project.eu/TestIndexing"),
- // submissionsIri = IRI
- // .create("http://www.ontologydesignpatterns.org/registry/submissions.owl"),
+ private static IRI communitiesCpIri = IRI
+ .create("http://www.ontologydesignpatterns.org/cp/owl/communities.owl"), objrole = IRI
+ .create("http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl"), scopeIri = IRI
+ .create("http://fise.iks-project.eu/TestIndexing"),
+ // submissionsIri = IRI
+ // .create("http://www.ontologydesignpatterns.org/registry/submissions.owl"),
testRegistryIri = IRI.create("http://www.ontologydesignpatterns.org/registry/krestest.owl");
private static OntologyScope scope = null;
@@ -42,13 +43,16 @@ public class TestIndexing {
@BeforeClass
public static void setup() {
// An ONManagerImpl with no store and default settings
- onm = new ONManagerImpl(null, null, new Hashtable<String,Object>());
+ ONManagerConfiguration conf = new ONManagerConfigurationImpl(new Hashtable<String,Object>());
+ onm = new ONManagerImpl(null, null, conf, new Hashtable<String,Object>());
mgr = onm.getOntologyManagerFactory().createOntologyManager(true);
// Since it is registered, this scope must be unique, or subsequent
// tests will fail on duplicate ID exceptions!
scopeIri = IRI.create("http://fise.iks-project.eu/TestIndexing");
IRI coreroot = IRI.create(scopeIri + "/core/root.owl");
+
+ @SuppressWarnings("unused")
OWLOntology oParent = null;
try {
oParent = mgr.createOntology(coreroot);
@@ -63,12 +67,12 @@ public class TestIndexing {
scopeIri,
new OntologyRegistryIRISource(testRegistryIri, onm.getOwlCacheManager(), onm
.getRegistryLoader(), null
-// new RootOntologySource(oParent
+ // new RootOntologySource(oParent
));
-
+
for (OWLOntology o : scope.getCustomSpace().getOntologies())
- System.out.println("SCOPONE "+o.getOntologyID());
-
+ System.out.println("SCOPONE " + o.getOntologyID());
+
onm.getScopeRegistry().registerScope(scope);
} catch (DuplicateIDException e) {
// Uncomment if annotated with @BeforeClass instead of @Before ,
@@ -87,8 +91,8 @@ public class TestIndexing {
File f = new File(url.toURI());
assertNotNull(f);
OntologyInputSource commSrc = new ParentPathInputSource(f);
-
- OntologySpace cust = scope.getCustomSpace();
+
+ OntologySpace cust = scope.getCustomSpace();
cust.addOntology(commSrc);
assertTrue(index.isOntologyLoaded(communitiesCpIri));
@@ -108,11 +112,11 @@ public class TestIndexing {
OWLOntology oObjRole = mgr.loadOntology(objrole);
assertNotNull(oObjRole);
// Compare it against the one indexed.
- // FIXME reinstate these checks
-// OntologyIndex index = onm.getOntologyIndex();
-// assertNotNull(index.getOntology(objrole));
-// // assertSame() would fail.
-// assertEquals(index.getOntology(objrole), oObjRole);
+// FIXME reinstate these checks
+ // OntologyIndex index = onm.getOntologyIndex();
+ // assertNotNull(index.getOntology(objrole));
+ // // assertSame() would fail.
+ // assertEquals(index.getOntology(objrole), oObjRole);
}
@Test
@@ -123,8 +127,8 @@ public class TestIndexing {
IRI objrole = IRI.create("http://www.ontologydesignpatterns.org/cp/owl/objectrole.owl");
// FIXME reinstate these checks
-// assertTrue(index.isOntologyLoaded(coreroot));
-// assertTrue(index.isOntologyLoaded(objrole));
+ // assertTrue(index.isOntologyLoaded(coreroot));
+ // assertTrue(index.isOntologyLoaded(objrole));
// TODO : find a way to index anonymous ontologies
assertTrue(!index.isOntologyLoaded(dne));
}
Modified: incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologyScope.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologyScope.java?rev=1138099&r1=1138098&r2=1138099&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologyScope.java (original)
+++ incubator/stanbol/trunk/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologyScope.java Tue Jun 21 17:13:15 2011
@@ -18,7 +18,7 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.ontonet.impl.ONManagerImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.CoreOntologySpaceImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.CustomOntologySpaceImpl;
-import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyManagerFactory;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OWLOntologyManagerFactoryImpl;
import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyScopeFactoryImpl;
import org.junit.Before;
import org.junit.BeforeClass;