[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