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/24 12:17:29 UTC
svn commit: r1150323 - in
/incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry:
api/RegistryManager.java impl/RegistryManagerImpl.java
Author: alexdma
Date: Sun Jul 24 10:17:28 2011
New Revision: 1150323
URL: http://svn.apache.org/viewvc?rev=1150323&view=rev
Log:
Using enums to manage caching policies in STANBOL-285
Modified:
incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/api/RegistryManager.java
incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/impl/RegistryManagerImpl.java
Modified: incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/api/RegistryManager.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/api/RegistryManager.java?rev=1150323&r1=1150322&r2=1150323&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/api/RegistryManager.java (original)
+++ incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/api/RegistryManager.java Sun Jul 24 10:17:28 2011
@@ -18,6 +18,7 @@ package org.apache.stanbol.ontologymanag
import java.util.Set;
+import org.apache.stanbol.ontologymanager.registry.api.model.CachingPolicy;
import org.apache.stanbol.ontologymanager.registry.api.model.Library;
import org.apache.stanbol.ontologymanager.registry.api.model.Registry;
import org.apache.stanbol.ontologymanager.registry.api.model.RegistryOntology;
@@ -77,6 +78,13 @@ public interface RegistryManager {
Set<Registry> createModel(Set<OWLOntology> registryOntologies);
/**
+ * Returns the ontology caching policy currently adopted by the registry manager.
+ *
+ * @return the caching policy.
+ */
+ CachingPolicy getCachingPolicy();
+
+ /**
* Returns all the libraries that contain the ontology with the given identifier.
*
* @param ontologyID
Modified: incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/impl/RegistryManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/impl/RegistryManagerImpl.java?rev=1150323&r1=1150322&r2=1150323&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/impl/RegistryManagerImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/impl/RegistryManagerImpl.java Sun Jul 24 10:17:28 2011
@@ -34,6 +34,7 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.registry.api.RegistryContentListener;
import org.apache.stanbol.ontologymanager.registry.api.RegistryItemFactory;
import org.apache.stanbol.ontologymanager.registry.api.RegistryManager;
+import org.apache.stanbol.ontologymanager.registry.api.model.CachingPolicy;
import org.apache.stanbol.ontologymanager.registry.api.model.Library;
import org.apache.stanbol.ontologymanager.registry.api.model.Registry;
import org.apache.stanbol.ontologymanager.registry.api.model.RegistryItem;
@@ -71,6 +72,8 @@ import org.slf4j.LoggerFactory;
@Service(RegistryManager.class)
public class RegistryManagerImpl implements RegistryManager, RegistryContentListener {
+ private static final CachingPolicy _CACHING_POLICY_DEFAULT = CachingPolicy.CROSS_REGISTRY;
+
private static final boolean _LAZY_LOADING_DEFAULT = false;
private static final OWLClass cRegistryLibrary, cOntology;
@@ -90,10 +93,10 @@ public class RegistryManagerImpl impleme
@Property(name = RegistryManager.CACHING_POLICY, options = {
@PropertyOption(value = '%'
+ RegistryManager.CACHING_POLICY
- + ".option.registry", name = "registry"),
+ + ".option.registry", name = "PER_REGISTRY"),
@PropertyOption(value = '%'
+ RegistryManager.CACHING_POLICY
- + ".option.all", name = "all")}, value = "all")
+ + ".option.all", name = "CROSS_REGISTRY")}, value = "CROSS_REGISTRY")
private String cachingPolicyString;
@Property(name = RegistryManager.LAZY_LOADING, boolValue = _LAZY_LOADING_DEFAULT)
@@ -157,7 +160,13 @@ public class RegistryManagerImpl impleme
}
locations = (String[]) configuration.get(RegistryManager.REGISTRY_LOCATIONS);
if (locations == null) locations = new String[] {};
- // TODO manage enum constants for caching policy.
+ Object cachingPolicy = configuration.get(RegistryManager.CACHING_POLICY);
+ if (cachingPolicy == null) {
+ this.cachingPolicyString = _CACHING_POLICY_DEFAULT.name();
+ } else {
+ this.cachingPolicyString = cachingPolicy.toString();
+ }
+ // System.err.println(cachingPolicy);
OWLOntologyManager mgr = OWLManager.createOWLOntologyManager();
// Load registries
@@ -306,6 +315,18 @@ public class RegistryManagerImpl impleme
}
@Override
+ public CachingPolicy getCachingPolicy() {
+ try {
+ return CachingPolicy.valueOf(cachingPolicyString);
+ } catch (IllegalArgumentException e) {
+ log.warn("The value \"" + cachingPolicyString
+ + "\" configured as default CachingPolicy does not match any value of the Enumeration! "
+ + "Return the default policy as defined by the " + CachingPolicy.class + ".");
+ return _CACHING_POLICY_DEFAULT;
+ }
+ }
+
+ @Override
public Set<Library> getLibraries(IRI ontologyID) {
// TODO Auto-generated method stub
return null;