@Override public void doRollback() { checkClosed(); if (this.entityTransaction != null) { this.entityTransaction.rollback(); } else { getPersistenceDelegator().rollback(); } }
@Override public void rollback() { onTransaction(TxAction.ROLLBACK); ((EntityManagerImpl) entityManager).getPersistenceDelegator().rollback(); }
@Override public final Object getDelegate() { checkClosed(); return getPersistenceDelegator().getDelegate(); }
@Override public final void setFlushMode(FlushModeType flushMode) { checkClosed(); this.flushMode = flushMode; getPersistenceDelegator().setFlushMode(flushMode); }
@Override public final void close() { clear(); getPersistenceDelegator().close(); this.closed = true; }
@Override public final void flush() { checkClosed(); getPersistenceDelegator().doFlush(); }
/** * Check if the instance is a managed entity instance belonging to the * current persistence context. * * @param entity * @return boolean indicating if entity is in persistence context * @throws IllegalArgumentException * if not an entity * @see javax.persistence.EntityManager#contains(java.lang.Object) */ @Override public final boolean contains(Object entity) { checkClosed(); return getPersistenceDelegator().contains(entity); }
@Override public final Query createNativeQuery(String sqlString, Class resultClass) { checkClosed(); checkTransactionNeeded(); return getPersistenceDelegator().createNativeQuery(sqlString, resultClass); }
@Override public final void clear() { checkClosed(); // TODO Do we need a client and persistenceDelegator close here? if (!PersistenceUnitTransactionType.JTA.equals(this.transactionType)) { getPersistenceDelegator().clear(); } }
@Override public final Query createNamedQuery(String name) { checkClosed(); checkTransactionNeeded(); return getPersistenceDelegator().createQuery(name); }
@Override public final Query createQuery(String query) { checkClosed(); checkTransactionNeeded(); return getPersistenceDelegator().createQuery(query); }
@Override public final Query createNativeQuery(String sqlString) { checkClosed(); return getPersistenceDelegator().createQuery(sqlString, getPersistenceUnit()); }
@Override public void commit() { if (!getRollbackOnly()) { onTransaction(TxAction.COMMIT); ((EntityManagerImpl) entityManager).getPersistenceDelegator().commit(); } }
private void checkTransactionNeeded() { onLookUp(transactionType); if ((getPersistenceContextType() != PersistenceContextType.TRANSACTION) || (getPersistenceDelegator().isTransactionInProgress())) { return; } throw new TransactionRequiredException( "no transaction is in progress for a TRANSACTION type persistence context"); }
@Test public void testContains() { PersonnelDTO dto = new PersonnelDTO(); dto.setPersonId("123"); PersistenceDelegator pd = ((EntityManagerImpl) em).getPersistenceDelegator(); Assert.assertFalse(pd.contains(dto)); em.persist(dto); pd = ((EntityManagerImpl) em).getPersistenceDelegator(); Assert.assertTrue(pd.contains(dto)); em.clear(); pd = ((EntityManagerImpl) em).getPersistenceDelegator(); Assert.assertFalse(pd.contains(dto)); }
@Test public void testCreateQueryWithNull() { PersistenceDelegator pd = ((EntityManagerImpl) em).getPersistenceDelegator(); try { pd.createQuery(null); Assert.fail("Should have gone to catch block!"); } catch (QueryHandlerException qhex) { Assert.assertEquals("Query String should not be null ", qhex.getMessage()); } }
@Test public void testIsOpen() { PersistenceDelegator pd = ((EntityManagerImpl) em).getPersistenceDelegator(); Assert.assertTrue(pd.isOpen()); pd.close(); Assert.assertFalse(pd.isOpen()); }
@Test public void testClose() { PersistenceDelegator pd = ((EntityManagerImpl) em).getPersistenceDelegator(); Assert.assertTrue(pd.isOpen()); pd.close(); Assert.assertFalse(pd.isOpen()); Assert.assertTrue(pd.getDelegate().isEmpty()); }
@Test public void testPopulateClientProperties() { Map props = new HashMap(); props.put("core.test.property", "core-test-property-value"); PersistenceDelegator pd = ((EntityManagerImpl) em).getPersistenceDelegator(); pd.populateClientProperties(props); Map map = em.getProperties(); Map<String, Client> clients = (Map<String, Client>) em.getDelegate(); CoreTestClient client = (CoreTestClient) clients.get("kunderatest"); Assert.assertEquals("core-test-property-value", client.getCoreTestProperty()); }
@Test public void testGetClient() { PersonnelDTO dto = new PersonnelDTO(); EntityMetadata entityMetadata = KunderaMetadataManager.getEntityMetadata(((EntityManagerFactoryImpl)emf).getKunderaMetadataInstance(), dto.getClass()); PersistenceDelegator pd = ((EntityManagerImpl) em).getPersistenceDelegator(); Client c = pd.getClient(entityMetadata); Assert.assertNotNull(c); Assert.assertTrue(c instanceof CoreTestClient); }