You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by ss...@apache.org on 2008/11/17 22:55:29 UTC
svn commit: r718400 [3/3] - in /openjpa/branches/0.9.7-r547073:
openjpa-kernel/src/main/java/org/apache/openjpa/kernel/
openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/exception/
openjpa-persistence/src/main/java/org/apache/openjp...
Modified: openjpa/branches/0.9.7-r547073/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/exception/TestException.java
URL: http://svn.apache.org/viewvc/openjpa/branches/0.9.7-r547073/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/exception/TestException.java?rev=718400&r1=718399&r2=718400&view=diff
==============================================================================
--- openjpa/branches/0.9.7-r547073/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/exception/TestException.java (original)
+++ openjpa/branches/0.9.7-r547073/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/exception/TestException.java Mon Nov 17 13:55:28 2008
@@ -157,6 +157,17 @@
}
}
+ public void testThrowsIllegalArgumentExceptionForCreateQuery() {
+ try {
+ EntityManager em = emf.createEntityManager();
+ em.createQuery("This is all nonsense");
+ fail("IllegalArgumentException is expected in case the query is "
+ + "incorrect");
+ } catch (IllegalArgumentException e) {
+ //expected
+ }
+ }
+
/**
* Asserts that the given expected type of the exception is equal to or a
* subclass of the given throwable or any of its nested exception.
Modified: openjpa/branches/0.9.7-r547073/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java
URL: http://svn.apache.org/viewvc/openjpa/branches/0.9.7-r547073/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java?rev=718400&r1=718399&r2=718400&view=diff
==============================================================================
--- openjpa/branches/0.9.7-r547073/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java (original)
+++ openjpa/branches/0.9.7-r547073/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java Mon Nov 17 13:55:28 2008
@@ -763,7 +763,16 @@
public OpenJPAQuery createQuery(String language, String query) {
assertNotCloseInvoked();
- return new QueryImpl(this, _broker.newQuery(language, query));
+ try {
+ org.apache.openjpa.kernel.Query q = _broker.newQuery(language,
+ query);
+ // have to validate JPQL according to spec
+ if (JPQLParser.LANG_JPQL.equals(language))
+ q.compile();
+ return new QueryImpl(this, q);
+ } catch (RuntimeException re) {
+ throw PersistenceExceptions.toPersistenceException(re);
+ }
}
public OpenJPAQuery createQuery(Query query) {