You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/07/16 18:06:05 UTC

svn commit: r677322 - /servicemix/smx3/trunk/web/servicemix-web-console/src/main/java/org/apache/servicemix/web/handler/BindingBeanNameUrlHandlerMapping.java

Author: gnodet
Date: Wed Jul 16 09:06:04 2008
New Revision: 677322

URL: http://svn.apache.org/viewvc?rev=677322&view=rev
Log:
SM-1447: Add support for using Spring 2.5 as well as 2.0 in ServiceMix web console

Modified:
    servicemix/smx3/trunk/web/servicemix-web-console/src/main/java/org/apache/servicemix/web/handler/BindingBeanNameUrlHandlerMapping.java

Modified: servicemix/smx3/trunk/web/servicemix-web-console/src/main/java/org/apache/servicemix/web/handler/BindingBeanNameUrlHandlerMapping.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/web/servicemix-web-console/src/main/java/org/apache/servicemix/web/handler/BindingBeanNameUrlHandlerMapping.java?rev=677322&r1=677321&r2=677322&view=diff
==============================================================================
--- servicemix/smx3/trunk/web/servicemix-web-console/src/main/java/org/apache/servicemix/web/handler/BindingBeanNameUrlHandlerMapping.java (original)
+++ servicemix/smx3/trunk/web/servicemix-web-console/src/main/java/org/apache/servicemix/web/handler/BindingBeanNameUrlHandlerMapping.java Wed Jul 16 09:06:04 2008
@@ -16,11 +16,12 @@
  */
 package org.apache.servicemix.web.handler;
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.springframework.web.bind.ServletRequestDataBinder;
+import org.springframework.web.servlet.HandlerExecutionChain;
 import org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping;
 
-import javax.servlet.http.HttpServletRequest;
-
 /**
  * 
  * @version $Revision: 426366 $
@@ -35,7 +36,14 @@
             object = getApplicationContext().getBean(handlerName);
         }
 
-        ServletRequestDataBinder binder = new ServletRequestDataBinder(object, null);
+        // support both Spring 2.0 that returns a Handler
+        // and Spring 2.5 that returns a HandlerExecutionChain
+        Object handler = object;
+        if (object instanceof HandlerExecutionChain) {
+            handler = ((HandlerExecutionChain) object).getHandler();
+        }
+
+        ServletRequestDataBinder binder = new ServletRequestDataBinder(handler, null);
         binder.bind(request);
         return object;
     }