You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by at...@apache.org on 2012/08/14 17:23:07 UTC

svn commit: r1372922 - in /rave/sandbox/content-services: demo-portal/src/main/webapp/WEB-INF/ rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/ rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/servlet/ rave-web-hmvc/src/test/java...

Author: ate
Date: Tue Aug 14 15:23:06 2012
New Revision: 1372922

URL: http://svn.apache.org/viewvc?rev=1372922&view=rev
Log:
RAVE-698: adding dynamic hmvc HandlerMethodMapping as well to the config, now /app/mypage and /app/mypage1 are mapped through annotations and /app/mypage2 by runtime config (besides pass-through of all other static mappings)

Modified:
    rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/dispatcher-servlet.xml
    rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMapping.java
    rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMappingByConfig.java
    rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/servlet/HmvcDispatcherServlet.java
    rave/sandbox/content-services/rave-web-hmvc/src/test/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMappingByConfigTest.java

Modified: rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/dispatcher-servlet.xml
URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/dispatcher-servlet.xml?rev=1372922&r1=1372921&r2=1372922&view=diff
==============================================================================
--- rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/dispatcher-servlet.xml (original)
+++ rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/dispatcher-servlet.xml Tue Aug 14 15:23:06 2012
@@ -124,6 +124,11 @@
     </bean>
   </util:list>
 
+  <bean name="hmvcHandlerMappingByConfig" class="org.apache.rave.portal.web.hmvc.HmvcHandlerMethodMappingByConfig">
+    <property name="order" value="-2"/>
+    <property name="interceptors" ref="interceptors"/>
+  </bean>
+
   <bean name="hmvcHandlerMapping" class="org.apache.rave.portal.web.hmvc.HmvcHandlerMethodMapping">
     <property name="order" value="-1"/>
     <property name="interceptors" ref="interceptors"/>

Modified: rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMapping.java
URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMapping.java?rev=1372922&r1=1372921&r2=1372922&view=diff
==============================================================================
--- rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMapping.java (original)
+++ rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMapping.java Tue Aug 14 15:23:06 2012
@@ -162,7 +162,7 @@ public class HmvcHandlerMethodMapping ex
         if (handlerMethod != null && hmvcHandlerMethods.containsKey(handlerMethod)) {
             // if available return hmvc variant instead
             handlerMethod = hmvcHandlerMethods.get(handlerMethod);
-            request.setAttribute(getClass().getName(), Boolean.TRUE);
+            request.setAttribute(HmvcHandlerMethod.class.getName(), Boolean.TRUE);
         }
         return (handlerMethod != null) ? handlerMethod.createWithResolvedBean() : null;
     }

Modified: rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMappingByConfig.java
URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMappingByConfig.java?rev=1372922&r1=1372921&r2=1372922&view=diff
==============================================================================
--- rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMappingByConfig.java (original)
+++ rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMappingByConfig.java Tue Aug 14 15:23:06 2012
@@ -81,19 +81,13 @@ public class HmvcHandlerMethodMappingByC
         final PageFragment myBody = new JcrPageFragment();
         myBody.setName("body");
         myBody.setPath("myBody");
-        myBody.setController("org.apache.rave.portal.web.hmvc.example.MyBodyController");
+        myBody.setController("org.apache.rave.portal.web.hmvc.example.MyContentController");
         myPage.addChild(myBody);
-        //
-        final PageFragment myMenu = new JcrPageFragment();
-        myMenu.setName("menu");
-        myMenu.setPath("myMenu");
-        myMenu.setController("org.apache.rave.portal.web.hmvc.example.MyMenuController");
-        myBody.addChild(myMenu);
-        final PageFragment myContent = new JcrPageFragment();
-        myContent.setName("content");
-        myContent.setPath("myContent");
-        myContent.setController("org.apache.rave.portal.web.hmvc.example.MyContentController");
-        myBody.addChild(myContent);
+        final PageFragment myFooter = new JcrPageFragment();
+        myFooter.setName("footer");
+        myFooter.setPath("myFooter");
+        myFooter.setController("org.apache.rave.portal.web.hmvc.example.MyFooterController");
+        myPage.addChild(myFooter);
         processConfiguration(configuration);
     }
 

Modified: rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/servlet/HmvcDispatcherServlet.java
URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/servlet/HmvcDispatcherServlet.java?rev=1372922&r1=1372921&r2=1372922&view=diff
==============================================================================
--- rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/servlet/HmvcDispatcherServlet.java (original)
+++ rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/servlet/HmvcDispatcherServlet.java Tue Aug 14 15:23:06 2012
@@ -24,7 +24,6 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.rave.portal.web.hmvc.HmvcHandlerMethod;
-import org.apache.rave.portal.web.hmvc.HmvcHandlerMethodMapping;
 import org.apache.rave.portal.web.hmvc.support.HmvcServletRequest;
 import org.apache.rave.portal.web.hmvc.support.HmvcServletResponse;
 import org.apache.rave.portal.web.hmvc.support.ResponseHolder;
@@ -38,13 +37,13 @@ public class HmvcDispatcherServlet exten
 
     private static final long serialVersionUID = 1L;
 
-    protected boolean isHmvcRendering(HttpServletRequest request) {
-        return request.getAttribute(HmvcHandlerMethodMapping.class.getName()) != null;
+    protected boolean isHmvcHandlerMethodRendering(HttpServletRequest request) {
+        return request.getAttribute(HmvcHandlerMethod.class.getName()) != null;
     }
 
     @Override
     protected void render(ModelAndView mv, HttpServletRequest request, HttpServletResponse response) throws Exception {
-        if (isHmvcRendering(request)) {
+        if (isHmvcHandlerMethodRendering(request)) {
             HmvcServletRequest hmvcRequest = new HmvcServletRequest(request);
             HmvcServletResponse hmvcResponse = new HmvcServletResponse(response);
 
@@ -86,7 +85,7 @@ public class HmvcDispatcherServlet exten
     protected View resolveViewName(String viewName, Map<String, Object> model, Locale locale,
             HttpServletRequest request) throws Exception {
         View view = super.resolveViewName(viewName, model, locale, request);
-        if (isHmvcRendering(request)) {
+        if (isHmvcHandlerMethodRendering(request)) {
             setInternalResourceViewIncludeAlways(view);
         }
         return view;

Modified: rave/sandbox/content-services/rave-web-hmvc/src/test/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMappingByConfigTest.java
URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-hmvc/src/test/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMappingByConfigTest.java?rev=1372922&r1=1372921&r2=1372922&view=diff
==============================================================================
--- rave/sandbox/content-services/rave-web-hmvc/src/test/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMappingByConfigTest.java (original)
+++ rave/sandbox/content-services/rave-web-hmvc/src/test/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMappingByConfigTest.java Tue Aug 14 15:23:06 2012
@@ -80,14 +80,13 @@ public class HmvcHandlerMethodMappingByC
         HmvcHandlerMethod handlerMethod = (HmvcHandlerMethod) handler;
         final ModelAndView mav = handlerAdapter.handle(request, response, handlerMethod);
         final Set<String> childrenNames = handlerMethod.getChildrenNames();
-        assertTrue("Expected 2 child names", childrenNames.size() == 2);
+        assertTrue("Expected 3 child names", childrenNames.size() == 3);
         assertTrue("Expected body", childrenNames.contains("body"));
         assertTrue("Expected head", childrenNames.contains("head"));
+        assertTrue("Expected footer", childrenNames.contains("footer"));
         final HmvcHandlerMethod child = handlerMethod.getChild("body");
         final Set<String> bodyKids = child.getChildrenNames();
-        assertTrue("body should have two nodes", bodyKids.size() == 2);
-        assertTrue("body should have menu", bodyKids.contains("menu"));
-        assertTrue("body should have content", bodyKids.contains("content"));
+        assertTrue("body should have zero childen", bodyKids.size() == 0);
         assertViewName(mav, "hmvc/mypage");
     }