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