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");
}