1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.geekologue.md4j.generators;
18
19 import java.util.HashMap;
20 import java.util.Map;
21 import org.apache.tools.ant.util.FileNameMapper;
22 import org.apache.tools.ant.util.RegexpPatternMapper;
23 import com.geekologue.md4j.tools.ant.HibernateMappingProcessorLiason;
24 import com.geekologue.md4j.tools.ant.HibernateMappingProcessorTask;
25
26 /***
27 * Context parameters:
28 * <ul>
29 * <li>singletonDaos: Whether to use JVM Singleton DAOs
30 * </ul>
31 *
32 * @author manos
33 */
34 public class Ejb21Generator extends AbstractXsltBasedGenerator implements
35 HibernateMappingProcessorLiason {
36 private static final String XSLT_PATH = "md4j-ejb-21.xsl";
37
38 /***
39 *
40 */
41 public Ejb21Generator() {
42 super(Ejb21Generator.XSLT_PATH);
43 }
44
45 /***
46 * @see com.geekologue.md4j.tools.ant.generators.XsltGeneratorSettings#getStylePath()
47 */
48 public String getStylePath() {
49 return Ejb21Generator.XSLT_PATH;
50 }
51
52 /***
53 * Equal to <regexpmapper handledirsep="true" from="(.*)/(.*).hbm.xml"
54 * to="\1/business/\2ManagerBean.java" />
55 *
56 * @see com.geekologue.md4j.tools.ant.HibernateMappingProcessorLiason#getSimpleMapper()
57 */
58 public FileNameMapper getSimpleMapper() {
59 RegexpPatternMapper simpleMapper = new RegexpPatternMapper();
60 simpleMapper.setHandleDirSep(true);
61 simpleMapper.setFrom("(.*)/(.*).hbm.xml");
62 simpleMapper.setTo("//1/business///2ManagerBean.java");
63 return simpleMapper;
64 }
65
66 /***
67 *
68 * @see com.geekologue.md4j.tools.ant.HibernateMappingProcessorLiason#getSimpleMapper()
69 */
70 public FileNameMapper getNestedMapper() {
71 throw new RuntimeException("Nested mapppers are yet to be suported");
72 }
73
74 /***
75 * Initializes XSLT parameters etc
76 *
77 * @see com.geekologue.md4j.tools.ant.HibernateMappingProcessorLiason#init(java.util.Map)
78 */
79 public void init(Map context) {
80 this.styleParameters.put("package", context.get("package"));
81
82 this.styleParameters.put("ejbMethod", context
83 .get("ejbdocletViewMethod"));
84 this.styleParameters.put("singletonDaos", context.get("singletonDaos"));
85 super.init(context);
86 }
87 }