Author: jlmonteiro
Date: Mon May  3 11:08:59 2010
New Revision: 940417

URL: http://svn.apache.org/viewvc?rev=940417&view=rev
Log:
OPENEJB-1236: Provide JPA 2.0 support in addition to JPA 1.0
--> initial working version

Modified:
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceUnitInfo.java
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaEntityManager.java
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaQuery.java
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
    openejb/trunk/openejb3/deps/javaee-api/pom.xml
    openejb/trunk/openejb3/pom.xml

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java?rev=940417&r1=940416&r2=940417&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java
 Mon May  3 11:08:59 2010
@@ -16,11 +16,12 @@
  */
 package org.apache.openejb.assembler.classic;
 
-import java.io.File;
 import java.util.HashMap;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.spi.PersistenceProvider;
 import javax.persistence.spi.PersistenceUnitTransactionType;
+import javax.persistence.SharedCacheMode;
+import javax.persistence.ValidationMode;
 import javax.sql.DataSource;
 import javax.naming.Context;
 import javax.naming.NamingException;
@@ -133,7 +134,18 @@ public class PersistenceBuilder {
 
         // Handle Properties
         unitInfo.setProperties(info.properties);
-
+        
+        // Schema version of the persistence.xml file
+        
unitInfo.setPersistenceXMLSchemaVersion(info.persistenceXMLSchemaVersion);
+        
+        // Second-level cache mode for the persistence unit
+        SharedCacheMode sharedCacheMode = Enum.valueOf(SharedCacheMode.class, 
info.sharedCacheMode);
+        unitInfo.setSharedCacheMode(sharedCacheMode);
+        
+        // The validation mode to be used for the persistence unit
+        ValidationMode validationMode = Enum.valueOf(ValidationMode.class, 
info.validationMode);
+        unitInfo.setValidationMode(validationMode);
+        
         // Persistence Unit Transaction Type
         if (transactionTypeEnv != null) {
             try {

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceUnitInfo.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceUnitInfo.java?rev=940417&r1=940416&r2=940417&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceUnitInfo.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceUnitInfo.java
 Mon May  3 11:08:59 2010
@@ -36,4 +36,7 @@ public class PersistenceUnitInfo extends
     public final Properties properties = new Properties();
     public String persistenceUnitRootUrl;
     public final Set<String> watchedResources = new TreeSet<String>();
+    public String persistenceXMLSchemaVersion;
+    public String sharedCacheMode;
+    public String validationMode;
 }

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java?rev=940417&r1=940416&r2=940417&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
 Mon May  3 11:08:59 2010
@@ -489,6 +489,10 @@ class AppInfoBuilder {
                 info.jarFiles.addAll(persistenceUnit.getJarFile());
                 info.classes.addAll(persistenceUnit.getClazz());
                 info.mappingFiles.addAll(persistenceUnit.getMappingFile());
+                
+                info.persistenceXMLSchemaVersion = persistence.getVersion();
+                info.sharedCacheMode = 
persistenceUnit.getSharedCacheMode().toString();
+                info.validationMode = 
persistenceUnit.getValidationMode().toString();
 
                 // Handle Properties
                 org.apache.openejb.jee.jpa.unit.Properties puiProperties = 
persistenceUnit.getProperties();

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaEntityManager.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaEntityManager.java?rev=940417&r1=940416&r2=940417&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaEntityManager.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaEntityManager.java
 Mon May  3 11:08:59 2010
@@ -18,6 +18,8 @@
 package org.apache.openejb.persistence;
 
 import java.util.Map;
+import java.util.Set;
+
 import javax.persistence.FlushModeType;
 import javax.persistence.LockModeType;
 import javax.persistence.Query;
@@ -25,6 +27,10 @@ import javax.persistence.EntityTransacti
 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.TransactionRequiredException;
+import javax.persistence.TypedQuery;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.metamodel.Metamodel;
 
 /**
  * The JtaEntityManager is a wrapper around an entity manager that 
automatically creates and closes entity managers
@@ -219,4 +225,199 @@ public class JtaEntityManager implements
     public EntityTransaction getTransaction() {
         throw new IllegalStateException("A JTA EntityManager can not use the 
EntityTransaction API.  See JPA 1.0 section 5.5");
     }
+    
+    // JPA 2.0
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#createNamedQuery(java.lang.String, 
java.lang.Class)
+     */
+    public <T> TypedQuery<T> createNamedQuery(String name, Class<T> 
resultClass) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            return entityManager.createNamedQuery(name, resultClass);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see 
javax.persistence.EntityManager#createQuery(javax.persistence.criteria.CriteriaQuery)
+     */
+    public <T> TypedQuery<T> createQuery(CriteriaQuery<T> criteriaQuery) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            return entityManager.createQuery(criteriaQuery);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#createQuery(java.lang.String, 
java.lang.Class)
+     */
+    public <T> TypedQuery<T> createQuery(String qlString, Class<T> 
resultClass) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            return entityManager.createQuery(qlString, resultClass);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#detach(java.lang.Object)
+     */
+    public void detach(Object entity) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            entityManager.detach(entity);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#find(java.lang.Class, 
java.lang.Object, java.util.Map)
+     */
+    public <T> T find(Class<T> entityClass, Object primaryKey, Map<String, 
Object> properties) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            return entityManager.find(entityClass, primaryKey, properties);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#find(java.lang.Class, 
java.lang.Object, javax.persistence.LockModeType)
+     */
+    public <T> T find(Class<T> entityClass, Object primaryKey, LockModeType 
lockMode) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            return entityManager.find(entityClass, entityManager, lockMode);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#find(java.lang.Class, 
java.lang.Object, javax.persistence.LockModeType, java.util.Map)
+     */
+    public <T> T find(Class<T> entityClass, Object primaryKey, LockModeType 
lockMode, Map<String, Object> properties) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            return entityManager.find(entityClass, entityManager, lockMode, 
properties);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#getEntityManagerFactory()
+     */
+    public EntityManagerFactory getEntityManagerFactory() {
+        return entityManagerFactory;
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#getLockMode(java.lang.Object)
+     */
+    public LockModeType getLockMode(Object entity) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            return entityManager.getLockMode(entity);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#getMetamodel()
+     */
+    public Metamodel getMetamodel() {
+        EntityManager entityManager = getEntityManager();
+        try {
+            return entityManager.getMetamodel();
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#getProperties()
+     */
+    public Map<String, Object> getProperties() {
+        EntityManager entityManager = getEntityManager();
+        try {
+            return entityManager.getProperties();
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#getCriteriaBuilder()
+     */
+    public CriteriaBuilder getCriteriaBuilder() {
+        EntityManager entityManager = getEntityManager();
+        try {
+            return entityManager.getCriteriaBuilder();
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#lock(java.lang.Object, 
javax.persistence.LockModeType, java.util.Map)
+     */
+    public void lock(Object entity, LockModeType lockMode, Map<String, Object> 
properties) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            entityManager.lock(entityManager, lockMode, properties);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#refresh(java.lang.Object, 
java.util.Map)
+     */
+    public void refresh(Object entity, Map<String, Object> properties) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            entityManager.refresh(entityManager, properties);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#refresh(java.lang.Object, 
javax.persistence.LockModeType)
+     */
+    public void refresh(Object entity, LockModeType lockMode) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            entityManager.refresh(entityManager, lockMode);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#refresh(java.lang.Object, 
javax.persistence.LockModeType, java.util.Map)
+     */
+    public void refresh(Object entity, LockModeType lockMode, Map<String, 
Object> properties) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            entityManager.refresh(entityManager, lockMode, properties);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#setProperty(java.lang.String, 
java.lang.Object)
+     */
+    public void setProperty(String name, Object value) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            entityManager.setProperty(name, value);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
+    /* (non-Javadoc)
+     * @see javax.persistence.EntityManager#unwrap(java.lang.Class)
+     */
+    public <T> T unwrap(Class<T> cls) {
+        EntityManager entityManager = getEntityManager();
+        try {
+            return entityManager.unwrap(cls);
+        } finally {
+            closeIfNoTx(entityManager);
+        }
+    }
 }

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaQuery.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaQuery.java?rev=940417&r1=940416&r2=940417&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaQuery.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaQuery.java
 Mon May  3 11:08:59 2010
@@ -19,11 +19,15 @@ package org.apache.openejb.persistence;
 
 import javax.persistence.EntityManager;
 import javax.persistence.FlushModeType;
+import javax.persistence.LockModeType;
+import javax.persistence.Parameter;
 import javax.persistence.Query;
 import javax.persistence.TemporalType;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * The JtaQuery is a wrapper around a query and and entity manager that 
automatically closes the entity managers
@@ -111,4 +115,138 @@ public class JtaQuery implements Query {
         query.setParameter(i, calendar, temporalType);
         return this;
     }
+
+    // JPA 2.0
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#getFirstResult()
+     */
+    public int getFirstResult() {
+        return query.getFirstResult();
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#getFlushMode()
+     */
+    public FlushModeType getFlushMode() {
+        return query.getFlushMode();
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#getHints()
+     */
+    public Map<String, Object> getHints() {
+        return query.getHints();
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#getLockMode()
+     */
+    public LockModeType getLockMode() {
+        return query.getLockMode();
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#getMaxResults()
+     */
+    public int getMaxResults() {
+        return query.getMaxResults();
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#getParameter(java.lang.String)
+     */
+    public Parameter<?> getParameter(String name) {
+        return query.getParameter(name);
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#getParameter(int)
+     */
+    public Parameter<?> getParameter(int position) {
+        return query.getParameter(position);
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#getParameter(java.lang.String, 
java.lang.Class)
+     */
+    public <T> Parameter<T> getParameter(String name, Class<T> type) {
+        return query.getParameter(name, type);
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#getParameter(int, java.lang.Class)
+     */
+    public <T> Parameter<T> getParameter(int position, Class<T> type) {
+        return query.getParameter(position, type);
+    }
+
+    /* (non-Javadoc)
+     * @see 
javax.persistence.Query#getParameterValue(javax.persistence.Parameter)
+     */
+    public <T> T getParameterValue(Parameter<T> param) {
+        return query.getParameterValue(param);
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#getParameterValue(java.lang.String)
+     */
+    public Object getParameterValue(String name) {
+        return query.getParameterValue(name);
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#getParameterValue(int)
+     */
+    public Object getParameterValue(int position) {
+        return query.getParameterValue(position);
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#getParameters()
+     */
+    public Set<Parameter<?>> getParameters() {
+        return query.getParameters();
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#isBound(javax.persistence.Parameter)
+     */
+    public boolean isBound(Parameter<?> param) {
+        return query.isBound(param);
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#setLockMode(javax.persistence.LockModeType)
+     */
+    public Query setLockMode(LockModeType lockMode) {
+        return query.setLockMode(lockMode);
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#setParameter(javax.persistence.Parameter, 
java.lang.Object)
+     */
+    public <T> Query setParameter(Parameter<T> param, T value) {
+        return query.setParameter(param, value);
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#setParameter(javax.persistence.Parameter, 
java.util.Calendar, javax.persistence.TemporalType)
+     */
+    public Query setParameter(Parameter<Calendar> param, Calendar value, 
TemporalType temporalType) {
+        return query.setParameter(param, value, temporalType);
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#setParameter(javax.persistence.Parameter, 
java.util.Date, javax.persistence.TemporalType)
+     */
+    public Query setParameter(Parameter<Date> param, Date value, TemporalType 
temporalType) {
+        return query.setParameter(param, value, temporalType);
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.Query#unwrap(java.lang.Class)
+     */
+    public <T> T unwrap(Class<T> cls) {
+        return query.unwrap(cls);
+    }
 }

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java?rev=940417&r1=940416&r2=940417&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
 Mon May  3 11:08:59 2010
@@ -16,16 +16,12 @@
  */
 package org.apache.openejb.persistence;
 
-import org.apache.openejb.util.Join;
 
 import java.lang.instrument.ClassFileTransformer;
 import java.lang.instrument.IllegalClassFormatException;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.net.URI;
 import java.net.URISyntaxException;
-import java.net.URLDecoder;
-import java.net.URLEncoder;
 import java.security.ProtectionDomain;
 import java.util.ArrayList;
 import java.util.List;
@@ -35,6 +31,8 @@ import java.io.IOException;
 import javax.persistence.spi.ClassTransformer;
 import javax.persistence.spi.PersistenceUnitInfo;
 import javax.persistence.spi.PersistenceUnitTransactionType;
+import javax.persistence.SharedCacheMode;
+import javax.persistence.ValidationMode;
 import javax.sql.DataSource;
 
 public class PersistenceUnitInfoImpl implements PersistenceUnitInfo {
@@ -111,6 +109,16 @@ public class PersistenceUnitInfoImpl imp
      * Class loader used by JPA to load Entity classes.
      */
     private ClassLoader classLoader;
+    
+    // JPA 2.0
+    /** Schema version of the persistence.xml file */
+    private String persistenceXMLSchemaVersion;
+    
+    /** Second-level cache mode for the persistence unit */
+    private SharedCacheMode sharedCacheMode;
+    
+    /** The validation mode to be used for the persistence unit */
+    private ValidationMode validationMode;
 
     public PersistenceUnitInfoImpl() {
         this.persistenceClassLoaderHandler = null;
@@ -304,4 +312,48 @@ public class PersistenceUnitInfoImpl imp
             return bytes;
         }
     }
+
+    // JPA 2.0
+    /* (non-Javadoc)
+     * @see 
javax.persistence.spi.PersistenceUnitInfo#getPersistenceXMLSchemaVersion()
+     */
+    public String getPersistenceXMLSchemaVersion() {
+        return this.persistenceXMLSchemaVersion;
+    }
+
+    /**
+     * @param persistenceXMLSchemaVersion the persistenceXMLSchemaVersion to 
set
+     */
+    public void setPersistenceXMLSchemaVersion(String 
persistenceXMLSchemaVersion) {
+        this.persistenceXMLSchemaVersion = persistenceXMLSchemaVersion;
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.spi.PersistenceUnitInfo#getSharedCacheMode()
+     */
+    public SharedCacheMode getSharedCacheMode() {
+        return this.sharedCacheMode;
+    }
+    
+    /**
+     * @param sharedCacheMode the sharedCacheMode to set
+     */
+    public void setSharedCacheMode(SharedCacheMode sharedCacheMode) {
+        this.sharedCacheMode = sharedCacheMode;
+    }
+
+    /* (non-Javadoc)
+     * @see javax.persistence.spi.PersistenceUnitInfo#getValidationMode()
+     */
+    public ValidationMode getValidationMode() {
+        return this.validationMode;
+    }
+
+    /**
+     * @param validationMode the validationMode to set
+     */
+    public void setValidationMode(ValidationMode validationMode) {
+        this.validationMode = validationMode;
+    }
+    
 }

Modified: openejb/trunk/openejb3/deps/javaee-api/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/deps/javaee-api/pom.xml?rev=940417&r1=940416&r2=940417&view=diff
==============================================================================
--- openejb/trunk/openejb3/deps/javaee-api/pom.xml (original)
+++ openejb/trunk/openejb3/deps/javaee-api/pom.xml Mon May  3 11:08:59 2010
@@ -294,11 +294,17 @@
       <version>1.1</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jpa_3.0_spec</artifactId>
-      <version>1.1</version>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-jpa_2.0_spec</artifactId>
+        <version>1.0</version>
     </dependency>
     <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-validation_1.0_spec</artifactId>
+        <version>1.0</version>
+    </dependency>
+
+    <dependency>
       <groupId>org.apache.geronimo.specs</groupId>
       <artifactId>geronimo-jta_1.1_spec</artifactId>
       <version>1.1</version>

Modified: openejb/trunk/openejb3/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/pom.xml?rev=940417&r1=940416&r2=940417&view=diff
==============================================================================
--- openejb/trunk/openejb3/pom.xml (original)
+++ openejb/trunk/openejb3/pom.xml Mon May  3 11:08:59 2010
@@ -748,7 +748,7 @@
       <dependency>
         <groupId>org.apache.openjpa</groupId>
         <artifactId>openjpa</artifactId>
-        <version>1.2.1</version>
+        <version>2.0.0</version>
         <exclusions>
           <exclusion>
             <groupId>org.apache.openjpa</groupId>


Reply via email to