View Javadoc

1   package org.andromda.cartridges.webservice.metafacades;
2   
3   import org.andromda.metafacades.uml.UMLProfile;
4   import org.apache.commons.lang.StringUtils;
5   
6   
7   /***
8    * MetafacadeLogic implementation for org.andromda.cartridges.webservice.metafacades.WebServiceOperation.
9    *
10   * @see org.andromda.cartridges.webservice.metafacades.WebServiceOperation
11   */
12  public class WebServiceOperationLogicImpl
13      extends WebServiceOperationLogic
14  {
15      public WebServiceOperationLogicImpl(
16          Object metaObject,
17          String context)
18      {
19          super(metaObject, context);
20      }
21  
22      /***
23       * @see org.andromda.cartridges.webservice.metafacades.WebServiceOperation#isExposed()
24       */
25      protected boolean handleIsExposed()
26      {
27          return this.getOwner().hasStereotype(UMLProfile.STEREOTYPE_WEBSERVICE) ||
28          this.hasStereotype(UMLProfile.STEREOTYPE_WEBSERVICE_OPERATION);
29      }
30      
31      /***
32       * The prefix given to the test implementation operation names.
33       */
34      private static final String TEST_IMPLEMENTATION_OPERATION_NAME_PREFIX =
35          "testImplementationOperationNamePrefix";
36  
37      /***
38       * Gets the test implementation operation name prefix.
39       */
40      private String getTestImplementationOperationNamePrefix()
41      {
42          return String.valueOf(
43              this.getConfiguredProperty(TEST_IMPLEMENTATION_OPERATION_NAME_PREFIX));
44      }
45  
46      /***
47       * @see org.andromda.cartridges.webservice.metafacades.WebServiceOperation#getTestImplementationName()
48       */
49      protected String handleGetTestImplementationName()
50      {
51          return this.getTestImplementationOperationNamePrefix() +
52          StringUtils.capitalize(this.getTestName());
53      }
54  
55      /***
56       * @see org.andromda.cartridges.webservice.metafacades.WebServiceOperation#getTestImplementationCall()
57       */
58      protected String handleGetTestImplementationCall()
59      {
60          return "this." + this.getTestImplementationSignature();
61      }
62  
63      /***
64       * @see org.andromda.cartridges.webservice.metafacades.WebServiceOperation#getTestImplementationSignature()
65       */
66      protected String handleGetTestImplementationSignature()
67      {
68          return this.getTestImplementationOperationNamePrefix() +
69          StringUtils.capitalize(this.getTestSignature());
70      }
71      
72      /***
73       * The prefix given to the junit test operations.
74       */
75      private static final String TEST_NAME_PREFIX = "test";
76  
77      /***
78       * @see org.andromda.cartridges.webservice.metafacades.WebServiceOperation#getTestName()
79       */
80      protected String handleGetTestName()
81      {
82          return TEST_NAME_PREFIX + StringUtils.capitalize(this.getName());
83      }
84  
85      /***
86       * @see org.andromda.cartridges.webservice.metafacades.WebServiceOperation#getTestCall()
87       */
88      protected String handleGetTestCall()
89      {
90          return "this." + this.getSignature();
91      }
92  
93      /***
94       * @see org.andromda.cartridges.webservice.metafacades.WebServiceOperation#getTestSignature()
95       */
96      protected String handleGetTestSignature()
97      {
98          return this.getTestName() + "()";
99      }
100 }