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;


Reply via email to