[infinispan-commits] Infinispan SVN: r806 - in trunk/core/src/main/java/org/infinispan: loaders and 1 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Thu Sep 10 21:37:44 EDT 2009
Author: vblagojevic at jboss.com
Date: 2009-09-10 21:37:44 -0400 (Thu, 10 Sep 2009)
New Revision: 806
Modified:
trunk/core/src/main/java/org/infinispan/config/AbstractConfigurationBean.java
trunk/core/src/main/java/org/infinispan/config/AbstractConfigurationBeanVisitor.java
trunk/core/src/main/java/org/infinispan/config/CacheLoaderManagerConfig.java
trunk/core/src/main/java/org/infinispan/config/Configuration.java
trunk/core/src/main/java/org/infinispan/config/ConfigurationBeanVisitor.java
trunk/core/src/main/java/org/infinispan/config/ConfigurationValidatingVisitor.java
trunk/core/src/main/java/org/infinispan/config/CustomInterceptorConfig.java
trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
trunk/core/src/main/java/org/infinispan/config/InfinispanConfiguration.java
trunk/core/src/main/java/org/infinispan/loaders/AbstractCacheLoaderConfig.java
trunk/core/src/main/java/org/infinispan/loaders/AbstractCacheStoreConfig.java
trunk/core/src/main/java/org/infinispan/loaders/CacheLoaderConfig.java
trunk/core/src/main/java/org/infinispan/loaders/decorators/AsyncStoreConfig.java
trunk/core/src/main/java/org/infinispan/loaders/decorators/SingletonStoreConfig.java
Log:
[ISPN-145] - No transport and singleton store enabled should not be allowed
use visitor pattern without reflection for InfinispanConfiguration
Modified: trunk/core/src/main/java/org/infinispan/config/AbstractConfigurationBean.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/AbstractConfigurationBean.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/config/AbstractConfigurationBean.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -61,9 +61,6 @@
protected AbstractConfigurationBean() {
}
- public void accept(ConfigurationBeanVisitor v){
- v.visit(this);
- }
/**
* Safely converts a String to upper case.
Modified: trunk/core/src/main/java/org/infinispan/config/AbstractConfigurationBeanVisitor.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/AbstractConfigurationBeanVisitor.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/config/AbstractConfigurationBeanVisitor.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -21,8 +21,28 @@
*/
package org.infinispan.config;
-import java.lang.reflect.Method;
-
+import org.infinispan.config.Configuration.AsyncType;
+import org.infinispan.config.Configuration.BooleanAttributeType;
+import org.infinispan.config.Configuration.ClusteringType;
+import org.infinispan.config.Configuration.CustomInterceptorsType;
+import org.infinispan.config.Configuration.DeadlockDetectionType;
+import org.infinispan.config.Configuration.EvictionType;
+import org.infinispan.config.Configuration.ExpirationType;
+import org.infinispan.config.Configuration.HashType;
+import org.infinispan.config.Configuration.L1Type;
+import org.infinispan.config.Configuration.LockingType;
+import org.infinispan.config.Configuration.StateRetrievalType;
+import org.infinispan.config.Configuration.SyncType;
+import org.infinispan.config.Configuration.TransactionType;
+import org.infinispan.config.Configuration.UnsafeType;
+import org.infinispan.config.GlobalConfiguration.FactoryClassWithPropertiesType;
+import org.infinispan.config.GlobalConfiguration.GlobalJmxStatisticsType;
+import org.infinispan.config.GlobalConfiguration.SerializationType;
+import org.infinispan.config.GlobalConfiguration.ShutdownType;
+import org.infinispan.config.GlobalConfiguration.TransportType;
+import org.infinispan.loaders.CacheLoaderConfig;
+import org.infinispan.loaders.decorators.AsyncStoreConfig;
+import org.infinispan.loaders.decorators.SingletonStoreConfig;
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
@@ -48,47 +68,117 @@
*/
public abstract class AbstractConfigurationBeanVisitor implements ConfigurationBeanVisitor {
- protected transient Log log = LogFactory.getLog(getClass());
+ protected transient Log log = LogFactory.getLog(getClass());
- private Method findVisitMethod(AbstractConfigurationBean bean) throws Exception {
- Class<?> cl = bean.getClass();
- while (!cl.equals(AbstractConfigurationBean.class)) {
- try {
- return this.getClass().getDeclaredMethod("visit", new Class[] { cl });
- } catch (NoSuchMethodException ex) {
- cl = cl.getSuperclass();
- }
- }
- // Check through interfaces for matching method
- Class<?>[] interfaces = bean.getClass().getInterfaces();
- for (int i = 0; i < interfaces.length; i++) {
- try {
- return this.getClass().getDeclaredMethod("visit", new Class[] { interfaces[i] });
- } catch (NoSuchMethodException ex) {
- }
- }
- return null;
- }
+ public void visitInfinispanConfiguration(InfinispanConfiguration bean) {
+ }
+
+ public void visitAsyncStoreConfig(AsyncStoreConfig bean) {
+ defaultVisit(bean);
+ }
- public void visit(AbstractConfigurationBean bean) {
- Method m = null;
- try {
- m = findVisitMethod(bean);
- } catch (Exception e) {
- log.warn("Could not reflect visit method for bean " + bean, e);
- }
- if (m == null) {
- defaultVisit(bean);
- } else {
- try {
- m.invoke(this, new Object[] { bean });
- } catch (Exception e) {
- log.warn("Invocation for visitor method " + m + " on bean " + bean
- + " has thrown exception", e);
- }
- }
- }
+ public void visitAsyncType(AsyncType bean) {
+ defaultVisit(bean);
+ }
- public void defaultVisit(AbstractConfigurationBean c) {}
+ public void visitBooleanAttributeType(BooleanAttributeType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitCacheLoaderConfig(CacheLoaderConfig bean) {
+
+ }
+
+ public void visitCacheLoaderManagerConfig(CacheLoaderManagerConfig bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitClusteringType(ClusteringType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitConfiguration(Configuration bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitCustomInterceptorsType(CustomInterceptorsType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitDeadlockDetectionType(DeadlockDetectionType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitEvictionType(EvictionType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitExpirationType(ExpirationType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitFactoryClassWithPropertiesType(FactoryClassWithPropertiesType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitGlobalConfiguration(GlobalConfiguration bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitGlobalJmxStatisticsType(GlobalJmxStatisticsType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitHashType(HashType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitL1Type(L1Type bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitLockingType(LockingType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitSerializationType(SerializationType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitShutdownType(ShutdownType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitSingletonStoreConfig(SingletonStoreConfig bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitStateRetrievalType(StateRetrievalType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitSyncType(SyncType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitTransactionType(TransactionType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitTransportType(TransportType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitUnsafeType(UnsafeType bean) {
+ defaultVisit(bean);
+ }
+
+ public void visitCustomInterceptorConfig(CustomInterceptorConfig bean) {
+ defaultVisit(bean);
+ }
+
+ public void defaultVisit(AbstractConfigurationBean c) {
+ }
+
}
Modified: trunk/core/src/main/java/org/infinispan/config/CacheLoaderManagerConfig.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/CacheLoaderManagerConfig.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/config/CacheLoaderManagerConfig.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -148,14 +148,13 @@
}
return false;
}
-
- @Override
- public void accept(ConfigurationBeanVisitor v) {
- super.accept(v);
- for (CacheLoaderConfig clc : cacheLoaderConfigs) {
- ((AbstractConfigurationBean) clc).accept(v);
- }
- }
+
+ public void accept(ConfigurationBeanVisitor v) {
+ for (CacheLoaderConfig clc : cacheLoaderConfigs) {
+ clc.accept(v);
+ }
+ v.visitCacheLoaderManagerConfig(this);
+ }
@Override
public int hashCode() {
Modified: trunk/core/src/main/java/org/infinispan/config/Configuration.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/Configuration.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/config/Configuration.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -538,21 +538,20 @@
// OVERRIDDEN METHODS
// ------------------------------------------------------------------------------------------------------------
- @Override
- public void accept(ConfigurationBeanVisitor v) {
- super.accept(v);
- clustering.accept(v);
- customInterceptors.accept(v);
- deadlockDetection.accept(v);
- eviction.accept(v);
- expiration.accept(v);
- invocationBatching.accept(v);
- jmxStatistics.accept(v);
- lazyDeserialization.accept(v);
- loaders.accept(v);
- locking.accept(v);
- transaction.accept(v);
- unsafe.accept(v);
+ public void accept(ConfigurationBeanVisitor v) {
+ clustering.accept(v);
+ customInterceptors.accept(v);
+ deadlockDetection.accept(v);
+ eviction.accept(v);
+ expiration.accept(v);
+ invocationBatching.accept(v);
+ jmxStatistics.accept(v);
+ lazyDeserialization.accept(v);
+ loaders.accept(v);
+ locking.accept(v);
+ transaction.accept(v);
+ unsafe.accept(v);
+ v.visitConfiguration(this);
}
@Override
@@ -701,6 +700,10 @@
this.transactionManagerLookupClass = transactionManagerLookupClass;
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitTransactionType(this);
+ }
+
public TransactionType() {
this.transactionManagerLookupClass = GenericTransactionManagerLookup.class.getName();
}
@@ -797,6 +800,11 @@
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitLockingType(this);
+ }
+
+
@XmlAttribute
public void setIsolationLevel(IsolationLevel isolationLevel) {
testImmutability("isolationLevel");
@@ -910,14 +918,13 @@
return dolly;
}
- @Override
- public void accept(ConfigurationBeanVisitor v) {
- super.accept(v);
+ public void accept(ConfigurationBeanVisitor v) {
async.accept(v);
hash.accept(v);
l1.accept(v);
stateRetrieval.accept(v);
sync.accept(v);
+ v.visitClusteringType(this);
}
@Override
@@ -1018,6 +1025,10 @@
this.readFromXml = readFromXml;
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitAsyncType(this);
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -1099,6 +1110,10 @@
this.lifespan = lifespan;
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitExpirationType(this);
+ }
+
@XmlAttribute
public void setMaxIdle(Long maxIdle) {
testImmutability("maxIdle");
@@ -1151,6 +1166,10 @@
this.wakeUpInterval = wakeUpInterval;
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitEvictionType(this);
+ }
+
@XmlAttribute
public void setStrategy(EvictionStrategy strategy) {
testImmutability("strategy");
@@ -1212,6 +1231,10 @@
this.fetchInMemoryState = fetchInMemoryState;
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitStateRetrievalType(this);
+ }
+
@XmlAttribute
public void setTimeout(Long timeout) {
testImmutability("timeout");
@@ -1261,6 +1284,10 @@
this.replTimeout = replTimeout;
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitSyncType(this);
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -1313,6 +1340,10 @@
this.consistentHashClass = consistentHashClass;
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitHashType(this);
+ }
+
@XmlAttribute
public void setNumOwners(Integer numOwners) {
testImmutability("numOwners");
@@ -1384,6 +1415,10 @@
this.enabled = enabled;
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitL1Type(this);
+ }
+
@XmlAttribute
public void setLifespan(Long lifespan) {
testImmutability("lifespan");
@@ -1441,6 +1476,10 @@
this.enabled = enabled;
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitBooleanAttributeType(this);
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -1483,6 +1522,10 @@
this.enabled = enabled;
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitDeadlockDetectionType(this);
+ }
+
@XmlAttribute
public void setSpinDuration(Long spinDuration) {
testImmutability("spinDuration");
@@ -1532,6 +1575,10 @@
this.unreliableReturnValues = unreliableReturnValues;
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitUnsafeType(this);
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -1576,13 +1623,16 @@
}
return dolly;
}
+
+ public void accept(ConfigurationBeanVisitor v) {
+ for (CustomInterceptorConfig i : customInterceptors) {
+ i.accept(v);
+ }
+ v.visitCustomInterceptorsType(this);
+ }
- @Override
- public void accept(ConfigurationBeanVisitor v) {
- super.accept(v);
- for (CustomInterceptorConfig cic : customInterceptors) {
- cic.accept(v);
- }
+ public List<CustomInterceptorConfig> getCustomInterceptors(){
+ return customInterceptors;
}
@Override
Modified: trunk/core/src/main/java/org/infinispan/config/ConfigurationBeanVisitor.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/ConfigurationBeanVisitor.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/config/ConfigurationBeanVisitor.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -21,6 +21,29 @@
*/
package org.infinispan.config;
+import org.infinispan.config.Configuration.AsyncType;
+import org.infinispan.config.Configuration.BooleanAttributeType;
+import org.infinispan.config.Configuration.ClusteringType;
+import org.infinispan.config.Configuration.CustomInterceptorsType;
+import org.infinispan.config.Configuration.DeadlockDetectionType;
+import org.infinispan.config.Configuration.EvictionType;
+import org.infinispan.config.Configuration.ExpirationType;
+import org.infinispan.config.Configuration.HashType;
+import org.infinispan.config.Configuration.L1Type;
+import org.infinispan.config.Configuration.LockingType;
+import org.infinispan.config.Configuration.StateRetrievalType;
+import org.infinispan.config.Configuration.SyncType;
+import org.infinispan.config.Configuration.TransactionType;
+import org.infinispan.config.Configuration.UnsafeType;
+import org.infinispan.config.GlobalConfiguration.FactoryClassWithPropertiesType;
+import org.infinispan.config.GlobalConfiguration.GlobalJmxStatisticsType;
+import org.infinispan.config.GlobalConfiguration.SerializationType;
+import org.infinispan.config.GlobalConfiguration.ShutdownType;
+import org.infinispan.config.GlobalConfiguration.TransportType;
+import org.infinispan.loaders.CacheLoaderConfig;
+import org.infinispan.loaders.decorators.AsyncStoreConfig;
+import org.infinispan.loaders.decorators.SingletonStoreConfig;
+
/**
* ConfigurationBeanVisitor implementations are passed through InfinispanConfiguration object tree
* visiting each configuration element of InfinispanConfiguration instance.
@@ -36,15 +59,60 @@
* @see AbstractConfigurationBeanVisitor
* @since 4.0
*/
-public interface ConfigurationBeanVisitor {
+public interface ConfigurationBeanVisitor {
+
+ void visitInfinispanConfiguration(InfinispanConfiguration bean);
+
+ void visitGlobalConfiguration(GlobalConfiguration bean);
+
+ void visitFactoryClassWithPropertiesType(FactoryClassWithPropertiesType bean);
+
+ void visitGlobalJmxStatisticsType(GlobalJmxStatisticsType bean);
+
+ void visitSerializationType(SerializationType bean);
+
+ void visitShutdownType(ShutdownType bean);
+
+ void visitTransportType(TransportType bean);
+
+ void visitConfiguration(Configuration bean);
+
+ void visitAsyncType(AsyncType bean);
+
+ void visitBooleanAttributeType(BooleanAttributeType bean);
+
+ void visitClusteringType(ClusteringType bean);
+
+ void visitCustomInterceptorsType(CustomInterceptorsType bean);
+
+ void visitDeadlockDetectionType(DeadlockDetectionType bean);
+
+ void visitEvictionType(EvictionType bean);
+
+ void visitExpirationType(ExpirationType bean);
+
+ void visitHashType(HashType bean);
+
+ void visitL1Type(L1Type bean);
+
+ void visitLockingType(LockingType bean);
+
+ void visitStateRetrievalType(StateRetrievalType bean);
+
+ void visitSyncType(SyncType bean);
+
+ void visitTransactionType(TransactionType bean);
+
+ void visitUnsafeType(UnsafeType bean);
+
+ void visitCacheLoaderManagerConfig(CacheLoaderManagerConfig bean);
+
+ void visitCacheLoaderConfig(CacheLoaderConfig bean);
+
+ void visitSingletonStoreConfig(SingletonStoreConfig bean);
+
+ void visitAsyncStoreConfig(AsyncStoreConfig bean);
- void visit(AbstractConfigurationBean bean);
+ void visitCustomInterceptorConfig(CustomInterceptorConfig customInterceptorConfig);
- /**
- * Signals end of traversal over InfinispanConfiguration instance
- *
- * @param infinispanConfiguration
- */
- void traversalCompleted(InfinispanConfiguration infinispanConfiguration);
-
}
Modified: trunk/core/src/main/java/org/infinispan/config/ConfigurationValidatingVisitor.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/ConfigurationValidatingVisitor.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/config/ConfigurationValidatingVisitor.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -32,21 +32,15 @@
* @since 4.0
*/
public class ConfigurationValidatingVisitor extends AbstractConfigurationBeanVisitor {
- private SingletonStoreConfig ssc = null;
private TransportType tt = null;
- public void visit(SingletonStoreConfig ssc) {
- this.ssc = ssc;
+ public void visitSingletonStoreConfig(SingletonStoreConfig ssc) {
+ if (tt == null) {
+ throw new ConfigurationException("Singleton store configured without transport being configured");
+ }
}
-
- public void visit(TransportType tt) {
+
+ public void visitTransportType(TransportType tt) {
this.tt = tt;
}
-
- public void traversalCompleted(InfinispanConfiguration infinispanConfiguration) {
- if (ssc != null && tt == null) {
- throw new ConfigurationException("Singleton store configured without transport being configured for "
- + infinispanConfiguration);
- }
- }
}
Modified: trunk/core/src/main/java/org/infinispan/config/CustomInterceptorConfig.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/CustomInterceptorConfig.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/config/CustomInterceptorConfig.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -336,4 +336,8 @@
enum Position {
FIRST,LAST;
}
+
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitCustomInterceptorConfig(this);
+ }
}
Modified: trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -330,9 +330,7 @@
transport.distributedSyncTimeout = distributedSyncTimeout;
}
- @Override
public void accept(ConfigurationBeanVisitor v) {
- super.accept(v);
asyncListenerExecutor.accept(v);
asyncTransportExecutor.accept(v);
evictionScheduledExecutor.accept(v);
@@ -340,7 +338,8 @@
replicationQueueScheduledExecutor.accept(v);
serialization.accept(v);
shutdown.accept(v);
- transport.accept(v);
+ transport.accept(v);
+ v.visitGlobalConfiguration(this);
}
@Override
@@ -466,6 +465,10 @@
this.factory = factory;
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitFactoryClassWithPropertiesType(this);
+ }
+
public FactoryClassWithPropertiesType() {
super();
this.factory = "";
@@ -512,6 +515,10 @@
transportClass = JGroupsTransport.class.getName();
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitTransportType(this);
+ }
+
public TransportType(String transportClass) {
super();
this.transportClass = transportClass;
@@ -567,6 +574,10 @@
super();
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitSerializationType(this);
+ }
+
@XmlAttribute
public void setMarshallerClass(String marshallerClass) {
testImmutability("marshallerClass");
@@ -605,6 +616,10 @@
this.enabled = enabled;
}
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitGlobalJmxStatisticsType(this);
+ }
+
@XmlAttribute
public void setJmxDomain(String jmxDomain) {
testImmutability("jmxDomain");
@@ -639,11 +654,15 @@
public void setHookBehavior(ShutdownHookBehavior hookBehavior) {
testImmutability("hookBehavior");
this.hookBehavior = hookBehavior;
+ }
+
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitShutdownType(this);
}
}
}
-class AbstractConfigurationBeanWithGCR extends AbstractConfigurationBean{
+abstract class AbstractConfigurationBeanWithGCR extends AbstractConfigurationBean{
GlobalComponentRegistry gcr = null;
Modified: trunk/core/src/main/java/org/infinispan/config/InfinispanConfiguration.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/InfinispanConfiguration.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/config/InfinispanConfiguration.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -257,8 +257,8 @@
for (Configuration c : namedCaches) {
c.accept(v);
}
- }
- v.traversalCompleted(this);
+ }
+ v.visitInfinispanConfiguration(this);
}
private static InputStream findInputStream(String fileName) throws FileNotFoundException {
Modified: trunk/core/src/main/java/org/infinispan/loaders/AbstractCacheLoaderConfig.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/loaders/AbstractCacheLoaderConfig.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/loaders/AbstractCacheLoaderConfig.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -5,6 +5,7 @@
import javax.xml.bind.annotation.XmlAttribute;
import org.infinispan.CacheException;
+import org.infinispan.config.ConfigurationBeanVisitor;
import org.infinispan.config.PluggableConfigurationComponent;
/**
@@ -48,4 +49,6 @@
throw new CacheException(e);
}
}
+
+ public void accept(ConfigurationBeanVisitor v) {}
}
Modified: trunk/core/src/main/java/org/infinispan/loaders/AbstractCacheStoreConfig.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/loaders/AbstractCacheStoreConfig.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/loaders/AbstractCacheStoreConfig.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -1,5 +1,6 @@
package org.infinispan.loaders;
+import org.infinispan.config.ConfigurationBeanVisitor;
import org.infinispan.loaders.decorators.AsyncStoreConfig;
import org.infinispan.loaders.decorators.SingletonStoreConfig;
import org.infinispan.util.Util;
@@ -119,6 +120,12 @@
testImmutability("async");
this.async = asyncStoreConfig;
}
+
+ public void accept(ConfigurationBeanVisitor v) {
+ singletonStore.accept(v);
+ async.accept(v);
+ v.visitCacheLoaderConfig(this);
+ }
@Override
public boolean equals(Object obj) {
Modified: trunk/core/src/main/java/org/infinispan/loaders/CacheLoaderConfig.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/loaders/CacheLoaderConfig.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/loaders/CacheLoaderConfig.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -1,5 +1,6 @@
package org.infinispan.loaders;
+import org.infinispan.config.ConfigurationBeanVisitor;
import org.infinispan.config.ConfigurationException;
import org.infinispan.config.parsing.XmlConfigHelper;
import org.infinispan.util.Util;
@@ -26,6 +27,8 @@
*/
@XmlJavaTypeAdapter(CacheLoaderConfigAdapter.class)
public interface CacheLoaderConfig extends Cloneable, Serializable {
+
+ void accept(ConfigurationBeanVisitor visitor);
CacheLoaderConfig clone();
Modified: trunk/core/src/main/java/org/infinispan/loaders/decorators/AsyncStoreConfig.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/loaders/decorators/AsyncStoreConfig.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/loaders/decorators/AsyncStoreConfig.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -5,6 +5,7 @@
import javax.xml.bind.annotation.XmlAttribute;
import org.infinispan.config.AbstractNamedCacheConfigurationBean;
+import org.infinispan.config.ConfigurationBeanVisitor;
import org.infinispan.config.Dynamic;
/**
@@ -79,4 +80,8 @@
throw new RuntimeException("Should not happen!", e);
}
}
+
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitAsyncStoreConfig(this);
+ }
}
Modified: trunk/core/src/main/java/org/infinispan/loaders/decorators/SingletonStoreConfig.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/loaders/decorators/SingletonStoreConfig.java 2009-09-10 11:34:56 UTC (rev 805)
+++ trunk/core/src/main/java/org/infinispan/loaders/decorators/SingletonStoreConfig.java 2009-09-11 01:37:44 UTC (rev 806)
@@ -5,6 +5,7 @@
import javax.xml.bind.annotation.XmlAttribute;
import org.infinispan.config.AbstractNamedCacheConfigurationBean;
+import org.infinispan.config.ConfigurationBeanVisitor;
/**
* Configuration for a singleton store
@@ -84,4 +85,8 @@
throw new RuntimeException("Should not happen", e);
}
}
+
+ public void accept(ConfigurationBeanVisitor v) {
+ v.visitSingletonStoreConfig(this);
+ }
}
More information about the infinispan-commits
mailing list