You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by ca...@apache.org on 2012/01/18 23:01:35 UTC

svn commit: r1233077 - in /incubator/rave/trunk: rave-components/rave-web/src/main/java/org/apache/rave/portal/web/interceptors/ rave-components/rave-web/src/main/resources/org/apache/rave/ rave-portal-resources/src/main/webapp/WEB-INF/

Author: carlucci
Date: Wed Jan 18 22:01:34 2012
New Revision: 1233077

URL: http://svn.apache.org/viewvc?rev=1233077&view=rev
Log:
Fixed issue with duplicate component scanning of org.apache.rave.portal.web.* classes due to overlap of component scanning in web-applicationContext.xml and dispatcher-servlet.xml

Modified:
    incubator/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/interceptors/CommonModelHandlerInterceptor.java
    incubator/rave/trunk/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml
    incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/dispatcher-servlet.xml

Modified: incubator/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/interceptors/CommonModelHandlerInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/interceptors/CommonModelHandlerInterceptor.java?rev=1233077&r1=1233076&r2=1233077&view=diff
==============================================================================
--- incubator/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/interceptors/CommonModelHandlerInterceptor.java (original)
+++ incubator/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/interceptors/CommonModelHandlerInterceptor.java Wed Jan 18 22:01:34 2012
@@ -33,7 +33,6 @@ import javax.servlet.http.HttpServletRes
 /**
  * Adds attributes to the ModelMap that are needed in every view
  */
-@Component
 public class CommonModelHandlerInterceptor extends HandlerInterceptorAdapter {
 
     private final PortalPreferenceService preferenceService;

Modified: incubator/rave/trunk/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml?rev=1233077&r1=1233076&r2=1233077&view=diff
==============================================================================
--- incubator/rave/trunk/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml (original)
+++ incubator/rave/trunk/rave-components/rave-web/src/main/resources/org/apache/rave/web-applicationContext.xml Wed Jan 18 22:01:34 2012
@@ -28,7 +28,15 @@
         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
         http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
 
-    <!-- rave-web component base-package scan -->
-    <context:component-scan base-package="org.apache.rave.portal.web"/>
+    <!--
+    rave-web component base-package scan
+
+    NOTE: The controllers (o.a.r.p.w.api and o.a.r.p.w.controller packages) are scanned in dispatcher-servlet.xml
+    as this is a requirement of Spring. All other necessary org.apache.rave.portal.web.<packages> are scanned here
+    in web-applicationContext.xml.  This is to prevent duplicate bean scanning of o.a.r.p.web.* components which can
+    cause problems.
+    -->
+    <context:component-scan base-package="org.apache.rave.portal.web.renderer"/>
+    <context:component-scan base-package="org.apache.rave.portal.web.validator"/>
 
 </beans>
\ No newline at end of file

Modified: incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/dispatcher-servlet.xml
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/dispatcher-servlet.xml?rev=1233077&r1=1233076&r2=1233077&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/dispatcher-servlet.xml (original)
+++ incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/dispatcher-servlet.xml Wed Jan 18 22:01:34 2012
@@ -27,15 +27,29 @@
         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
         http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd">
 
-    <!-- Scans the classpath of this application for @Components to deploy as beans -->
+    <!--
+    Scans the classpath of this application for @Components to deploy as beans
+    NOTE: only the controllers (api and controller packages) are scanned here in dispatcher-servlet.xml. All other
+    org.apache.rave.portal.web.<packages> are scanned in web-applicationContext.xml.  This is to prevent duplicate
+    bean scanning of o.a.r.p.web.* components which can cause problems.
+    -->
     <context:component-scan base-package="org.apache.rave.portal.web.controller"/>
-    <context:component-scan base-package="org.apache.rave.portal.web.interceptors"/>
     <context:component-scan base-package="org.apache.rave.portal.web.api"/>
 
     <!-- Configures the @Controller programming model -->
     <mvc:annotation-driven/>
     <mvc:interceptors>
         <bean class="org.apache.rave.portal.web.interceptors.CommonModelHandlerInterceptor"/>
+        <!--
+            On pre-handle, resolve the device that originated the web
+            request and put that information into the ServletRequest object.
+            By default it will use the LiteDeviceResolver which only
+            gives you very basic information, basically "is this a
+            mobile device or not?".  A more advanced WurflDeviceResolver
+            can be used if you need to get more detailed information about
+            the device such as manufacturer, model, screen size, etc.
+        -->
+        <bean class="org.springframework.mobile.device.DeviceResolverHandlerInterceptor" />
     </mvc:interceptors>
 
     <!-- Forwards requests to the "/" resource to the "page" view -->
@@ -77,16 +91,6 @@
             </list>
         </property>
     </bean>
-    <mvc:interceptors>
-        <!-- On pre-handle, resolve the device that originated the web 
-             request and put that information into the ServletRequest object.
-             By default it will use the LiteDeviceResolver which only 
-             gives you very basic information, basically is this a 
-             mobile device or not.  A more advanced WurflDeviceResolver 
-             can be used if you need to get more detailed information about
-             the device such as manufacturer, model, screen size, etc.-->
-        <bean class="org.springframework.mobile.device.DeviceResolverHandlerInterceptor" />
-    </mvc:interceptors>
     <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
         <property name="definitions">
             <list>