View Javadoc

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   * MetafacadeLogic implementation for org.andromda.cartridges.jbpm.metafacades.JBpmPseudostate.
12   *
13   * @see org.andromda.cartridges.jbpm.metafacades.JBpmPseudostate
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       * @see org.andromda.cartridges.jbpm.metafacades.JBpmPseudostate#getClassName()
36       */
37      protected java.lang.String handleGetClassName()
38      {
39          return StringUtilsHelper.upperCamelCaseName(getName());
40      }
41  
42      /**
43       * @see org.andromda.cartridges.jbpm.metafacades.JBpmPseudostate#getSwimlane()
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  }