View Javadoc

1   package com.salto.db.generator.plugin;
2   
3   import java.util.Date;
4   import java.util.HashMap;
5   import java.util.Map;
6   
7   import org.apache.velocity.Template;
8   import org.apache.velocity.app.Velocity;
9   
10  import com.salto.db.generator.Constants;
11  
12  import salto.tool.jdo.data.JdoInfo;
13  import salto.tool.jdo.util.CreatorUtil;
14  
15  public class SpringEJB3AndHibernateDAOAndTestCasesPlugin extends
16  		SpringEJB3AndHibernateDAOPlugin {
17  
18  	public void execute(String className, JdoInfo info) throws Exception {
19  
20  		super.execute(className, info);
21  
22  		CreatorUtil.getDoNameCreator().setPrefix(doPrefix);
23  		CreatorUtil.getDoNameCreator().setDefaultNameOffset(
24  				this.defaultNameOffset);
25  		Map context = new HashMap();
26  		context.put("jdoInfo", info);
27  		context.put("util", CreatorUtil.getInstance());
28  		context.put("templatePath", TEMPLATE_PATH);
29  		context.put("generatorVersion", Constants.GENERATOR_NAME + " / "
30  				+ this.getShortDescription());
31  		context.put("date", new Date());
32  		info.setJavaPckName(pckName);
33  		info.setJavaClassName(className);
34  
35  		runVelocity(TEMPLATE_PATH, "test.vm", srcPath + "/"
36  				+ (pckName + ".test").replace('.', '/') + "/", className
37  				+ "DAOTest.java", context);
38  
39  	}
40  
41  	public String getLongDescription() {
42  		return "This plugin will generate Hibernate EJB3 POJOS, hibernate.cfg.xml, Spring DAOs for each class and unit tests for each dao.";
43  	}
44  
45  	public String getName() {
46  		return "SpringEJB3AndHibernateDaoAndTestCases";
47  	}
48  
49  	public String getShortDescription() {
50  		return "EJB3 + Spring/Hibernate DAO + TestCases";
51  	}
52  
53  	public void postExecute(JdoInfo[] infos) throws Exception {
54  
55  		super.postExecute(infos);
56  		CreatorUtil.getDoNameCreator().setPrefix(doPrefix);
57  		CreatorUtil.getDoNameCreator().setDefaultNameOffset(
58  				this.defaultNameOffset);
59  		Map context = new HashMap();
60  		context.put("jdoInfos", infos);
61  		context.put("connInfo", infos[0].getConnInfo());
62  		context.put("util", CreatorUtil.getInstance());
63  		context.put("templatePath", TEMPLATE_PATH);
64  		context.put("generatorVersion", Constants.GENERATOR_NAME + " / "
65  				+ this.getShortDescription());
66  		context.put("date", new Date());
67  		context.put("dialect", this.ejb3Plugin);
68  		context.put("pckName", pckName);
69  		context.put("hibernateDialectHelper", new HibernateDialectHelper());
70  		context.put("annotations", String.valueOf(ejb3Plugin
71  				.isGenerateAnnotations()));
72  		runVelocity(TEMPLATE_PATH, "applicationContext-test.xml.vm", srcPath,
73  				"applicationContext-test.xml", context);
74  	}
75  
76  }