]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.launcher/src/main/java/org/argeo/slc/ant/spring/SpringRegister.java
Introduce org.argeo.slc.lib.detached
[gpl/argeo-slc.git] / runtime / org.argeo.slc.launcher / src / main / java / org / argeo / slc / ant / spring / SpringRegister.java
1 package org.argeo.slc.ant.spring;
2
3 import java.util.List;
4 import java.util.Vector;
5
6 import org.apache.commons.logging.Log;
7 import org.apache.commons.logging.LogFactory;
8 import org.apache.tools.ant.BuildException;
9
10 public class SpringRegister extends AbstractSpringTask {
11 private static final Log log = LogFactory.getLog(SpringRegister.class);
12
13 private List<BeanArg> beans = new Vector<BeanArg>();
14
15 @Override
16 public void execute() throws BuildException {
17 for (BeanArg bean : beans) {
18 Object instance = bean.getInstance();
19 if (bean.getAntid() != null) {
20 getProject().addReference(bean.getAntid(), instance);
21 } else {
22 if (bean.getAntref() != null) {
23 log
24 .warn("Cannot register beans with antref (Ant reference "
25 + bean.getAntref() + ")");
26 } else {
27 getProject().addReference(bean.getBean(), instance);
28 }
29 }
30 }
31 }
32
33 public BeanArg createObject() {
34 BeanArg bean = new BeanArg();
35 beans.add(bean);
36 return bean;
37 }
38
39 protected static class BeanArg extends SpringArg<Object> {
40 private String antid;
41
42 public String getAntid() {
43 return antid;
44 }
45
46 public void setAntid(String antid) {
47 this.antid = antid;
48 }
49
50 }
51 }