Author: [email protected]
Date: Wed Mar 30 12:28:27 2011
New Revision: 927

Log:
AMDATU-283 some cleanup of the servlet/filterhandlerregistry code

Modified:
   
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/FilterHandlerRegistry.java
   
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandlerRegistry.java

Modified: 
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/FilterHandlerRegistry.java
==============================================================================
--- 
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/FilterHandlerRegistry.java
    (original)
+++ 
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/FilterHandlerRegistry.java
    Wed Mar 30 12:28:27 2011
@@ -62,7 +62,7 @@
         int serviceId = getIntProperty(serviceReference, Constants.SERVICE_ID, 
0);
         int serviceRanking = getIntProperty(serviceReference, 
Constants.SERVICE_RANKING, 0);
         String contextId = getStringProperty(serviceReference, 
DispatcherServiceImpl.CONTEXT_ID_KEY);
-        if(contextId == null){
+        if (contextId == null) {
             contextId = "";
         }
         String pattern = getStringProperty(serviceReference, 
DispatcherService.PATTERN_KEY);
@@ -80,29 +80,28 @@
                 throw new IllegalStateException("unforseen duplicate 
extender....");
             }
 
-                HttpContext context = getHttpContext(contextId, 
serviceReference.getBundle());
-                if (context != null) {
-                    HandlerServletContext servletContextWrapper =
+            HttpContext context = getHttpContext(contextId, 
serviceReference.getBundle());
+            if (context != null) {
+                HandlerServletContext servletContextWrapper =
                         new HandlerServletContext(getServletContext(), 
context);
-                    filterHandler.setExtServletContext(servletContextWrapper);
-                    new Thread(new Runnable() {
-                        
-                        public void run() {
-                            try {
-                                filterHandler.init();
-                            }
-                            catch (ServletException e) {
-                                // TODO Auto-generated catch block
-                                e.printStackTrace();
-                            }                            
+                filterHandler.setExtServletContext(servletContextWrapper);
+
+                new Thread(new Runnable() {
+                    public void run() {
+                        try {
+                            filterHandler.init();
                         }
-                    }).start();
-                }
+                        catch (ServletException e) {
+                            filterHandler.destroy();
+                        }
+                    }
+                }).start();
+            }
 
-                m_extenderFilterHandlers.put(serviceReference, filterHandler);
-                m_extenderFilterHandlerArray =
+            m_extenderFilterHandlers.put(serviceReference, filterHandler);
+            m_extenderFilterHandlerArray =
                     m_extenderFilterHandlers.values().toArray(new 
FilterHandler[m_extenderFilterHandlers.size()]);
-                Arrays.sort(m_extenderFilterHandlerArray);
+            Arrays.sort(m_extenderFilterHandlerArray);
         }
         finally {
             m_extenderFilterHandlersLock.writeLock().unlock();
@@ -137,7 +136,7 @@
         int serviceId = getIntProperty(serviceReference, Constants.SERVICE_ID, 
0);
         int serviceRanking = getIntProperty(serviceReference, 
Constants.SERVICE_RANKING, 0);
         String contextId = getStringProperty(serviceReference, 
DispatcherServiceImpl.CONTEXT_ID_KEY);
-        if(contextId == null){
+        if (contextId == null) {
             contextId = "";
         }
         String pattern = getStringProperty(serviceReference, 
DispatcherService.PATTERN_KEY);
@@ -157,27 +156,26 @@
             if (m_filterHandlers.containsKey(serviceReference)) {
                 throw new IllegalStateException("Unexpected.... ");
             }
-                HttpContext context = getHttpContext(contextId, 
serviceReference.getBundle());
-                if (context != null) {
-                    HandlerServletContext servletContextWrapper =
+            HttpContext context = getHttpContext(contextId, 
serviceReference.getBundle());
+            if (context != null) {
+                HandlerServletContext servletContextWrapper =
                         new HandlerServletContext(getServletContext(), 
context);
-                    filterHandler.setExtServletContext(servletContextWrapper);
-                    new Thread(new Runnable() {
-                        
-                        public void run() {
-                            try {
-                                filterHandler.init();
-                            }
-                            catch (ServletException e) {
-                                // TODO Auto-generated catch block
-                                e.printStackTrace();
-                            }                            
+                filterHandler.setExtServletContext(servletContextWrapper);
+
+                new Thread(new Runnable() {
+                    public void run() {
+                        try {
+                            filterHandler.init();
                         }
-                    }).start();
-                }
+                        catch (ServletException e) {
+                            filterHandler.destroy();
+                        }
+                    }
+                }).start();
+            }
 
-                m_filterHandlers.put(serviceReference, filterHandler);
-                m_tenantFilterHandlerArrays.clear();
+            m_filterHandlers.put(serviceReference, filterHandler);
+            m_tenantFilterHandlerArrays.clear();
         }
         finally {
             m_filterHandlersLock.writeLock().unlock();

Modified: 
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandlerRegistry.java
==============================================================================
--- 
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandlerRegistry.java
   (original)
+++ 
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandlerRegistry.java
   Wed Mar 30 12:28:27 2011
@@ -57,34 +57,24 @@
         try {
 
             for (ServletHandler handler : m_servletHandlers.values()) {
-                
+
                 if (!handler.isActive() && 
handler.getContextId().equals(contextId)) {
                     final ServletHandler finalHandler = handler;
                     HandlerServletContext servletContextWrapper =
                         new HandlerServletContext(getServletContext(), 
context);
                     finalHandler.setExtServletContext(servletContextWrapper);
-                    
-                    
+
+                    // outside lock
                     new Thread(new Runnable() {
-                        
                         public void run() {
                             try {
                                 finalHandler.init();
                             }
                             catch (ServletException e) {
-                                // TODO Auto-generated catch block
-                                e.printStackTrace();
-                            }                            
+                                finalHandler.destroy();
+                            }
                         }
                     }).start();
-
-//                    try {
-//                        handler.init();
-//                    }
-//                    catch (ServletException e) {
-//                        // TODO Auto-generated catch block
-//                        e.printStackTrace();
-//                    }
                 }
             }
         }
@@ -115,7 +105,7 @@
         int serviceId = getIntProperty(serviceReference, Constants.SERVICE_ID, 
0);
         int serviceRanking = getIntProperty(serviceReference, 
Constants.SERVICE_RANKING, 0);
         String contextId = getStringProperty(serviceReference, 
DispatcherServiceImpl.CONTEXT_ID_KEY);
-        if(contextId == null){
+        if (contextId == null) {
             contextId = "";
         }
         String alias = getStringProperty(serviceReference, 
DispatcherServiceImpl.ALIAS_KEY);
@@ -135,35 +125,28 @@
             if (m_servletHandlers.containsKey(serviceReference)) {
                 throw new IllegalStateException("Unexpected.... ");
             }
-//            try {
-
-                // FIXME refector
+            
             HttpContext context = getHttpContext(contextId, 
serviceReference.getBundle());
-                if (context != null) {
-                    HandlerServletContext servletContextWrapper =
+            if (context != null) {
+                HandlerServletContext servletContextWrapper =
                         new HandlerServletContext(getServletContext(), 
context);
-                    handler.setExtServletContext(servletContextWrapper);
-                    
-                    new Thread(new Runnable() {
-                        
-                        public void run() {
-                            try {
-                                handler.init();
-                            }
-                            catch (ServletException e) {
-                                // TODO Auto-generated catch block
-                                e.printStackTrace();
-                            }                            
+                handler.setExtServletContext(servletContextWrapper);
+
+                // outside lock
+                new Thread(new Runnable() {
+                    public void run() {
+                        try {
+                            handler.init();
                         }
-                    }).start();
-                }
+                        catch (ServletException e) {
+                            handler.destroy();
+                        }
+                    }
+                }).start();
+            }
 
-                m_servletHandlers.put(serviceReference, handler);
-                m_tenantServletHandlerArrays.clear();
-//            }
-//            catch (ServletException e) {
-//                e.printStackTrace();
-//            }
+            m_servletHandlers.put(serviceReference, handler);
+            m_tenantServletHandlerArrays.clear();
         }
         finally {
             m_servletHandlersLock.writeLock().unlock();
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits

Reply via email to