[infinispan-commits] Infinispan SVN: r547 - in trunk/core/src: test/java/org/infinispan/config/parsing and 1 other directory.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Fri Jul 10 10:26:41 EDT 2009


Author: vblagojevic at jboss.com
Date: 2009-07-10 10:26:40 -0400 (Fri, 10 Jul 2009)
New Revision: 547

Modified:
   trunk/core/src/main/java/org/infinispan/config/parsing/AutomatedXmlConfigurationParserImpl.java
   trunk/core/src/main/java/org/infinispan/config/parsing/CacheLoaderManagerConfigReader.java
   trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java
Log:
handle attributes of <loaders> properly

Modified: trunk/core/src/main/java/org/infinispan/config/parsing/AutomatedXmlConfigurationParserImpl.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/parsing/AutomatedXmlConfigurationParserImpl.java	2009-07-10 14:15:39 UTC (rev 546)
+++ trunk/core/src/main/java/org/infinispan/config/parsing/AutomatedXmlConfigurationParserImpl.java	2009-07-10 14:26:40 UTC (rev 547)
@@ -180,7 +180,7 @@
       return gc;
    }
    
-   public AbstractConfigurationBean findAndInstantiateBean(List<Class<?>> b, Element e) throws ConfigurationException {
+   AbstractConfigurationBean findAndInstantiateBean(List<Class<?>> b, Element e) throws ConfigurationException {
       String name = e.getTagName();
       String parentName = ((Element)e.getParentNode()).getTagName();
       if(parentName.equals("namedCache"))
@@ -211,7 +211,7 @@
       return null;
    }
    
-   public AbstractConfigurationBean findAndInstantiateBean(Element e) throws ConfigurationException {
+   AbstractConfigurationBean findAndInstantiateBean(Element e) throws ConfigurationException {
       return findAndInstantiateBean(CONFIG_BEANS,e);
    }
    
@@ -253,7 +253,7 @@
       return null;
    }
    
-   public void visitElement(Element e, AbstractConfigurationBean bean) throws ConfigurationException {     
+   void visitElement(Element e, AbstractConfigurationBean bean) throws ConfigurationException {     
       ConfigurationElement ce = customReader(e, bean.getClass());      
       //has custom reader? if so, use it
       if (ce != null) {
@@ -273,7 +273,7 @@
       }
    }
 
-   public void visitElementWithNoCustomReader(Element e, AbstractConfigurationBean bean) {
+   void visitElementWithNoCustomReader(Element e, AbstractConfigurationBean bean) {
       for (Method m : bean.getClass().getMethods()) {
          boolean setter = m.getName().startsWith("set") && m.getParameterTypes().length == 1;
          if (setter) {
@@ -291,7 +291,7 @@
       }
    }
    
-   private void reflectAndInvokeAttribute(AbstractConfigurationBean bean, Method m, Element node) {     
+   void reflectAndInvokeAttribute(AbstractConfigurationBean bean, Method m, Element node) {     
       Class<?> parameterType = m.getParameterTypes()[0];
       // is there a ConfigurationAttribute matching the current node iterated?
       ConfigurationAttribute a = m.getAnnotation(ConfigurationAttribute.class);
@@ -338,7 +338,7 @@
       }
    }
    
-   private boolean reflectAndInvokeProperties(AbstractConfigurationBean bean, Method m, Element node){
+   boolean reflectAndInvokeProperties(AbstractConfigurationBean bean, Method m, Element node){
       Class<?> parameterType = m.getParameterTypes()[0];
       
       //how about ConfigurationProperties or ConfigurationProperty matching the current node iterated?

Modified: trunk/core/src/main/java/org/infinispan/config/parsing/CacheLoaderManagerConfigReader.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/parsing/CacheLoaderManagerConfigReader.java	2009-07-10 14:15:39 UTC (rev 546)
+++ trunk/core/src/main/java/org/infinispan/config/parsing/CacheLoaderManagerConfigReader.java	2009-07-10 14:26:40 UTC (rev 547)
@@ -21,6 +21,7 @@
  */
 package org.infinispan.config.parsing;
 
+import java.lang.reflect.Method;
 import java.util.Set;
 
 import org.infinispan.config.AbstractConfigurationBean;
@@ -48,7 +49,13 @@
       CacheLoaderManagerConfig cBean = (CacheLoaderManagerConfig) parser.findAndInstantiateBean(e);
       
       //set attributes of <loaders/>
-      parser.visitElementWithNoCustomReader(e, cBean);
+      for (Method m : cBean.getClass().getMethods()) {
+         boolean setter = m.getName().startsWith("set") && m.getParameterTypes().length == 1;
+         if (setter) {
+            parser.reflectAndInvokeAttribute(cBean, m, e);
+            parser.reflectAndInvokeProperties(cBean, m, e);              
+         }
+      }
       
       Set<Element> elements = parser.getAllElementsInCoreNS("loader", e);
       if (elements.isEmpty())

Modified: trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java	2009-07-10 14:15:39 UTC (rev 546)
+++ trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java	2009-07-10 14:26:40 UTC (rev 547)
@@ -114,6 +114,9 @@
 
       c = namedCaches.get("withLoader");
       CacheLoaderManagerConfig loaderManagerConfig = c.getCacheLoaderManagerConfig();
+      assert loaderManagerConfig.isPreload();
+      assert !loaderManagerConfig.isPassivation();
+      assert !loaderManagerConfig.isShared(); 
       assert loaderManagerConfig.getCacheLoaderConfigs().size() == 1;
       FileCacheStoreConfig csConf = (FileCacheStoreConfig) loaderManagerConfig.getFirstCacheLoaderConfig();
       assert csConf.getCacheLoaderClassName().equals("org.infinispan.loaders.file.FileCacheStore");




More information about the infinispan-commits mailing list