Author: aadamchik
Date: Mon Jul 24 18:29:25 2006
New Revision: 425248
URL: http://svn.apache.org/viewvc?rev=425248&view=rev
Log:
updating JPA provider to be in sync with the final release of the spec
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/JpaEntityManager.java
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/JpaEntityManagerFactory.java
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityManager.java
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityManagerFactory.java
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityTransaction.java
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaPersistenceProvider.java
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/spi/JpaPersistenceProvider.java
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/JpaEntityManagerFactoryTest.java
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockEntityManagerFactory.java
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockEntityTransaction.java
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockJpaEntityManager.java
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockJpaEntityManagerFactory.java
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/spi/MockPersistenceProvider.java
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/JpaEntityManager.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/JpaEntityManager.java?rev=425248&r1=425247&r2=425248&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/JpaEntityManager.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/JpaEntityManager.java
Mon Jul 24 18:29:25 2006
@@ -32,17 +32,19 @@
*/
public abstract class JpaEntityManager implements EntityManager {
+ protected PersistenceContextType contextType;
protected FlushModeType flushMode;
protected EntityManagerFactory factory;
protected EntityTransaction transaction;
protected boolean open;
- protected PersistenceContextType contextType;
+ protected Object delegate;
- public JpaEntityManager(EntityManagerFactory factory,
- PersistenceContextType contextType) {
+ /**
+ * Creates a new JpaEntityManager, initializing it with a parent factory.
+ */
+ public JpaEntityManager(EntityManagerFactory factory) {
this.factory = factory;
this.open = true;
- this.contextType = contextType;
}
/**
@@ -76,8 +78,8 @@
/**
* Make an instance managed and persistent.
*
- * @param entity
- * @throws IllegalArgumentException if not an entity or entity is detached
+ * @param entity an object to be made persistent
+ * @throws IllegalArgumentException if not an entity.
* @throws TransactionRequiredException if there is no transaction and the
persistence
* context is of type PersistenceContextType.TRANSACTION
*/
@@ -274,7 +276,8 @@
*
* @param name the name of a query defined in metadata
* @return the new query instance
- * @throws IllegalArgumentException if a query has not been defined with
the given name
+ * @throws IllegalArgumentException if a query has not been defined with
the given
+ * name
*/
public abstract Query createNamedQuery(String name);
@@ -333,6 +336,29 @@
checkClosed();
this.transaction = transaction;
+ }
+
+ /**
+ * Indicates to the EntityManager that a JTA transaction is active. This
method should
+ * be called on a JTA application managed EntityManager that was created
outside the
+ * scope of the active transaction to associate it with the current JTA
transaction.
+ *
+ * @throws TransactionRequiredException if there is no transaction.
+ */
+ public abstract void joinTransaction();
+
+ /**
+ * Returns the underlying provider object for the EntityManager, if
available.
+ */
+ public Object getDelegate() {
+ return delegate;
+ }
+
+ /**
+ * Sets the underlying provider object for the EntityManager.
+ */
+ public void setDelegate(Object delegate) {
+ this.delegate = delegate;
}
/*
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/JpaEntityManagerFactory.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/JpaEntityManagerFactory.java?rev=425248&r1=425247&r2=425248&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/JpaEntityManagerFactory.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/JpaEntityManagerFactory.java
Mon Jul 24 18:29:25 2006
@@ -1,10 +1,3 @@
-package org.apache.cayenne.jpa;
-
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.spi.PersistenceUnitInfo;
-
/*
* Copyright 2006 The Apache Software Foundation
*
@@ -20,6 +13,15 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+package org.apache.cayenne.jpa;
+
+import java.util.Collections;
+import java.util.Map;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.spi.PersistenceUnitInfo;
+
/**
* A base implementation of a non-JTA EntityManagerFactory.
*
@@ -29,6 +31,7 @@
protected boolean open;
protected PersistenceUnitInfo unitInfo;
+ protected Object delegate;
public JpaEntityManagerFactory(PersistenceUnitInfo unitInfo) {
this.unitInfo = unitInfo;
@@ -54,54 +57,51 @@
}
/**
- * Creates a new EntityManager of of type
PersistenceContextType.TRANSACTION. This
- * method returns a new application-managed EntityManager instance (with a
new
- * stand-alone persistence context) each time it is invoked. The [EMAIL
PROTECTED] #isOpen()}
- * method will return true on the returned instance.
+ * Create a new EntityManager. Returns a new EntityManager instance every
time it is
+ * invoked. The [EMAIL PROTECTED] EntityManager#isOpen()} method will
return true of the returned
+ * instance.
+ *
+ * @return a new EntityManager instance.
*/
public EntityManager createEntityManager() {
- return createEntityManager(PersistenceContextType.TRANSACTION);
+ return createEntityManager(Collections.EMPTY_MAP);
}
/**
- * Create a new EntityManager of the specified persistence context type.
This method
- * returns a new application-managed EntityManager instance (with a new
stand-alone
- * persistence context) each time it is invoked. The [EMAIL PROTECTED]
#isOpen()} method will
- * return true on the returned instance.
+ * Create a new EntityManager with the specified map of properties.
Returns a new
+ * EntityManager instance every time it is invoked. The [EMAIL PROTECTED]
EntityManager#isOpen()}
+ * method will return true of the returned instance.
+ *
+ * @return a new EntityManager instance.
*/
- public EntityManager createEntityManager(PersistenceContextType type) {
+ public EntityManager createEntityManager(Map parameters) {
checkClosed();
- return createEntityManagerInternal(type);
+ return createEntityManagerInternal(parameters);
}
- protected abstract EntityManager createEntityManagerInternal(
- PersistenceContextType type);
+ protected abstract EntityManager createEntityManagerInternal(Map
parameters);
/**
- * Getan EntityManager instance whose persistence context is propagated
with the
- * current JTA transaction. If there is no persistence context bound to
the current
- * JTA transaction, a new transaction-scoped persistence context is
created and
- * associated with the transaction and the entity manager instance that is
created and
- * returned. If no JTA transaction is in progress, an EntityManager
instance is
- * created for which the persistence context will bepropagated with
subsequent JTA
- * transactions.
- *
- * @throws IllegalStateException if called on an EntityManagerFactory that
does not
- * provide JTA EntityManagers.
- */
- public EntityManager getEntityManager() {
- checkClosed();
- throw new IllegalStateException(
- "JTA EntityManagers are not supported by this factory.");
- }
-
- /*
- * Throws an exception if called on closed factory.
+ * A convenience method that throws an exception if called on closed
factory.
*/
void checkClosed() throws IllegalStateException {
if (!isOpen()) {
throw new IllegalStateException(
"An attempt to access closed EntityManagerFactory.");
}
+ }
+
+ /**
+ * Returns a "delegate" object which is usually a parent persistence
provider.
+ */
+ public Object getDelegate() {
+ return delegate;
+ }
+
+ /**
+ * Sets a "delegate" object which is usually a parent persistence provider.
+ */
+ public void setDelegate(Object delegate) {
+ this.delegate = delegate;
}
}
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityManager.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityManager.java?rev=425248&r1=425247&r2=425248&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityManager.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityManager.java
Mon Jul 24 18:29:25 2006
@@ -15,25 +15,26 @@
*/
package org.apache.cayenne.jpa.cspi;
+import java.util.Map;
+
import javax.persistence.EntityManagerFactory;
-import javax.persistence.PersistenceContextType;
import javax.persistence.PersistenceException;
import javax.persistence.Query;
-import org.apache.cayenne.jpa.JpaEntityManager;
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.DataObject;
import org.apache.cayenne.DataObjectUtils;
import org.apache.cayenne.Persistent;
import org.apache.cayenne.access.DataContext;
+import org.apache.cayenne.jpa.JpaEntityManager;
public class CjpaEntityManager extends JpaEntityManager {
private DataContext context;
public CjpaEntityManager(DataContext context, EntityManagerFactory factory,
- PersistenceContextType contextType) {
- super(factory, contextType);
+ Map parameters) {
+ super(factory);
this.context = context;
}
@@ -98,6 +99,11 @@
checkEntityType(resultClass);
return new CjpaNativeQuery(context, sqlString, resultClass);
+ }
+
+ @Override
+ public void joinTransaction() {
+ // TODO: andrus, 7/24/2006 - noop
}
protected void checkEntityType(Object entity) throws
IllegalArgumentException {
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityManagerFactory.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityManagerFactory.java?rev=425248&r1=425247&r2=425248&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityManagerFactory.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityManagerFactory.java
Mon Jul 24 18:29:25 2006
@@ -15,12 +15,13 @@
*/
package org.apache.cayenne.jpa.cspi;
+import java.util.Map;
+
import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContextType;
import javax.persistence.spi.PersistenceUnitInfo;
-import org.apache.cayenne.jpa.JpaEntityManagerFactory;
import org.apache.cayenne.access.DataDomain;
+import org.apache.cayenne.jpa.JpaEntityManagerFactory;
/**
* A default EntityManagerFactory used by Cayenne JPA provider.
@@ -41,7 +42,12 @@
}
@Override
- protected EntityManager createEntityManagerInternal(PersistenceContextType
type) {
- return new CjpaEntityManager(domain.createDataContext(), this, type);
+ protected EntityManager createEntityManagerInternal(Map parameters) {
+ CjpaEntityManager manager = new CjpaEntityManager(
+ domain.createDataContext(),
+ this,
+ parameters);
+ manager.setDelegate(getDelegate());
+ return manager;
}
}
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityTransaction.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityTransaction.java?rev=425248&r1=425247&r2=425248&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityTransaction.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaEntityTransaction.java
Mon Jul 24 18:29:25 2006
@@ -30,7 +30,8 @@
*/
public class CjpaEntityTransaction implements EntityTransaction {
- private Transaction transaction;
+ protected Transaction transaction;
+ protected boolean rollbackOnly;
public CjpaEntityTransaction(Transaction transaction) {
this.transaction = transaction;
@@ -39,8 +40,7 @@
/**
* Start a resource transaction.
*
- * @throws IllegalStateException
- * if isActive() is true.
+ * @throws IllegalStateException if isActive() is true.
*/
public void begin() {
if (isActive()) {
@@ -51,13 +51,10 @@
}
/**
- * Commit the current transaction, writing any unflushed changes to the
- * database.
+ * Commit the current transaction, writing any unflushed changes to the
database.
*
- * @throws IllegalStateException
- * if isActive() is false.
- * @throws PersistenceException
- * if the commit fails.
+ * @throws IllegalStateException if isActive() is false.
+ * @throws PersistenceException if the commit fails.
*/
public void commit() {
if (!isActive()) {
@@ -66,9 +63,11 @@
try {
transaction.commit();
- } catch (SQLException e) {
+ }
+ catch (SQLException e) {
throw new PersistenceException(e.getMessage(), e);
- } catch (CayenneException e) {
+ }
+ catch (CayenneException e) {
throw new PersistenceException(e.getMessage(), e);
}
}
@@ -76,10 +75,8 @@
/**
* Roll back the current transaction.
*
- * @throws IllegalStateException
- * if isActive() is false.
- * @throws PersistenceException
- * if an unexpected error condition is encountered.
+ * @throws IllegalStateException if isActive() is false.
+ * @throws PersistenceException if an unexpected error condition is
encountered.
*/
public void rollback() {
if (!isActive()) {
@@ -88,9 +85,11 @@
try {
transaction.rollback();
- } catch (SQLException e) {
+ }
+ catch (SQLException e) {
throw new PersistenceException(e.getMessage(), e);
- } catch (CayenneException e) {
+ }
+ catch (CayenneException e) {
throw new PersistenceException(e.getMessage(), e);
}
}
@@ -98,11 +97,17 @@
/**
* Indicate whether a transaction is in progress.
*
- * @throws PersistenceException
- * if an unexpected error condition is encountered.
+ * @throws PersistenceException if an unexpected error condition is
encountered.
*/
public boolean isActive() {
return (transaction.getStatus() == Transaction.STATUS_ACTIVE);
}
+ public boolean getRollbackOnly() {
+ return rollbackOnly;
+ }
+
+ public void setRollbackOnly() {
+ rollbackOnly = true;
+ }
}
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaPersistenceProvider.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaPersistenceProvider.java?rev=425248&r1=425247&r2=425248&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaPersistenceProvider.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/cspi/CjpaPersistenceProvider.java
Mon Jul 24 18:29:25 2006
@@ -99,8 +99,11 @@
* [EMAIL PROTECTED] CjpaEntityManagerFactory} which is a DataDomain
wrapper.
*/
@Override
+ // TODO: andrus, 07/24/2006 - extract properties from the second map
parameter as well
+ // as PUI.
public synchronized EntityManagerFactory createContainerManagerFactory(
- PersistenceUnitInfo info) {
+ PersistenceUnitInfo info,
+ Map map) {
String name = info.getPersistenceUnitName();
DataDomain domain = configuration.getDomain(name);
@@ -167,7 +170,9 @@
}
}
- return new CjpaEntityManagerFactory(domain, info);
+ CjpaEntityManagerFactory factory = new
CjpaEntityManagerFactory(domain, info);
+ factory.setDelegate(this);
+ return factory;
}
protected DbAdapter createCustomAdapter(
@@ -275,5 +280,4 @@
throw new UnsupportedOperationException();
}
}
-
}
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/spi/JpaPersistenceProvider.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/spi/JpaPersistenceProvider.java?rev=425248&r1=425247&r2=425248&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/spi/JpaPersistenceProvider.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/spi/JpaPersistenceProvider.java
Mon Jul 24 18:29:25 2006
@@ -134,7 +134,7 @@
return null;
}
- return createContainerManagerFactory(ui);
+ return createContainerManagerFactory(ui, map);
}
/**
@@ -168,8 +168,14 @@
return unitLoader;
}
+ /**
+ * @param info metadata for use by PersistenceProvider.
+ * @param map a map of integration=level properties for use by the
persistence
+ * provider. May be null if no properties are specified.
+ */
public abstract EntityManagerFactory createContainerManagerFactory(
- PersistenceUnitInfo info);
+ PersistenceUnitInfo info,
+ Map map);
public String getDefaultProperty(String key) {
return defaultProperties.getProperty(key);
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/JpaEntityManagerFactoryTest.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/JpaEntityManagerFactoryTest.java?rev=425248&r1=425247&r2=425248&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/JpaEntityManagerFactoryTest.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/JpaEntityManagerFactoryTest.java
Mon Jul 24 18:29:25 2006
@@ -15,17 +15,17 @@
*/
package org.apache.cayenne.jpa;
-import javax.persistence.PersistenceContextType;
-
-import org.apache.cayenne.jpa.spi.MockPersistenceUnitInfo;
+import java.util.HashMap;
import junit.framework.TestCase;
+import org.apache.cayenne.jpa.spi.MockPersistenceUnitInfo;
+
public class JpaEntityManagerFactoryTest extends TestCase {
public void testOpenClose() {
JpaEntityManagerFactory f = new MockJpaEntityManagerFactory(
- new MockPersistenceUnitInfo());
+ new MockPersistenceUnitInfo());
assertTrue(f.isOpen());
f.close();
@@ -50,15 +50,7 @@
}
try {
- f.createEntityManager(PersistenceContextType.EXTENDED);
- fail("Closed EntityManagerFactory is supposed to throw");
- }
- catch (IllegalStateException e) {
- // expected
- }
-
- try {
- f.getEntityManager();
+ f.createEntityManager(new HashMap());
fail("Closed EntityManagerFactory is supposed to throw");
}
catch (IllegalStateException e) {
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockEntityManagerFactory.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockEntityManagerFactory.java?rev=425248&r1=425247&r2=425248&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockEntityManagerFactory.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockEntityManagerFactory.java
Mon Jul 24 18:29:25 2006
@@ -19,7 +19,6 @@
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
-import javax.persistence.PersistenceContextType;
import javax.persistence.spi.PersistenceUnitInfo;
public class MockEntityManagerFactory implements EntityManagerFactory {
@@ -46,11 +45,7 @@
return null;
}
- public EntityManager createEntityManager(PersistenceContextType type) {
- return null;
- }
-
- public EntityManager getEntityManager() {
+ public EntityManager createEntityManager(Map parameters) {
return null;
}
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockEntityTransaction.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockEntityTransaction.java?rev=425248&r1=425247&r2=425248&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockEntityTransaction.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockEntityTransaction.java
Mon Jul 24 18:29:25 2006
@@ -31,4 +31,11 @@
public boolean isActive() {
return false;
}
+
+ public boolean getRollbackOnly() {
+ return false;
+ }
+
+ public void setRollbackOnly() {
+ }
}
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockJpaEntityManager.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockJpaEntityManager.java?rev=425248&r1=425247&r2=425248&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockJpaEntityManager.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockJpaEntityManager.java
Mon Jul 24 18:29:25 2006
@@ -16,18 +16,12 @@
package org.apache.cayenne.jpa;
import javax.persistence.EntityManagerFactory;
-import javax.persistence.PersistenceContextType;
import javax.persistence.Query;
public class MockJpaEntityManager extends JpaEntityManager {
public MockJpaEntityManager(EntityManagerFactory factory) {
- super(factory, PersistenceContextType.TRANSACTION);
- }
-
- public MockJpaEntityManager(EntityManagerFactory factory,
- PersistenceContextType contextType) {
- super(factory, contextType);
+ super(factory);
}
@Override
@@ -64,15 +58,18 @@
@Override
public Query createNativeQuery(String sqlString, Class resultClass) {
checkClosed();
-
+
return null;
}
@Override
public Query createNamedQuery(String name) {
checkClosed();
-
+
return null;
}
+ @Override
+ public void joinTransaction() {
+ }
}
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockJpaEntityManagerFactory.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockJpaEntityManagerFactory.java?rev=425248&r1=425247&r2=425248&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockJpaEntityManagerFactory.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/MockJpaEntityManagerFactory.java
Mon Jul 24 18:29:25 2006
@@ -15,8 +15,9 @@
*/
package org.apache.cayenne.jpa;
+import java.util.Map;
+
import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContextType;
import javax.persistence.spi.PersistenceUnitInfo;
public class MockJpaEntityManagerFactory extends JpaEntityManagerFactory {
@@ -26,7 +27,7 @@
}
@Override
- protected EntityManager createEntityManagerInternal(PersistenceContextType
type) {
+ protected EntityManager createEntityManagerInternal(Map parameters) {
return null;
}
Modified:
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/spi/MockPersistenceProvider.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/spi/MockPersistenceProvider.java?rev=425248&r1=425247&r2=425248&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/spi/MockPersistenceProvider.java
(original)
+++
incubator/cayenne/main/trunk/cayenne-jpa/src/test/java/org/apache/cayenne/jpa/spi/MockPersistenceProvider.java
Mon Jul 24 18:29:25 2006
@@ -41,7 +41,9 @@
: null;
}
- public EntityManagerFactory
createContainerManagerFactory(PersistenceUnitInfo info) {
+ public EntityManagerFactory createContainerManagerFactory(
+ PersistenceUnitInfo info,
+ Map parameters) {
return unitName != null &&
unitName.equals(info.getPersistenceUnitName())
? new MockEntityManagerFactory(info.getPersistenceUnitName(),
info)
: null;