X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.slc.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fant%2Fspring%2FAbstractSpringArg.java;h=6096f1f63ac215f8933fc9bd64f921db0c46cfec;hb=0ee30b3cfd07a1e96eeb21ee729b2c7825585b94;hp=b7a63c9d28d42c4d02905ccd82044edcbc1d8574;hpb=38033cb1dbfe8d9c3e8cb8beb8fa0e11299f7714;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/spring/AbstractSpringArg.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/spring/AbstractSpringArg.java index b7a63c9d2..6096f1f63 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/spring/AbstractSpringArg.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/spring/AbstractSpringArg.java @@ -11,6 +11,7 @@ import org.springframework.context.ApplicationContext; import org.apache.commons.logging.LogFactory; import org.apache.tools.ant.types.DataType; +import org.argeo.slc.ant.SlcAntException; import org.argeo.slc.ant.SlcProjectHelper; import org.argeo.slc.core.SlcException; @@ -40,13 +41,8 @@ public abstract class AbstractSpringArg extends DataType { public Object getBeanInstance() { if (beanInstance == null) { beanInstance = getContext().getBean(bean); - - BeanWrapper wrapper = new BeanWrapperImpl(beanInstance); - for (OverrideArg override : overrides) { - LogFactory.getLog(getClass()).debug("Prop "+override.getName()); - wrapper.setPropertyValue(override.getName(), override - .getObject()); - } + + setOverridenProperties(beanInstance); if (beanInstance instanceof InitializingBean) { try { @@ -58,6 +54,22 @@ public abstract class AbstractSpringArg extends DataType { } return beanInstance; } + + protected void setOverridenProperties(Object obj){ + BeanWrapper wrapper = new BeanWrapperImpl(obj); + for (OverrideArg override : overrides) { + if (override.getName() == null) { + throw new SlcAntException( + "The name of the property to override has to be set."); + } + +// LogFactory.getLog(getClass()).debug( +// "Prop " + override.getName()); + wrapper.setPropertyValue(override.getName(), override + .getObject()); + } + + } /** Creates an override subtag. */ public OverrideArg createOverride() {