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 com.salto.db.generator.Constants;
8
9 import salto.tool.jdo.data.JdoInfo;
10 import salto.tool.jdo.util.CreatorUtil;
11
12 public class EJB3HibernateDAOAndTestCasesPlugin extends
13 EJB3AndHibernateDAOPlugin {
14
15 public String getLongDescription() {
16 return "This plugin will generate Hibernate EJB3 POJOS, hibernate.cfg.xml, DAOs and a test case for each class.";
17 }
18
19 public String getName() {
20 return "EJB3HibernateDaoAndTestCases";
21 }
22
23 public String getShortDescription() {
24 return "EJB3 + Hibernate DAO + TestCases";
25 }
26
27 public void execute(String className, JdoInfo info) throws Exception {
28
29 ejb3Plugin.execute(className, info);
30
31 CreatorUtil.getDoNameCreator().setPrefix(doPrefix);
32 CreatorUtil.getDoNameCreator().setDefaultNameOffset(
33 this.defaultNameOffset);
34 Map context = new HashMap();
35 context.put("jdoInfo", info);
36 context.put("util", CreatorUtil.getInstance());
37 context.put("templatePath", TEMPLATE_PATH);
38 context.put("generatorVersion", Constants.GENERATOR_NAME + " / "
39 + this.getShortDescription());
40 context.put("date", new Date());
41 info.setJavaPckName(pckName);
42 info.setJavaClassName(className);
43
44 runVelocity(TEMPLATE_PATH, "hibernatedao.vm", srcPath + "/"
45 + (pckName + ".hibernate").replace('.', '/') + "/", className
46 + "HibernateDAO.java", context);
47
48 runVelocity(TEMPLATE_PATH, "dao.vm", srcPath + "/"
49 + pckName.replace('.', '/') + "/", className + "DAO.java",
50 context);
51
52 runVelocity(TEMPLATE_PATH, "test.vm", srcPath + "/"
53 + (pckName + ".test").replace('.', '/') + "/", className
54 + "DAOTest.java", context);
55
56 }
57
58 }