[jbosstools-commits] JBoss Tools SVN: r35662 - in branches/dead/hibernatetools-multiversion2/plugins: org.jboss.tools.hibernate4_0/src/org/jboss/tools/hibernate4_0 and 1 other directory.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Fri Oct 14 10:23:26 EDT 2011
Author: dgeraskov
Date: 2011-10-14 10:23:25 -0400 (Fri, 14 Oct 2011)
New Revision: 35662
Modified:
branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/HibernateExtension3_5.java
branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/QueryExecutor.java
branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate4_0/src/org/jboss/tools/hibernate4_0/HibernateExtension4_0.java
branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate4_0/src/org/jboss/tools/hibernate4_0/QueryExecutor.java
Log:
Handle Throwable instead of Exception as incompatible libraries versions (when ConsoleConfiguration and user libraries has different versions) throw Exceptions which actually subclasses of Error
Modified: branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/HibernateExtension3_5.java
===================================================================
--- branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/HibernateExtension3_5.java 2011-10-14 14:21:07 UTC (rev 35661)
+++ branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/HibernateExtension3_5.java 2011-10-14 14:23:25 UTC (rev 35662)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.hibernate3_5;
import java.net.URL;
@@ -24,6 +34,11 @@
import org.hibernate.console.preferences.PreferencesClassPathUtils;
import org.hibernate.eclipse.libs.FakeDelegatingDriver;
+/**
+ *
+ * @author Dmitry Geraskov
+ *
+ */
public class HibernateExtension3_5 implements HibernateExtension {
private ConsoleConfigClassLoader classLoader = null;
@@ -51,10 +66,14 @@
try {
try {
session = sessionFactory.openSession();
- } catch (Exception e){
+ return QueryExecutor.executeHQLQuery(session, hql, queryParameters);
+ } catch (Throwable e){
+ //Incompatible library versions could throw subclasses of Error, like AbstractMethodError
+ //may be there is a sense to say to user that the reason is probably a wrong CC version
+ //(when catch a subclass of Error)
return new QueryResultImpl(e);
}
- return QueryExecutor.executeHQLQuery(session, hql, queryParameters);
+
} finally {
if (session != null && session.isOpen()){
try {
@@ -73,10 +92,10 @@
try {
try {
session = sessionFactory.openSession();
+ return QueryExecutor.executeCriteriaQuery(session, criteriaCode, model);
} catch (Exception e){
return new QueryResultImpl(e);
}
- return QueryExecutor.executeCriteriaQuery(session, criteriaCode, model);
} finally {
if (session != null && session.isOpen()){
try {
Modified: branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/QueryExecutor.java
===================================================================
--- branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/QueryExecutor.java 2011-10-14 14:21:07 UTC (rev 35661)
+++ branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/QueryExecutor.java 2011-10-14 14:23:25 UTC (rev 35662)
@@ -48,16 +48,15 @@
list = new ArrayList<Object>();
setupParameters(query, queryParameters);
long startTime = System.currentTimeMillis();
- Iterator<?> iter = query.list().iterator(); // need to be user-controllable to toggle between iterate, scroll etc.
- queryTime = System.currentTimeMillis() - startTime;
- while (iter.hasNext() ) {
- Object element = iter.next();
- list.add(element);
- }
-
QueryResultImpl result = new QueryResultImpl(list,
queryTime);
- try{
+ try {
+ Iterator<?> iter = query.list().iterator(); // need to be user-controllable to toggle between iterate, scroll etc.
+ queryTime = System.currentTimeMillis() - startTime;
+ while (iter.hasNext() ) {
+ Object element = iter.next();
+ list.add(element);
+ }
result.setPathNames(getHQLPathNames(query));
} catch (HibernateException e){
result.addException(e);
Modified: branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate4_0/src/org/jboss/tools/hibernate4_0/HibernateExtension4_0.java
===================================================================
--- branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate4_0/src/org/jboss/tools/hibernate4_0/HibernateExtension4_0.java 2011-10-14 14:21:07 UTC (rev 35661)
+++ branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate4_0/src/org/jboss/tools/hibernate4_0/HibernateExtension4_0.java 2011-10-14 14:23:25 UTC (rev 35662)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.hibernate4_0;
import java.net.URL;
@@ -29,6 +39,11 @@
import org.hibernate.service.ServiceRegistryBuilder;
import org.hibernate.service.internal.BasicServiceRegistryImpl;
+/**
+ *
+ * @author Dmitry Geraskov
+ *
+ */
public class HibernateExtension4_0 implements HibernateExtension {
private ConsoleConfigClassLoader classLoader = null;
@@ -60,10 +75,13 @@
try {
try {
session = sessionFactory.openSession();
- } catch (Exception e){
+ return QueryExecutor.executeHQLQuery(session, hql, queryParameters);
+ } catch (Throwable e){
+ //Incompatible library versions could throw subclasses of Error, like AbstractMethodError
+ //may be there is a sense to say to user that the reason is probably a wrong CC version
+ //(when catch a subclass of Error)
return new QueryResultImpl(e);
}
- return QueryExecutor.executeHQLQuery(session, hql, queryParameters);
} finally {
if (session != null && session.isOpen()){
try {
@@ -82,10 +100,10 @@
try {
try {
session = sessionFactory.openSession();
+ return QueryExecutor.executeCriteriaQuery(session, criteriaCode, model);
} catch (Exception e){
return new QueryResultImpl(e);
}
- return QueryExecutor.executeCriteriaQuery(session, criteriaCode, model);
} finally {
if (session != null && session.isOpen()){
try {
Modified: branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate4_0/src/org/jboss/tools/hibernate4_0/QueryExecutor.java
===================================================================
--- branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate4_0/src/org/jboss/tools/hibernate4_0/QueryExecutor.java 2011-10-14 14:21:07 UTC (rev 35661)
+++ branches/dead/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate4_0/src/org/jboss/tools/hibernate4_0/QueryExecutor.java 2011-10-14 14:23:25 UTC (rev 35662)
@@ -48,16 +48,15 @@
list = new ArrayList<Object>();
setupParameters(query, queryParameters);
long startTime = System.currentTimeMillis();
- Iterator<?> iter = query.list().iterator(); // need to be user-controllable to toggle between iterate, scroll etc.
- queryTime = System.currentTimeMillis() - startTime;
- while (iter.hasNext() ) {
- Object element = iter.next();
- list.add(element);
- }
-
QueryResultImpl result = new QueryResultImpl(list,
queryTime);
- try{
+ try {
+ Iterator<?> iter = query.list().iterator(); // need to be user-controllable to toggle between iterate, scroll etc.
+ queryTime = System.currentTimeMillis() - startTime;
+ while (iter.hasNext() ) {
+ Object element = iter.next();
+ list.add(element);
+ }
result.setPathNames(getHQLPathNames(query));
} catch (HibernateException e){
result.addException(e);
More information about the jbosstools-commits
mailing list