01: /**
02: * EasyBeans
03: * Copyright (C) 2006 Bull S.A.S.
04: * Contact: easybeans@ow2.org
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2.1 of the License, or any later version.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this library; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19: * USA
20: *
21: * --------------------------------------------------------------------------
22: * $Id: SLSBEjbRefInjection.java 434 2006-05-09 12:48:37Z studzine $
23: * --------------------------------------------------------------------------
24: */package org.ow2.easybeans.tests.common.ejbs.ws.ejbref;
25:
26: import static org.ow2.easybeans.tests.common.helper.ContextHelper.checkBeanRef;
27: import static org.testng.Assert.assertTrue;
28:
29: import javax.annotation.Resource;
30: import javax.ejb.EJB;
31: import javax.ejb.EJBs;
32: import javax.ejb.Remote;
33: import javax.ejb.SessionContext;
34: import javax.ejb.Stateless;
35: import javax.jws.WebService;
36:
37: import org.ow2.easybeans.tests.common.ejbs.base.ItfOneMethod01;
38: import org.ow2.easybeans.tests.common.ws.ejbref.gen.ItfChecker;
39: import org.ow2.easybeans.tests.common.ws.ejbref.gen.WSException;
40:
41: /**
42: * This bean is used to test injection of enterprise beans.
43: * @author Eduardo Studzinski Estima de Castro
44: * @author Gisele Pinheiro Souza
45: */
46: @Stateless(name="SLSBEjbRefInjection")
47: // Defines that instance as a WebService
48: @WebService(name="Checker",serviceName="EjbRefService",targetNamespace="http://objectweb.org/easybeans/tests/common/ws/ejbref/gen",wsdlLocation="META-INF/wsdl/ejbref.wsdl")
49: @Remote
50: @EJBs({@EJB(name="ejb/beanDeclaration",beanName="EJBInjectionBean",beanInterface=ItfOneMethod01.class)})
51: public class SLSBEjbRefInjection implements ItfChecker {
52:
53: /**
54: * SessionContext.
55: */
56: @Resource
57: private SessionContext ctx;
58:
59: /**
60: * Bean.
61: */
62: private ItfOneMethod01 beanMethodInjection;
63:
64: /**
65: * Bean.
66: */
67: @EJB(name="ejb/beanField",beanName="EJBInjectionBean")
68: private ItfOneMethod01 beanFieldInjection;
69:
70: /**
71: * Setter method.
72: * @param b bean
73: */
74: @EJB(name="ejb/beanMethod",beanName="EJBInjectionBean")
75: public void setBean(final ItfOneMethod01 b) {
76: beanMethodInjection = b;
77: }
78:
79: /**
80: * Verifies if the annotation @EJB is working properly.
81: * @throws WSException if a problem occurs.
82: */
83: public void check() throws WSException {
84:
85: //Field injection
86: checkBeanRef(ctx, "ejb/beanField", ItfOneMethod01.class);
87: assertTrue(beanFieldInjection.getBool(),
88: "The value must be true.");
89:
90: //Method injection
91: checkBeanRef(ctx, "ejb/beanMethod", ItfOneMethod01.class);
92: assertTrue(beanMethodInjection.getBool(),
93: "The value must be true.");
94:
95: //Declaration
96: checkBeanRef(ctx, "ejb/beanDeclaration", ItfOneMethod01.class);
97: }
98: }
|