From 35eea84747ec4f5d60784078b502180df96081ad Mon Sep 17 00:00:00 2001 From: dsyer Date: Wed, 4 Feb 2009 16:27:02 +0000 Subject: [PATCH] Re-order parserContext calls to makes sure IDE gets info about source location --- .../configuration/xml/JobExecutionListenerParser.java | 10 ++++------ .../batch/core/configuration/xml/StepParser.java | 8 ++++---- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/JobExecutionListenerParser.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/JobExecutionListenerParser.java index a8c02e7ab..02972c942 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/JobExecutionListenerParser.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/JobExecutionListenerParser.java @@ -21,7 +21,6 @@ import static org.springframework.util.StringUtils.hasText; import java.util.ArrayList; import java.util.List; -import org.springframework.beans.factory.BeanCreationException; import org.springframework.beans.factory.config.BeanReference; import org.springframework.beans.factory.config.RuntimeBeanReference; import org.springframework.beans.factory.parsing.BeanComponentDefinition; @@ -34,7 +33,6 @@ import org.springframework.beans.factory.xml.BeanDefinitionParser; import org.springframework.beans.factory.xml.ParserContext; import org.springframework.util.StringUtils; import org.springframework.util.xml.DomUtils; - import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; @@ -67,8 +65,8 @@ public class JobExecutionListenerParser { } attributes.append(attributeNodes.item(i)); } - throw new BeanCreationException("Both 'ref' and 'class' specified; use 'class' with an optional 'id' or just 'ref' for <" + - listenerElement.getTagName() + "> element with attributes: " + attributes); + parserContext.getReaderContext().error("Both 'ref' and 'class' specified; use 'class' with an optional 'id' or just 'ref' for <" + + listenerElement.getTagName() + "> element with attributes: " + attributes, listenerElement); } if(hasText(listenerRef)){ @@ -77,12 +75,12 @@ public class JobExecutionListenerParser { else if(hasText(className)){ RootBeanDefinition beanDef = new RootBeanDefinition(className, null, null); String delegateId = parserContext.getReaderContext().generateBeanName(beanDef); - parserContext.registerBeanComponent(new BeanComponentDefinition(beanDef, delegateId)); beanDef.setSource(parserContext.extractSource(listenerElement)); + parserContext.registerBeanComponent(new BeanComponentDefinition(beanDef, delegateId)); listenerBuilder.addPropertyReference("delegate", delegateId); } else { - throw new BeanCreationException("Neither 'ref' or 'class' specified for <" + listenerElement.getTagName() + "> element"); + parserContext.getReaderContext().error("Neither 'ref' or 'class' specified for <" + listenerElement.getTagName() + "> element", listenerElement); } ManagedMap metaDataMap = new ManagedMap(); diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/StepParser.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/StepParser.java index d8b32d3c9..61fc0dab6 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/StepParser.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/StepParser.java @@ -229,8 +229,8 @@ public class StepParser { bd.setRole(BeanDefinition.ROLE_SUPPORT); + bd.setSource(parserContext.extractSource(stepElement)); parserContext.registerBeanComponent(new BeanComponentDefinition(bd, stepElement.getAttribute("name"))); - bd.setSource(parserContext.extractSource(stepElement)); } @@ -357,8 +357,8 @@ public class StepParser { bd.setRole(BeanDefinition.ROLE_SUPPORT); + bd.setSource(parserContext.extractSource(stepElement)); parserContext.registerBeanComponent(new BeanComponentDefinition(bd, stepElement.getAttribute("name"))); - bd.setSource(parserContext.extractSource(element)); } @@ -449,8 +449,8 @@ public class StepParser { if (!StringUtils.hasText(id)) { id = parserContext.getReaderContext().generateBeanName(beanDef); } - parserContext.registerBeanComponent(new BeanComponentDefinition(beanDef, id)); beanDef.setSource(parserContext.extractSource(listenerElement)); + parserContext.registerBeanComponent(new BeanComponentDefinition(beanDef, id)); BeanReference bean = new RuntimeBeanReference(id); beans.add(bean); } @@ -481,8 +481,8 @@ public class StepParser { else if (StringUtils.hasText(className)) { RootBeanDefinition beanDef = new RootBeanDefinition(className, null, null); String delegateId = parserContext.getReaderContext().generateBeanName(beanDef); - parserContext.registerBeanComponent(new BeanComponentDefinition(beanDef, delegateId)); beanDef.setSource(parserContext.extractSource(listenerElement)); + parserContext.registerBeanComponent(new BeanComponentDefinition(beanDef, delegateId)); listenerBuilder.addPropertyReference("delegate", delegateId); } else {