Author: rmannibucau
Date: Thu Jul  4 07:55:27 2013
New Revision: 1499672

URL: http://svn.apache.org/r1499672
Log:
mainly final + using a method to destroy resources in Assembler to make it more 
readable

Modified:
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
    
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBNamingContextListener.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1499672&r1=1499671&r2=1499672&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 Thu Jul  4 07:55:27 2013
@@ -1393,7 +1393,7 @@ public class Assembler extends Assembler
                 }
 
                 resourceAdapter.stop();
-            } catch (Throwable t) {
+            } catch (final Throwable t) {
                 logger.fatal("ResourceAdapter Shutdown Failed: " + name, t);
             }
         } else if (DataSourceFactory.knows(object)) {
@@ -1401,7 +1401,7 @@ public class Assembler extends Assembler
 
             try {
                 DataSourceFactory.destroy(object);
-            } catch (Throwable t) {
+            } catch (final Throwable t) {
                 //Ignore
             }
 
@@ -1421,6 +1421,8 @@ public class Assembler extends Assembler
             }
         } else if (ExecutorService.class.isInstance(object)) {
             ExecutorService.class.cast(object).shutdown();
+        } else if (DataSource.class.isInstance(object)) {
+
         } else if (logger.isDebugEnabled()) {
             logger.debug("Not processing resource on destroy: " + className);
         }
@@ -1436,7 +1438,7 @@ public class Assembler extends Assembler
                     break;
                 }
             }
-        } catch (Exception e) {
+        } catch (final Exception e) {
             logger.debug("Failed to purge resource on destroy: " + 
e.getMessage());
         }
     }
@@ -1734,23 +1736,15 @@ public class Assembler extends Assembler
                     } else {
                         globalContext.unbind(name);
                     }
-                } catch (NamingException e) {
+                } catch (final NamingException e) {
                     logger.warning("can't unbind resource '{0}'", id);
                 }
             }
             for (final String id : appInfo.resourceIds) {
                 final String name = OPENEJB_RESOURCE_JNDI_PREFIX + id;
                 try {
-                    final Object object = globalContext.lookup(name);
-                    final String clazz;
-                    if (object == null) { // should it be possible?
-                        clazz = "?";
-                    } else {
-                        clazz = object.getClass().getName();
-                    }
-                    destroyResource(id, clazz, object);
-                    globalContext.unbind(name);
-                } catch (NamingException e) {
+                    destroyLookedUpResource(globalContext, id, name);
+                } catch (final NamingException e) {
                     logger.warning("can't unbind resource '{0}'", id);
                 }
             }
@@ -1769,6 +1763,18 @@ public class Assembler extends Assembler
         }
     }
 
+    private void destroyLookedUpResource(Context globalContext, String id, 
String name) throws NamingException {
+        final Object object = globalContext.lookup(name);
+        final String clazz;
+        if (object == null) { // should it be possible?
+            clazz = "?";
+        } else {
+            clazz = object.getClass().getName();
+        }
+        destroyResource(id, clazz, object);
+        globalContext.unbind(name);
+    }
+
     private void unbind(final Context context, final String name) {
         try {
             context.unbind(name);

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java?rev=1499672&r1=1499671&r2=1499672&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
 Thu Jul  4 07:55:27 2013
@@ -228,6 +228,9 @@ public class DataSourceFactory {
     @SuppressWarnings("SuspiciousMethodCalls")
     public static void destroy(final Object o) throws Throwable {
         final Object instance = realInstance(o);
+        if (instance == null) {
+            return;
+        }
         final DataSourceCreator remove = creatorByDataSource.remove(instance);
         remove.destroy(instance);
     }

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBNamingContextListener.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBNamingContextListener.java?rev=1499672&r1=1499671&r2=1499672&view=diff
==============================================================================
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBNamingContextListener.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBNamingContextListener.java
 Thu Jul  4 07:55:27 2013
@@ -260,7 +260,7 @@ public class OpenEJBNamingContextListene
         }
     }
 
-    private void bindResource(String name, Object value, String type) {
+    private void bindResource(final String name, final Object value, final 
String type) {
         Assembler assembler = (Assembler) 
SystemInstance.get().getComponent(org.apache.openejb.spi.Assembler.class);
         try {
             
assembler.getContainerSystem().getJNDIContext().lookup(Assembler.OPENEJB_RESOURCE_JNDI_PREFIX
 + name);
@@ -269,7 +269,7 @@ public class OpenEJBNamingContextListene
             // no-op: OK
         }
 
-        ResourceInfo resourceInfo = new ResourceInfo();
+        final ResourceInfo resourceInfo = new ResourceInfo();
         resourceInfo.id = name;
         resourceInfo.service = "Resource";
         resourceInfo.types.add(type);


Reply via email to