[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