You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by mp...@apache.org on 2006/10/06 19:57:24 UTC

svn commit: r453712 - /incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/Bootstrap.java

Author: mprudhom
Date: Fri Oct  6 10:57:23 2006
New Revision: 453712

URL: http://svn.apache.org/viewvc?view=rev&rev=453712
Log:
Handle exceptions in getFactoryClass() when it is just being used for inclusion in the error message of an exception.

Modified:
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/Bootstrap.java

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/Bootstrap.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/Bootstrap.java?view=diff&rev=453712&r1=453711&r2=453712
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/Bootstrap.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/Bootstrap.java Fri Oct  6 10:57:23 2006
@@ -60,10 +60,10 @@
             if (cause instanceof OpenJPAException)
                 throw (OpenJPAException) cause;
             throw new InternalException(s_loc.get("new-brokerfactory-excep",
-                getFactoryClass(conf, loader)), cause);
+                getFactoryClassName(conf, loader)), cause);
         } catch (Exception e) {
             throw new UserException(s_loc.get("bad-new-brokerfactory",
-                getFactoryClass(conf, loader)), e).setFatal(true);
+                getFactoryClassName(conf, loader)), e).setFatal(true);
         }
     }
 
@@ -88,10 +88,10 @@
             if (cause instanceof OpenJPAException)
                 throw (OpenJPAException) cause;
             throw new InternalException(s_loc.get("brokerfactory-excep",
-                getFactoryClass(conf, loader)), cause);
+                getFactoryClassName(conf, loader)), cause);
         } catch (Exception e) {
             throw new UserException(s_loc.get("bad-brokerfactory",
-                getFactoryClass(conf, loader)), e).setFatal(true);
+                getFactoryClassName(conf, loader)), e).setFatal(true);
         }
     }
 
@@ -115,6 +115,15 @@
         }
 
         return (BrokerFactory) meth.invoke(null, new Object[]{ conf });
+    }
+
+    private static String getFactoryClassName(ConfigurationProvider conf,
+        ClassLoader loader) {
+        try {
+            return getFactoryClass(conf, loader).getName();
+        } catch (Exception e) {
+            return "<" + e.toString() + ">";
+        }
     }
 
     /**