]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/execution/InstantiationPostProcessor.java
Improve execution specs
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.simple / src / main / java / org / argeo / slc / core / execution / InstantiationPostProcessor.java
1 package org.argeo.slc.core.execution;
2
3 import org.apache.commons.logging.Log;
4 import org.apache.commons.logging.LogFactory;
5 import org.argeo.slc.execution.ExecutionFlow;
6 import org.springframework.beans.BeansException;
7 import org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter;
8
9 public class InstantiationPostProcessor extends
10 InstantiationAwareBeanPostProcessorAdapter {
11 private final static Log log = LogFactory
12 .getLog(InstantiationPostProcessor.class);
13
14 @Override
15 public boolean postProcessAfterInstantiation(Object bean, String beanName)
16 throws BeansException {
17 if (bean instanceof ExecutionFlow)
18 DefaultExecutionSpec
19 .flowInitializationStarted((ExecutionFlow) bean);
20 return true;
21 }
22
23 @Override
24 public Object postProcessBeforeInitialization(Object bean, String beanName)
25 throws BeansException {
26 return bean;
27 }
28
29 @Override
30 public Object postProcessAfterInitialization(Object bean, String beanName)
31 throws BeansException {
32 if (bean instanceof ExecutionFlow)
33 DefaultExecutionSpec
34 .flowInitializationFinished((ExecutionFlow) bean);
35 return bean;
36 }
37
38 }