1 package org.andromda.cartridges.jbpm.metafacades;
2
3 import org.andromda.utils.StringUtilsHelper;
4 import org.andromda.metafacades.uml.ActivityGraphFacade;
5 import org.andromda.metafacades.uml.UseCaseFacade;
6 import org.andromda.metafacades.uml.StateMachineFacade;
7 import org.apache.commons.lang.StringUtils;
8
9
10
11
12
13
14
15 public class JBpmPseudostateLogicImpl
16 extends JBpmPseudostateLogic
17 {
18
19 public JBpmPseudostateLogicImpl (Object metaObject, String context)
20 {
21 super (metaObject, context);
22 }
23
24 public String getName()
25 {
26 String name = super.getName();
27 if (StringUtils.isBlank(name))
28 {
29 name = "start";
30 }
31 return name;
32 }
33
34
35
36
37 protected java.lang.String handleGetClassName()
38 {
39 return StringUtilsHelper.upperCamelCaseName(getName());
40 }
41
42
43
44
45 protected java.lang.Object handleGetSwimlane()
46 {
47 return this.getPartition();
48 }
49
50 protected String handleGetDecisionHandlerPackageName()
51 {
52 String packageName = null;
53
54 final StateMachineFacade stateMachine = this.getStateMachine();
55 if (stateMachine instanceof ActivityGraphFacade)
56 {
57 final UseCaseFacade useCase = ((ActivityGraphFacade)stateMachine).getUseCase();
58 if (useCase != null)
59 {
60 packageName = useCase.getPackageName();
61 }
62 }
63
64 return packageName;
65 }
66
67 protected String handleGetDecisionHandlerFullPath()
68 {
69 return StringUtils.replace(this.getClazz(), ".", "/");
70 }
71
72 protected String handleGetDecisionHandlerClassName()
73 {
74 return StringUtilsHelper.upperCamelCaseName(this.getName());
75 }
76
77 protected String handleGetClazz()
78 {
79 String decisionHandlerClass = null;
80
81 if (this.isDecisionPoint())
82 {
83 final StringBuffer clazzBuffer = new StringBuffer();
84 if (StringUtils.isNotBlank(this.getDecisionHandlerPackageName()))
85 {
86 clazzBuffer.append(this.getDecisionHandlerPackageName());
87 clazzBuffer.append('.');
88 }
89 clazzBuffer.append(this.getDecisionHandlerClassName());
90 decisionHandlerClass = clazzBuffer.toString();
91 }
92
93 return decisionHandlerClass;
94 }
95 }