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;