Author: norman
Date: Sun Dec 19 10:44:37 2010
New Revision: 1050797
URL: http://svn.apache.org/viewvc?rev=1050797&view=rev
Log:
Merge two abstract classes to simplify it a bit
Removed:
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/api/RestrictedLifeCycleBeanPostProcessor.java
Modified:
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/api/AbstractLifeCycleBeanPostProcessor.java
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/impl/CommonsConfigurableBeanPostProcessor.java
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/impl/LogEnabledBeanPostProcessor.java
Modified:
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/api/AbstractLifeCycleBeanPostProcessor.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/api/AbstractLifeCycleBeanPostProcessor.java?rev=1050797&r1=1050796&r2=1050797&view=diff
==============================================================================
---
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/api/AbstractLifeCycleBeanPostProcessor.java
(original)
+++
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/api/AbstractLifeCycleBeanPostProcessor.java
Sun Dec 19 10:44:37 2010
@@ -20,6 +20,9 @@ package org.apache.james.container.sprin
import org.springframework.beans.BeansException;
import org.springframework.beans.FatalBeanException;
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.beans.factory.BeanFactoryAware;
+import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.core.Ordered;
import org.springframework.core.PriorityOrdered;
@@ -31,9 +34,10 @@ import org.springframework.core.Priority
*
* @param <T>
*/
-public abstract class AbstractLifeCycleBeanPostProcessor<T> implements
BeanPostProcessor, PriorityOrdered {
+public abstract class AbstractLifeCycleBeanPostProcessor<T> implements
BeanPostProcessor, PriorityOrdered, BeanFactoryAware {
private int order = Ordered.HIGHEST_PRECEDENCE;
+ private ListableBeanFactory factory;
/*
* (non-Javadoc)
@@ -46,7 +50,10 @@ public abstract class AbstractLifeCycleB
try {
Class<T> lClass = getLifeCycleInterface();
if (lClass.isInstance(bean))
- executeLifecycleMethodAfterInit((T) bean, name);
+ // check if the bean is registered in the context. If not it
was create by the InstanceFactory and so there is no need to execute the
callback
+ if (factory.containsBeanDefinition(name)) {
+ executeLifecycleMethodAfterInit((T) bean, name);
+ }
} catch (Exception e) {
throw new FatalBeanException("Unable to execute lifecycle method
on bean" + name, e);
}
@@ -71,7 +78,10 @@ public abstract class AbstractLifeCycleB
try {
Class<T> lClass = getLifeCycleInterface();
if (lClass.isInstance(bean))
- executeLifecycleMethodBeforeInit((T) bean, name);
+ // check if the bean is registered in the context. If not it
was create by the InstanceFactory and so there is no need to execute the
callback
+ if (factory.containsBeanDefinition(name)) {
+ executeLifecycleMethodBeforeInit((T) bean, name);
+ }
} catch (Exception e) {
throw new FatalBeanException("Unable to execute lifecycle method
on bean" + name, e);
}
@@ -120,5 +130,15 @@ public abstract class AbstractLifeCycleB
public int getOrder() {
return order;
}
+
+
+ /*
+ * (non-Javadoc)
+ * @see
org.springframework.beans.factory.BeanFactoryAware#setBeanFactory(org.springframework.beans.factory.BeanFactory)
+ */
+ public void setBeanFactory(BeanFactory factory) throws BeansException {
+ this.factory = (ListableBeanFactory) factory;
+ }
+
}
Modified:
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/impl/CommonsConfigurableBeanPostProcessor.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/impl/CommonsConfigurableBeanPostProcessor.java?rev=1050797&r1=1050796&r2=1050797&view=diff
==============================================================================
---
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/impl/CommonsConfigurableBeanPostProcessor.java
(original)
+++
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/impl/CommonsConfigurableBeanPostProcessor.java
Sun Dec 19 10:44:37 2010
@@ -19,8 +19,8 @@
package org.apache.james.container.spring.lifecycle.impl;
import org.apache.commons.configuration.HierarchicalConfiguration;
+import
org.apache.james.container.spring.lifecycle.api.AbstractLifeCycleBeanPostProcessor;
import org.apache.james.container.spring.lifecycle.api.ConfigurationProvider;
-import
org.apache.james.container.spring.lifecycle.api.RestrictedLifeCycleBeanPostProcessor;
import org.apache.james.lifecycle.api.Configurable;
/**
@@ -28,15 +28,15 @@ import org.apache.james.lifecycle.api.Co
*
*
*/
-public class CommonsConfigurableBeanPostProcessor extends
RestrictedLifeCycleBeanPostProcessor<Configurable> {
+public class CommonsConfigurableBeanPostProcessor extends
AbstractLifeCycleBeanPostProcessor<Configurable> {
private ConfigurationProvider provider;
+
@Override
- protected void executeLifecycleMethodBeforeInitChecked(Configurable bean,
String beanname) throws Exception {
+ protected void executeLifecycleMethodBeforeInit(Configurable bean, String
beanname) throws Exception {
HierarchicalConfiguration config = provider.getConfiguration(beanname);
bean.configure(config);
-
}
public void setConfigurationProvider(ConfigurationProvider provider) {
Modified:
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/impl/LogEnabledBeanPostProcessor.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/impl/LogEnabledBeanPostProcessor.java?rev=1050797&r1=1050796&r2=1050797&view=diff
==============================================================================
---
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/impl/LogEnabledBeanPostProcessor.java
(original)
+++
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/lifecycle/impl/LogEnabledBeanPostProcessor.java
Sun Dec 19 10:44:37 2010
@@ -18,8 +18,8 @@
****************************************************************/
package org.apache.james.container.spring.lifecycle.impl;
+import
org.apache.james.container.spring.lifecycle.api.AbstractLifeCycleBeanPostProcessor;
import org.apache.james.container.spring.lifecycle.api.LogProvider;
-import
org.apache.james.container.spring.lifecycle.api.RestrictedLifeCycleBeanPostProcessor;
import org.apache.james.lifecycle.api.LogEnabled;
/**
@@ -27,7 +27,7 @@ import org.apache.james.lifecycle.api.Lo
*
*
*/
-public class LogEnabledBeanPostProcessor extends
RestrictedLifeCycleBeanPostProcessor<LogEnabled> {
+public class LogEnabledBeanPostProcessor extends
AbstractLifeCycleBeanPostProcessor<LogEnabled> {
private LogProvider provider;
@@ -41,8 +41,9 @@ public class LogEnabledBeanPostProcessor
}
@Override
- protected void executeLifecycleMethodBeforeInitChecked(LogEnabled bean,
String beanname) throws Exception {
+ protected void executeLifecycleMethodBeforeInit(LogEnabled bean, String
beanname) throws Exception {
bean.setLog(provider.getLog(beanname));
}
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]