[jbpm-commits] JBoss JBPM SVN: r5801 - jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Oct 26 11:53:06 EDT 2009
Author: tom.baeyens at jboss.com
Date: 2009-10-26 11:53:05 -0400 (Mon, 26 Oct 2009)
New Revision: 5801
Modified:
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/AbstractQuery.java
Log:
elaborated exception reporting
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/AbstractQuery.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/AbstractQuery.java 2009-10-26 14:23:29 UTC (rev 5800)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/AbstractQuery.java 2009-10-26 15:53:05 UTC (rev 5801)
@@ -22,13 +22,16 @@
package org.jbpm.pvm.internal.query;
import java.io.ObjectStreamException;
+import java.sql.SQLException;
import java.util.List;
+import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.jbpm.api.JbpmException;
import org.jbpm.api.cmd.Command;
import org.jbpm.api.cmd.Environment;
+import org.jbpm.internal.log.Log;
import org.jbpm.pvm.internal.cmd.CommandService;
import org.jbpm.pvm.internal.env.EnvironmentImpl;
@@ -37,6 +40,8 @@
* @author Tom Baeyens
*/
public abstract class AbstractQuery implements Command<Object> {
+
+ private static Log log = Log.getLog(AbstractQuery.class.getName());
private static final long serialVersionUID = 1L;
@@ -83,10 +88,25 @@
public Object execute(Session session) {
String hql = hql();
- Query query = session.createQuery(hql);
- applyParameters(query);
- applyPage(query);
- return query.list();
+ try {
+ Query query = session.createQuery(hql);
+ applyParameters(query);
+ applyPage(query);
+ return query.list();
+ } catch (HibernateException e) {
+ Throwable t = e;
+ while (t!=null) {
+ if (t instanceof SQLException) {
+ SQLException sqlException = (SQLException) t;
+ SQLException nextException = sqlException.getNextException();
+ if (nextException!=null) {
+ log.error("cause of "+nextException+": ", e);
+ }
+ }
+ t = t.getCause();
+ }
+ throw e;
+ }
}
protected void appendWhereClause(String whereClause, StringBuilder hql) {
More information about the jbpm-commits
mailing list