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: EntityManagerTester.java 1970 2007-10-16 11:49:25Z benoitf $
23: * --------------------------------------------------------------------------
24: */package org.ow2.easybeans.tests.common.resources;
25:
26: import javax.persistence.EntityManager;
27: import javax.persistence.PersistenceContext;
28: import javax.transaction.Status;
29: import javax.transaction.UserTransaction;
30:
31: import org.ow2.easybeans.tests.common.ejbs.entity.ebstore.EBStore;
32: import org.ow2.easybeans.tests.common.helper.TransactionHelper;
33:
34: /**
35: * EntityManager Tester.
36: * @author Eduardo Studzinski Estima de Castro
37: * @author Gisele Pinheiro Souza
38: *
39: */
40: public class EntityManagerTester {
41:
42: /**
43: * Name.
44: */
45: public static final String NAME = "Toto2";
46:
47: /**
48: * Entity Manager.
49: */
50: @PersistenceContext(unitName="testEntity00")
51: private EntityManager entityManager = null;
52:
53: /**
54: * Default Constructor.
55: */
56: public EntityManagerTester() {
57:
58: }
59:
60: /**
61: * Tests an EntityFactoryManager access.
62: * @throws Exception if a problem occurs.
63: */
64: protected void access00() throws Exception {
65: checkInstance(entityManager, NAME);
66: }
67:
68: /**
69: * Checks if an entity manager reference is working well.
70: * @param entityManager Entity Manager
71: * @param name row name
72: * @throws Exception if a problem occurs
73: */
74: public static void checkInstance(final EntityManager entityManager,
75: final String name) throws Exception {
76: EBStore store = new EBStore();
77: store.setId(store.hashCode());
78: store.setName(name);
79: entityManager.persist(store);
80:
81: // flush only if there is a transaction
82: UserTransaction utx = TransactionHelper
83: .getInternalUserTransaction();
84: if (utx != null) {
85: if (utx.getStatus() == Status.STATUS_ACTIVE) {
86: entityManager.flush();
87: }
88: }
89:
90: if (entityManager.find(EBStore.class, Integer.valueOf(store
91: .hashCode())) == null) {
92: throw new Exception(
93: "EBStore was created, but it wasn't found after the commit.");
94: }
95: }
96: }
|