Author: ppoddar
Date: Tue Apr 30 01:40:39 2013
New Revision: 1477446

URL: http://svn.apache.org/r1477446
Log:
support Stored Procedure

Modified:
    
openjpa/sandboxes/21/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestNativeQueryProcedures.java

Modified: 
openjpa/sandboxes/21/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestNativeQueryProcedures.java
URL: 
http://svn.apache.org/viewvc/openjpa/sandboxes/21/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestNativeQueryProcedures.java?rev=1477446&r1=1477445&r2=1477446&view=diff
==============================================================================
--- 
openjpa/sandboxes/21/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestNativeQueryProcedures.java
 (original)
+++ 
openjpa/sandboxes/21/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/TestNativeQueryProcedures.java
 Tue Apr 30 01:40:39 2013
@@ -18,20 +18,20 @@
  */
 package org.apache.openjpa.persistence.jdbc.query;
 
-import java.util.Collection;
 import java.util.List;
 
 import javax.persistence.EntityManager;
 import javax.persistence.Query;
+import javax.persistence.StoredProcedureQuery;
 
 import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
 import org.apache.openjpa.jdbc.sql.DerbyDictionary;
+import org.apache.openjpa.jdbc.sql.StoredProcedure;
 import org.apache.openjpa.persistence.OpenJPAEntityManagerFactorySPI;
 import org.apache.openjpa.persistence.jdbc.query.domain.Applicant;
 import org.apache.openjpa.persistence.jdbc.query.domain.Game;
-import org.apache.openjpa.persistence.jdbc.query.procedure.DerbyProcedureList;
 import 
org.apache.openjpa.persistence.jdbc.query.procedure.AbstractProcedureList;
-import org.apache.openjpa.persistence.jdbc.query.procedure.StoredProcedure;
+import org.apache.openjpa.persistence.jdbc.query.procedure.DerbyProcedureList;
 import org.apache.openjpa.persistence.test.AllowFailure;
 import org.apache.openjpa.persistence.test.SingleEMFTestCase;
 
@@ -57,7 +57,7 @@ public class TestNativeQueryProcedures e
         if (conf.getDBDictionaryInstance() instanceof DerbyDictionary) {
             procedureList = new DerbyProcedureList();
         }
-        for (StoredProcedure proc : procedureList.getProcedureList()) {
+        for (org.apache.openjpa.jdbc.sql.StoredProcedure proc : 
procedureList.getProcedureList()) {
             executeSQL(proc.getCreateSQL());
         }
     }
@@ -142,7 +142,6 @@ public class TestNativeQueryProcedures e
         }
     }
 
-    @AllowFailure(value=true, message="Waiting for resolution for JIRA 
DERBY-4558")
     public void testNoReturnMultiParamProcedure() {
         if (procedureList != null) {
             EntityManager em = emf.createEntityManager();
@@ -167,7 +166,7 @@ public class TestNativeQueryProcedures e
                 em.getTransaction().begin();
                 Query query = em.createNativeQuery(sql);
                 query.setParameter(1, "Charlie");
-                query.setParameter(2, "x");
+                query.setParameter(2, "z");
                 query.getSingleResult();
                 em.getTransaction().commit();
                 fail("Expected exception. getSingleResult() with no returns " +
@@ -180,7 +179,7 @@ public class TestNativeQueryProcedures e
                 em.getTransaction().begin();
                 Query query = em.createNativeQuery(sql);
                 query.setParameter(1, "Charlie");
-                query.setParameter(2, "x");
+                query.setParameter(2, "z");
                 query.getResultList();
                 em.getTransaction().commit();
                 fail("Expected exception. getResultList() with no returns " +
@@ -195,7 +194,7 @@ public class TestNativeQueryProcedures e
                 em.getTransaction().begin();
                 Query query = em.createNativeQuery(sql);
                 query.setParameter(1, "Charlie");
-                query.setParameter(2, "x");
+                query.setParameter(2, "z");
                 query.executeUpdate();
                 em.getTransaction().commit();
             } catch (Exception e) {
@@ -212,7 +211,7 @@ public class TestNativeQueryProcedures e
             applicant2 = em.find(Applicant.class, applicant2.getId());
 
             // verify one changed and one didn't
-            assertEquals("Charliex", applicant1.getName());
+            assertEquals("Charliez", applicant1.getName());
             assertEquals("Snoopy", applicant2.getName());
         
             em.clear();
@@ -369,6 +368,18 @@ public class TestNativeQueryProcedures e
         }
     }
     
+    public void testStoredProcedureQuery() {
+       EntityManager em = emf.createEntityManager();
+       String procedureName = "GET_TWO_APPLICANTS";
+        StoredProcedureQuery query = 
em.createStoredProcedureQuery(procedureName);
+        query.setParameter(1, "Charlie");
+        query.setParameter(2, "Snoopy");
+        em.getTransaction().begin();
+       assertNotNull(query);
+       query.getResultList();
+       em.getTransaction().rollback();
+    }
+    
     /**
      * Execute the given non-select SQL via NativeQuery in a transaction.
      * @param sp


Reply via email to