Revision: 6642
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6642&view=rev
Author: gerdwagner
Date: 2012-07-11 20:21:37 +0000 (Wed, 11 Jul 2012)
Log Message:
-----------
Hibernate Plugin: Improved connection error messaging when creation of a Hibernate SessionFactoryImpl in an external process fails.
Modified Paths:
--------------
trunk/sql12/doc/src/main/resources/changes.txt
trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/server/HibernateServerConnectionImpl.java
trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/server/ServerMainImpl.java
Added Paths:
-----------
trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/server/HibernateServerExceptionUtil.java
Modified: trunk/sql12/doc/src/main/resources/changes.txt
===================================================================
--- trunk/sql12/doc/src/main/resources/changes.txt 2012-07-05 22:39:35 UTC (rev 6641)
+++ trunk/sql12/doc/src/main/resources/changes.txt 2012-07-11 20:21:37 UTC (rev 6642)
@@ -9,6 +9,9 @@
Enhancements:
+Hibernate Plugin:
+ Improved connection error messaging when creation of a Hibernate SessionFactoryImpl in an external process fails.
+
Removed misleading button "Remember widths" from Overview Tab
Instead of displaying the file paths in Session tabs a small button is displayed when an open file exists.
Modified: trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/server/HibernateServerConnectionImpl.java
===================================================================
--- trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/server/HibernateServerConnectionImpl.java 2012-07-05 22:39:35 UTC (rev 6641)
+++ trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/server/HibernateServerConnectionImpl.java 2012-07-11 20:21:37 UTC (rev 6642)
@@ -1,7 +1,5 @@
package net.sourceforge.squirrel_sql.plugins.hibernate.server;
-import java.io.PrintWriter;
-import java.io.StringWriter;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
@@ -166,7 +164,7 @@
}
catch(RuntimeException e)
{
- if(getDeepestThrowable(e) instanceof NoSuchMethodException)
+ if(HibernateServerExceptionUtil.getDeepestThrowable(e) instanceof NoSuchMethodException)
{
infos[i] = new HibernatePropertyInfo(propertyNames[i], mayBeCollectionTypeName, propTableName, propertyColumnNames);
}
@@ -348,30 +346,7 @@
return t;
}
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- Throwable deepestThrowable = getDeepestThrowable(t);
- deepestThrowable.printStackTrace(pw);
-
- pw.flush();
- sw.flush();
-
- String messageIncludingOriginalStackTrace = "Exception occured on Hibernate Server Process: " + deepestThrowable.getMessage() + "\n";
-
- String stackTraceString = sw.toString();
- String deepestToString = deepestThrowable.toString();
- if(("" + deepestThrowable.getMessage()).equals(deepestToString) || stackTraceString.startsWith(deepestToString))
- {
- messageIncludingOriginalStackTrace += stackTraceString;
- }
- else
- {
- messageIncludingOriginalStackTrace += ( deepestToString + "\n" + stackTraceString);
- }
-
-
- return new SquirrelHibernateServerException(messageIncludingOriginalStackTrace, deepestThrowable.getMessage(), deepestToString, deepestThrowable.getClass().getName());
+ return HibernateServerExceptionUtil.prepareTransport(t);
}
@@ -411,17 +386,4 @@
}
- private Throwable getDeepestThrowable(Throwable t)
- {
- Throwable parent = t;
- Throwable child = t.getCause();
- while(null != child)
- {
- parent = child;
- child = parent.getCause();
- }
-
- return parent;
-
- }
}
Added: trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/server/HibernateServerExceptionUtil.java
===================================================================
--- trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/server/HibernateServerExceptionUtil.java (rev 0)
+++ trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/server/HibernateServerExceptionUtil.java 2012-07-11 20:21:37 UTC (rev 6642)
@@ -0,0 +1,52 @@
+package net.sourceforge.squirrel_sql.plugins.hibernate.server;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+/**
+ * NOTE: There is code here copied from somewhere else. Still don't call this functions from somewhere else. The Hibernate Server must remain independent of other libs.
+ */
+public class HibernateServerExceptionUtil
+{
+ public static Throwable prepareTransport(Throwable t)
+ {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+
+ Throwable deepestThrowable = getDeepestThrowable(t);
+ deepestThrowable.printStackTrace(pw);
+
+ pw.flush();
+ sw.flush();
+
+ String messageIncludingOriginalStackTrace = "Exception occured on Hibernate Server Process: " + deepestThrowable.getMessage() + "\n";
+
+ String stackTraceString = sw.toString();
+ String deepestToString = deepestThrowable.toString();
+ if(("" + deepestThrowable.getMessage()).equals(deepestToString) || stackTraceString.startsWith(deepestToString))
+ {
+ messageIncludingOriginalStackTrace += stackTraceString;
+ }
+ else
+ {
+ messageIncludingOriginalStackTrace += ( deepestToString + "\n" + stackTraceString);
+ }
+
+
+ return new SquirrelHibernateServerException(messageIncludingOriginalStackTrace, deepestThrowable.getMessage(), deepestToString, deepestThrowable.getClass().getName());
+ }
+
+ public static Throwable getDeepestThrowable(Throwable t)
+ {
+ Throwable parent = t;
+ Throwable child = t.getCause();
+ while(null != child)
+ {
+ parent = child;
+ child = parent.getCause();
+ }
+
+ return parent;
+
+ }
+}
Modified: trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/server/ServerMainImpl.java
===================================================================
--- trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/server/ServerMainImpl.java 2012-07-05 22:39:35 UTC (rev 6641)
+++ trunk/sql12/plugins/hibernate/src/main/java/net/sourceforge/squirrel_sql/plugins/hibernate/server/ServerMainImpl.java 2012-07-11 20:21:37 UTC (rev 6642)
@@ -51,7 +51,7 @@
}
catch (Throwable t)
{
- throw new RemoteException("" + t, t);
+ throw new RemoteException(t.getMessage(), HibernateServerExceptionUtil.prepareTransport(t));
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|