Author: ate
Date: Mon Sep 3 06:49:37 2012
New Revision: 1380138
URL: http://svn.apache.org/viewvc?rev=1380138&view=rev
Log:
RAVE-694: example multi-view mapping and rendering
Removed:
rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/model/
rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/service/
Modified:
rave/sandbox/content-services/demo-portal/src/main/java/org/apache/rave/portal/web/hmvc/controller/UserPageController.java
rave/sandbox/content-services/demo-portal/src/main/resources/page-configuration.xml
rave/sandbox/content-services/demo-portal/src/main/resources/url-mapping.xml
rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodHandlerAdapter.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/java/org/apache/rave/portal/web/hmvc/controller/UserPageController.java
URL:
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/java/org/apache/rave/portal/web/hmvc/controller/UserPageController.java?rev=1380138&r1=1380137&r2=1380138&view=diff
==============================================================================
---
rave/sandbox/content-services/demo-portal/src/main/java/org/apache/rave/portal/web/hmvc/controller/UserPageController.java
(original)
+++
rave/sandbox/content-services/demo-portal/src/main/java/org/apache/rave/portal/web/hmvc/controller/UserPageController.java
Mon Sep 3 06:49:37 2012
@@ -36,6 +36,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@@ -53,11 +54,26 @@ public class UserPageController {
this.pageLayoutService = pageLayoutService;
}
- @Hmvc
- @RequestMapping
- public String render(Model model, HttpServletRequest request) {
+ @Hmvc(view="defaultPage") @RequestMapping
+ public String viewDefaultPage(Model model, HttpServletRequest request) {
+ return view(null, model, request);
+ }
+
+ @Hmvc @RequestMapping
+ public String view(@PathVariable Long pageId, Model model,
HttpServletRequest request) {
List<Page> pages = getAllPagesForAuthenticatedUser();
- Page page = pageService.getDefaultPageFromList(pages);
+ Page page = null;
+ if (pageId != null) {
+ try {
+ page = pageService.getPageFromList(pageId, pages);
+ }
+ catch (Exception e) {
+ logger.info("unable to get page - possibly because a shared
page was revoked by its owner");
+ }
+ }
+ if (page == null) {
+ page = pageService.getDefaultPageFromList(pages);
+ }
PageUser currentPageUser = null;
User thisUser = userService.getAuthenticatedUser();
for(PageUser pageUser : page.getMembers()){
@@ -66,13 +82,11 @@ public class UserPageController {
}
}
List<PageLayout> pageLayouts =
pageLayoutService.getAllUserSelectable();
-
model.addAttribute(ModelKeys.USER, thisUser);
model.addAttribute(ModelKeys.PAGE, page);
model.addAttribute(ModelKeys.PAGES, pages);
model.addAttribute(ModelKeys.PAGE_USER, currentPageUser);
model.addAttribute(ModelKeys.PAGE_LAYOUTS, pageLayouts);
-
return "hmvc/page";
}
Modified:
rave/sandbox/content-services/demo-portal/src/main/resources/page-configuration.xml
URL:
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/resources/page-configuration.xml?rev=1380138&r1=1380137&r2=1380138&view=diff
==============================================================================
---
rave/sandbox/content-services/demo-portal/src/main/resources/page-configuration.xml
(original)
+++
rave/sandbox/content-services/demo-portal/src/main/resources/page-configuration.xml
Mon Sep 3 06:49:37 2012
@@ -25,7 +25,7 @@
<page-fragment name="footer"
controller="org.apache.rave.portal.web.hmvc.example.MyFooterController"/>
</page-definition>
- <page-definition name="myPage4"
controller="org.apache.rave.portal.web.hmvc.controller.UserPageController">
+ <page-definition name="userPage"
controller="org.apache.rave.portal.web.hmvc.controller.UserPageController">
<page-fragment name="header"
controller="org.apache.rave.portal.web.hmvc.controller.PageHeaderController"/>
<page-fragment name="body"
controller="org.apache.rave.portal.web.hmvc.controller.PageBodyController">
<page-fragment name="tabs"
controller="org.apache.rave.portal.web.hmvc.controller.PageTabsController"/>
Modified:
rave/sandbox/content-services/demo-portal/src/main/resources/url-mapping.xml
URL:
http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/resources/url-mapping.xml?rev=1380138&r1=1380137&r2=1380138&view=diff
==============================================================================
---
rave/sandbox/content-services/demo-portal/src/main/resources/url-mapping.xml
(original)
+++
rave/sandbox/content-services/demo-portal/src/main/resources/url-mapping.xml
Mon Sep 3 06:49:37 2012
@@ -18,7 +18,10 @@
under the License.
-->
<url-configuration name="default">
+ <url-mapping url="/home" page="userPage" views="defaultPage"/>
+ <url-mapping url="/page" page="userPage" views="defaultPage"/>
+ <url-mapping url="/page/{pageId}" page="userPage"/>
+
<url-mapping url="/mypage3" page="myPage3"/>
- <url-mapping url="/mypage4" page="myPage4"/>
<url-mapping url="/mypageFoo" page="myPage3" views="bar"/>
</url-configuration>
Modified:
rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodHandlerAdapter.java
URL:
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodHandlerAdapter.java?rev=1380138&r1=1380137&r2=1380138&view=diff
==============================================================================
---
rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodHandlerAdapter.java
(original)
+++
rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodHandlerAdapter.java
Mon Sep 3 06:49:37 2012
@@ -22,7 +22,6 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.ModelAndView;
@@ -44,11 +43,6 @@ public class HmvcHandlerMethodHandlerAda
request.setAttribute(DispatcherServlet.INPUT_FLASH_MAP_ATTRIBUTE,
mv.getModel());
ModelAndView cmv = handleInternal(request, response, chm);
if (cmv != null) {
- // override view name (if set):
- final String viewName =
chm.getConfiguration().getViewName();
- if (StringUtils.isNotBlank(viewName)) {
- cmv.setViewName(viewName);
- }
cmvMap.put(name, cmv);
}
}
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=1380138&r1=1380137&r2=1380138&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
Mon Sep 3 06:49:37 2012
@@ -94,7 +94,8 @@ public class HmvcHandlerMethodMappingByC
assertTrue(childModels != null);
final ModelAndView head = childModels.get("head");
assertTrue(head != null);
- assertEquals("Expected view override", "hmvc/override/myheader",
head.getViewName());
+ assertEquals("Expected view", "hmvc/myheader", head.getViewName());
+// TODO: assertEquals("Expected view override",
"hmvc/override/myheader", head.getViewName());
request.setRequestURI("/mypageFoo");
handlerMethod = (HmvcHandlerMethod) getHandler(request);
assertTrue("Expected 3 child names",
handlerMethod.getConfiguration().getChildren().keySet().size() == 3);