throws DirectException {
Map<String, String> nsMapping = this.actionMapping.get(directAction.getNamespace());
String beanName = nsMapping.get(directAction.getName());
Object bean = this.applicationContext.getBean(beanName);
ExecutorAdapter beanExecutorAdapter = this.buildBeanExecutorAdapter(bean);
return beanExecutorAdapter.execute(directAction, directMethod, data);
}
private ExecutorAdapter buildBeanExecutorAdapter(Object action) {
return (action instanceof Advised) ?
new AdvisedActionExecutorAdapter((Advised) action) : new DefaultActionExecutorAdapter(action);