Author: rich
Date: Mon Jan 31 16:15:49 2005
New Revision: 149327

URL: http://svn.apache.org/viewcvs?view=rev&rev=149327
Log:
Fixed an NPE in AutoRegisterActionServlet that occurred when netui-config.xml 
contained no <pageflow-action-interceptors> element.

DRT/BVT: netui (WinXP)
BB: self (linux)


Modified:
    
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/AutoRegisterActionServlet.java
    
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/Handlers.java

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/AutoRegisterActionServlet.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/AutoRegisterActionServlet.java?view=diff&r1=149326&r2=149327
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/AutoRegisterActionServlet.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/AutoRegisterActionServlet.java
 Mon Jan 31 16:15:49 2005
@@ -95,9 +95,9 @@
     public void init( ServletConfig servletConfig )
         throws ServletException
     {
+        super.init( servletConfig );
         _handlers = Handlers.get( servletConfig.getServletContext() );
         setupModuleConfigLocators( servletConfig );
-        super.init( servletConfig );
     }
     
     private void setupModuleConfigLocators( ServletConfig servletConfig )

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/Handlers.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/Handlers.java?view=diff&r1=149326&r2=149327
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/Handlers.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/Handlers.java
 Mon Jan 31 16:15:49 2005
@@ -98,28 +98,25 @@
         DefaultHandler defaultLoginHandler = new DefaultLoginHandler( 
servletContext );
         DefaultHandler defaultReloadableClassHandler = new 
DefaultReloadableClassHandler( servletContext );
         
-        if ( handlers != null )
-        {
-            _actionForwardHandler = ( ActionForwardHandler )
-                    adaptHandler( handlers.getActionForwardHandlerArray(), 
defaultActionForwardHandler,
-                                  ActionForwardHandler.class, servletContext );
-            
-            _exceptionsHandler = ( ExceptionsHandler )
-                    adaptHandler( handlers.getExceptionsHandlerArray(), 
defaultExceptionsHandler,
-                                  ExceptionsHandler.class, servletContext );
-            
-            _forwardRedirectHandler = ( ForwardRedirectHandler )
-                    adaptHandler( handlers.getForwardRedirectHandlerArray(), 
defaultForwardRedirectHandler,
-                                  ForwardRedirectHandler.class, servletContext 
);
-            
-            _loginHandler = ( LoginHandler )
-                    adaptHandler( handlers.getLoginHandlerArray(), 
defaultLoginHandler, LoginHandler.class,
-                                  servletContext );
-            
-            _reloadableClassHandler = ( ReloadableClassHandler )
-                    adaptHandler( handlers.getReloadableClassHandlerArray(), 
defaultReloadableClassHandler,
-                                  ReloadableClassHandler.class, servletContext 
);
-        }
+        _actionForwardHandler = ( ActionForwardHandler )
+                adaptHandler( handlers != null ? 
handlers.getActionForwardHandlerArray() : null,
+                              defaultActionForwardHandler, 
ActionForwardHandler.class, servletContext );
+        
+        _exceptionsHandler = ( ExceptionsHandler )
+                adaptHandler( handlers != null ? 
handlers.getExceptionsHandlerArray() : null, defaultExceptionsHandler,
+                              ExceptionsHandler.class, servletContext );
+        
+        _forwardRedirectHandler = ( ForwardRedirectHandler )
+                adaptHandler( handlers != null ? 
handlers.getForwardRedirectHandlerArray() : null,
+                              defaultForwardRedirectHandler, 
ForwardRedirectHandler.class, servletContext );
+        
+        _loginHandler = ( LoginHandler )
+                adaptHandler( handlers != null ? 
handlers.getLoginHandlerArray() : null, defaultLoginHandler,
+                              LoginHandler.class, servletContext );
+        
+        _reloadableClassHandler = ( ReloadableClassHandler )
+                adaptHandler( handlers != null ? 
handlers.getReloadableClassHandlerArray() : null,
+                              defaultReloadableClassHandler, 
ReloadableClassHandler.class, servletContext );
     }
     
     public void reinit( ServletContext servletContext )
@@ -166,24 +163,27 @@
     {
         Handler retVal = defaultHandler;
         
-        for ( int i = 0; i < handlerBeanConfigs.length; i++ )
+        if ( handlerBeanConfigs != null )
         {
-            String handlerClass = handlerBeanConfigs[i].getHandlerClass();
-            CustomProperty[] props = 
handlerBeanConfigs[i].getCustomPropertyArray();
-            Handler handler = createHandler( handlerClass, 
baseClassOrInterface, retVal, servletContext );
-            
-            if ( handler != null )
+            for ( int i = 0; i < handlerBeanConfigs.length; i++ )
             {
-                HandlerConfig config = new HandlerConfig( handlerClass );
+                String handlerClass = handlerBeanConfigs[i].getHandlerClass();
+                CustomProperty[] props = 
handlerBeanConfigs[i].getCustomPropertyArray();
+                Handler handler = createHandler( handlerClass, 
baseClassOrInterface, retVal, servletContext );
                 
-                for ( int j = 0; j < props.length; j++ )
+                if ( handler != null )
                 {
-                    CustomProperty prop = props[j];
-                    config.addCustomProperty( prop.getName(), prop.getValue() 
);
+                    HandlerConfig config = new HandlerConfig( handlerClass );
+                    
+                    for ( int j = 0; j < props.length; j++ )
+                    {
+                        CustomProperty prop = props[j];
+                        config.addCustomProperty( prop.getName(), 
prop.getValue() );
+                    }
+                    
+                    handler.init( config, retVal, servletContext );
+                    retVal = handler;
                 }
-                
-                handler.init( config, retVal, servletContext );
-                retVal = handler;
             }
         }
         


Reply via email to