[commit] r2502 - in trunk/SDK/Java: . java/org/isis/gme/bon

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Tue Jul 1 14:01:21 CDT 2014


Author: ksmyth
Date: Tue Jul  1 14:01:21 2014
New Revision: 2502

Log:
Use finally to Apartment.leave(). (Fixes bug where classloader.load throws an Error, not Exception, which pops the stack without Apartment.leave())

Modified:
   trunk/SDK/Java/gme.jar
   trunk/SDK/Java/java/org/isis/gme/bon/ComponentInvoker.java

Modified: trunk/SDK/Java/gme.jar
==============================================================================
Binary file (source and/or target). No diff available.

Modified: trunk/SDK/Java/java/org/isis/gme/bon/ComponentInvoker.java
==============================================================================
--- trunk/SDK/Java/java/org/isis/gme/bon/ComponentInvoker.java	Tue Jul  1 14:01:01 2014	(r2501)
+++ trunk/SDK/Java/java/org/isis/gme/bon/ComponentInvoker.java	Tue Jul  1 14:01:21 2014	(r2502)
@@ -110,7 +110,7 @@
             }
             else if(comp instanceof BONComponent)
             {
-            	JBuilderFactory.setClassLoader(cl);
+                JBuilderFactory.setClassLoader(cl);
                 builder = new JBuilder(project,(BONComponent)comp);
                 currentBONObj = null;
                 if(currentObj != null)
@@ -125,7 +125,7 @@
                 else
                     selected = null;
                                                                        
-                ((BONComponent)comp).invokeEx(builder, currentBONObj, selected, param);                                       
+                ((BONComponent)comp).invokeEx(builder, currentBONObj, selected, param);
             }
             else
             {
@@ -136,24 +136,17 @@
         {
             reportError(e);                                   
         }
-        
-        // free all objects
-        project       = null;
-        currentObj    = null;
-        selectedObjs  = null;
-        builder       = null;
-        currentBONObj = null;
-        selected      = null;       
-        
-        // leave apartment
-        try
+        finally
         {
+            // free all objects
+            project       = null;
+            currentObj    = null;
+            selectedObjs  = null;
+            builder       = null;
+            currentBONObj = null;
+            selected      = null;
             if( entered )
                 Apartment.leave();
         }
-        catch( Exception e )
-        {
-            reportError(e);
-        }       
     }
 }


More information about the gme-commit mailing list