01: package org.andromda.cartridges.hibernate.metafacades;
02:
03: import org.apache.commons.lang.ObjectUtils;
04: import org.apache.commons.lang.StringUtils;
05:
06: /**
07: * MetafacadeLogic implementation for
08: * org.andromda.cartridges.hibernate.metafacades.HibernateService.
09: *
10: * @see org.andromda.cartridges.hibernate.metafacades.HibernateService
11: */
12: public class HibernateServiceLogicImpl extends HibernateServiceLogic {
13: public HibernateServiceLogicImpl(Object metaObject, String context) {
14: super (metaObject, context);
15: }
16:
17: /**
18: * @see org.andromda.cartridges.hibernate.metafacades.HibernateService#getEjbJndiName()
19: */
20: protected java.lang.String handleGetEjbJndiName() {
21: StringBuffer jndiName = new StringBuffer();
22: String jndiNamePrefix = StringUtils.trimToEmpty(this
23: .getEjbJndiNamePrefix());
24: if (StringUtils.isNotEmpty(jndiNamePrefix)) {
25: jndiName.append(jndiNamePrefix);
26: jndiName.append("/");
27: }
28: jndiName.append("ejb/");
29: jndiName.append(this .getFullyQualifiedName());
30: return jndiName.toString();
31: }
32:
33: /**
34: * @see org.andromda.cartridges.hibernate.metafacades.HibernateService#getEjbViewType()
35: */
36: protected java.lang.String handleGetEjbViewType() {
37: String defaultViewType = String.valueOf(this
38: .getConfiguredProperty("ejbViewType"));
39: return HibernateMetafacadeUtils.getViewType(this ,
40: defaultViewType);
41: }
42:
43: /**
44: * Gets the <code>ejbJndiNamePrefix</code> for this EJB.
45: *
46: * @return the EJB Jndi name prefix.
47: */
48: protected String getEjbJndiNamePrefix() {
49: final String property = "ejbJndiNamePrefix";
50: return this .isConfiguredProperty(property) ? ObjectUtils
51: .toString(this .getConfiguredProperty(property)) : null;
52: }
53:
54: /**
55: * @see org.andromda.cartridges.hibernate.metafacades.HibernateService#isEjbStateful()
56: */
57: protected boolean handleIsEjbStateful() {
58: return !this .getAttributes().isEmpty();
59: }
60:
61: /**
62: * The value used to indicate the interfaces for an EJB are remote.
63: */
64: private static final String VIEW_TYPE_REMOTE = "remote";
65:
66: /**
67: * @see org.andromda.cartridges.hibernate.metafacades.HibernateService#isEjbRemoteView()
68: */
69: protected boolean handleIsEjbRemoteView() {
70: return this.getEjbViewType().equalsIgnoreCase(VIEW_TYPE_REMOTE);
71: }
72: }
|