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/20 13:16:25 UTC
svn commit: r1374971 - in /rave/sandbox/content-services:
demo-portal/src/main/java/ demo-portal/src/main/resources/
demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/
rave-web-hmvc/src/main/java/org/apache/rave/portal/web/hmvc/
Author: ate
Date: Mon Aug 20 11:16:25 2012
New Revision: 1374971
URL: http://svn.apache.org/viewvc?rev=1374971&view=rev
Log:
RAVE-698: New dynamic page mapping and definition based on or cloned from Rave PageController. Work in progress but kind of working on url /portal/app/page (only)
Added:
rave/sandbox/content-services/demo-portal/src/main/java/
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/footer.jsp
- copied unchanged from r1373746, rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/common/footer.jsp
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-body.jsp (with props)
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-content.jsp (with props)
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-header.jsp
- copied, changed from r1373746, rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/common/header.jsp
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-tabs.jsp (with props)
rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page.jsp
- copied, changed from r1373746, rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/templates/base_layout.jsp
Modified:
rave/sandbox/content-services/demo-portal/src/main/resources/page-configuration.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/main/java/org/apache/rave/portal/web/hmvc/HmvcHandlerMethodMappingByConfig.java
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=1374971&r1=1374970&r2=1374971&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 Aug 20 11:16:25 2012
@@ -20,9 +20,18 @@
<configuration name="default">
<page-definition name="myPage" path="/mypage2" description="My Page" displayname="My page" controller="org.apache.rave.portal.web.hmvc.example.MyPageController">
- <page-fragment name="head" path="myHeader" controller="org.apache.rave.portal.web.hmvc.example.MyHeaderController"/>
- <page-fragment name="body" path="myBody" controller="org.apache.rave.portal.web.hmvc.example.MyContentController"/>
- <page-fragment name="footer" path="myFooter" controller="org.apache.rave.portal.web.hmvc.example.MyFooterController"/>
+ <page-fragment name="head" controller="org.apache.rave.portal.web.hmvc.example.MyHeaderController"/>
+ <page-fragment name="body" controller="org.apache.rave.portal.web.hmvc.example.MyContentController"/>
+ <page-fragment name="footer" controller="org.apache.rave.portal.web.hmvc.example.MyFooterController"/>
+ </page-definition>
+
+ <page-definition name="userPage" path="/page" 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"/>
+ <page-fragment name="content" controller="org.apache.rave.portal.web.hmvc.controller.PageContentController"/>
+ </page-fragment>
+ <page-fragment name="footer" controller="org.apache.rave.portal.web.hmvc.controller.FooterController"/>
</page-definition>
</configuration>
Added: rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-body.jsp
URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-body.jsp?rev=1374971&view=auto
==============================================================================
--- rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-body.jsp (added)
+++ rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-body.jsp Mon Aug 20 11:16:25 2012
@@ -0,0 +1,26 @@
+<%@ page language="java" trimDirectiveWhitespaces="true" %>
+<%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
+<%@ taglib uri="http://www.apache-rave.org/jsp/core" prefix="hmvc" %>
+<jsp:useBean id="pageUser" type="org.apache.rave.portal.model.PageUser" scope="request"/>
+<sec:authentication property="principal.username" var="principleUsername" scope="request"/>
+
+<hmvc:include ref="tabs"/>
+<hmvc:include ref="content"/>
+
+<portal:register-init-script location="${'AFTER_RAVE'}">
+ <script>
+ $(function() {
+ rave.initPageEditorStatus(<c:out value="${pageUser.editor}"/>);
+ rave.initProviders();
+ rave.initWidgets();
+ rave.initUI();
+ rave.layout.init();
+ rave.layout.searchHandler.setDefaults("<c:out value="${principleUsername}"/>","<sec:authentication property="principal.id" />","<c:out value="${page.id}"/>", "${pageUser.pageStatus}");
+ rave.runOnPageInitializedHandlers();
+ });
+ </script>
+ <c:forEach var="members" items="${page.members}">
+ <script>rave.layout.searchHandler.addExistingMember("${members.user.username}",${members.editor});</script>
+ </c:forEach>
+</portal:register-init-script>
+
Propchange: rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-body.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-body.jsp
------------------------------------------------------------------------------
svn:keywords = Id
Added: rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-content.jsp
URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-content.jsp?rev=1374971&view=auto
==============================================================================
--- rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-content.jsp (added)
+++ rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-content.jsp Mon Aug 20 11:16:25 2012
@@ -0,0 +1,38 @@
+<%@ page language="java" trimDirectiveWhitespaces="true" %>
+<%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
+<fmt:setBundle basename="messages"/>
+<jsp:useBean id="pageUser" type="org.apache.rave.portal.model.PageUser" scope="request"/>
+<div class="row-fluid">
+ <div id="emptyPageMessageWrapper" class="emptyPageMessageWrapper hidden">
+ <div class="emptyPageMessage">
+ <c:choose>
+ <c:when test="${pageUser.editor == true}">
+ <a href="<spring:url value="/app/store?referringPageId=${page.id}" />"><fmt:message key="page.general.empty"/></a>
+ </c:when>
+ <c:otherwise>
+ <fmt:message key="page.general.non.editing.empty"/>
+ </c:otherwise>
+ </c:choose>
+ </div>
+ </div>
+ <div class="regions">
+ <%-- insert the region layout template --%>
+
+ <%-- TODO: hardcoded columns_3_newuser template for now --%>
+ <div class="columns_3_newuser_static">
+ <fmt:message key="page.layout.newuser.introtext"/>
+ </div>
+
+ <div class="columns_3_newuser_widgets">
+ <div class="columns_3_newuser_subtitle"><fmt:message key="page.layout.newuser.subtitle"/></div>
+ <div class="widgetRow upperRow">
+ <rave:region region="${page.regions[0]}" regionIdx="1" />
+ <rave:region region="${page.regions[1]}" regionIdx="2" />
+ </div>
+ <div class="widgetRow bottomRow">
+ <rave:region region="${page.regions[2]}" regionIdx="3" />
+ </div>
+ </div>
+ </div>
+ <div class="clear-float"> </div>
+</div>
Propchange: rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-content.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-content.jsp
------------------------------------------------------------------------------
svn:keywords = Id
Copied: rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-header.jsp (from r1373746, rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/common/header.jsp)
URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-header.jsp?p2=rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-header.jsp&p1=rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/common/header.jsp&r1=1373746&r2=1374971&rev=1374971&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/common/header.jsp (original)
+++ rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-header.jsp Mon Aug 20 11:16:25 2012
@@ -21,4 +21,19 @@ under the License.
<%-- example on how to render static content from the cache using the tag library
<%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
<portal:render-static-content contentKey="standardCompanyHeader" />
---%>
\ No newline at end of file
+--%>
+<%@ page language="java" trimDirectiveWhitespaces="true" %>
+<%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
+<%@ taglib uri="http://www.apache-rave.org/jsp/core" prefix="hmvc" %>
+<fmt:setBundle basename="messages"/>
+<sec:authentication property="principal.username" var="principleUsername" scope="request"/>
+<sec:authentication property="principal.displayName" var="displayName" scope="request"/>
+<fmt:message key="page.home.welcome" var="pagetitle">
+ <fmt:param>
+ <c:choose>
+ <c:when test="${not empty displayName}"><c:out value="${displayName}"/></c:when>
+ <c:otherwise><c:out value="${principleUsername}"/></c:otherwise>
+ </c:choose>
+ </fmt:param>
+</fmt:message>
+<rave:navbar pageTitle="${pagetitle}"/>
Added: rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-tabs.jsp
URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-tabs.jsp?rev=1374971&view=auto
==============================================================================
--- rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-tabs.jsp (added)
+++ rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-tabs.jsp Mon Aug 20 11:16:25 2012
@@ -0,0 +1,245 @@
+<%@ page language="java" trimDirectiveWhitespaces="true" %>
+<%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
+<%@ taglib uri="http://www.apache-rave.org/jsp/core" prefix="hmvc" %>
+<fmt:setBundle basename="messages"/>
+<jsp:useBean id="pages" type="java.util.List<org.apache.rave.portal.model.Page>" scope="request"/>
+<jsp:useBean id="pageUser" type="org.apache.rave.portal.model.PageUser" scope="request"/>
+<jsp:useBean id="pageLayouts" type="java.util.List<org.apache.rave.portal.model.JpaPageLayout>" scope="request"/>
+
+<c:set var="hasOnlyOnePage" scope="request">
+ <c:choose>
+ <c:when test="${fn:length(pages) == 1}">true</c:when>
+ <c:otherwise>false</c:otherwise>
+ </c:choose>
+</c:set>
+<c:set var="canMoveWidgetsToEditablePage" scope="request" value="false"/>
+
+<div id="pageContent" class="container-fluid">
+ <nav>
+ <ul class="nav nav-tabs">
+ <c:forEach var="userPage" items="${pages}">
+ <%-- determine if the current page in the list matches the page the user is viewing --%>
+ <c:set var="isCurrentPage">
+ <c:choose>
+ <c:when test="${page.id == userPage.id}">true</c:when>
+ <c:otherwise>false</c:otherwise>
+ </c:choose>
+ </c:set>
+ <c:set var="isSharedToMe">
+ <c:choose>
+ <c:when test="${userPage.owner.username == principleUsername}">false</c:when>
+ <c:otherwise>true</c:otherwise>
+ </c:choose>
+ </c:set>
+ <c:set var="isSharedByMe">
+ <c:choose>
+ <c:when test="${fn:length(userPage.members) > 1 and isSharedToMe == false}">true</c:when>
+ <c:otherwise>false</c:otherwise>
+ </c:choose>
+ </c:set>
+ <fmt:message key="sharing.page.tab.icon.tip.from" var="iconShareToolTipFrom">
+ <fmt:param value="${userPage.owner.username}"/>
+ </fmt:message>
+ <fmt:message key="sharing.page.tab.icon.tip.to" var="iconShareToolTipTo"/>
+ <c:choose>
+ <c:when test="${isCurrentPage}">
+ <li id="tab-${userPage.id}" class="active dropdown" >
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+ <c:if test="${isSharedToMe}">
+ <b id="pageMenuSharedIcon" class="ui-icon ui-icon-person" title="<c:out value="${iconShareToolTipFrom}"/>"></b>
+ </c:if>
+ <c:if test="${isSharedByMe}">
+ <b id="pageMenuSharedIcon" class="ui-icon ui-icon-folder-open" title="<c:out value="${iconShareToolTipTo}"/>"></b>
+ </c:if>
+ <c:out value="${userPage.name}"/>
+ <b class="caret"></b>
+ </a>
+ <ul class="dropdown-menu" >
+ <li id="pageMenuEdit" class="<c:if test="${isSharedToMe}">menu-item-disabled</c:if>"><a href="#"><fmt:message key="page.general.editpage"/></a></li>
+ <li id="pageMenuDelete" class="<c:if test='${hasOnlyOnePage or isSharedToMe}'>menu-item-disabled</c:if>"><a href="#"><fmt:message key="page.general.deletepage"/></a></li>
+ <li id="pageMenuMove" class="<c:if test='${hasOnlyOnePage}'>menu-item-disabled</c:if>"><a href="#"><fmt:message key="page.general.movepage"/></a></li>
+ <li id="pageMenuShare" class="<c:if test="${isSharedToMe}">menu-item-disabled</c:if>"><a href="#"><fmt:message key="page.general.sharepage"/></a></li>
+ <li id="pageMenuRevokeShare" class="<c:if test="${isSharedToMe == false}">menu-item-disabled</c:if>"><a href="#"><fmt:message key="page.general.removeshare"/></a></li>
+ </ul>
+ </li>
+ </c:when>
+ <c:otherwise>
+ <li id="tab-${userPage.id}" onclick="rave.viewPage(${userPage.id});">
+ <c:choose>
+ <c:when test="${isSharedToMe}">
+ <a href="#" class="rave-ui-tab-shared-to-me">
+ <b id="pageMenuSharedIcon" class="ui-icon ui-icon-person" title="<c:out value="${iconShareToolTipFrom}"/>"></b>
+ <c:out value="${userPage.name}"/>
+ </a>
+ </c:when>
+ <c:when test="${isSharedByMe}">
+ <a href="#" class="rave-ui-tab-shared-by-me">
+ <b id="pageMenuSharedIcon" class="ui-icon ui-icon-folder-open" title="<c:out value="${iconShareToolTipTo}"/>"></b>
+ <c:out value="${userPage.name}"/>
+ </a>
+ </c:when>
+ <c:otherwise>
+ <a href="#"><c:out value="${userPage.name}"/></a>
+ </c:otherwise>
+ </c:choose>
+ </li>
+ </c:otherwise>
+ </c:choose>
+ <c:forEach var="members" items="${userPage.members}">
+ <c:if test="${members.user.username == principleUsername and members.editor and userPage.id != page.id}">
+ <c:set var="canMoveWidgetsToEditablePage" scope="request" value="true"/>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ <li id="addPageButton"><a href="#"><i class="icon-plus"></i></a></li>
+ </ul>
+ </nav>
+</div>
+
+<div id="pageMenuDialog" class="modal hide" data-backdrop="static">
+ <div class="modal-header">
+ <a href="#" class="close" data-dismiss="modal">×</a>
+ <h3 id="pageMenuDialogHeader"></h3>
+ </div>
+ <div class="modal-body">
+ <form id="pageForm" class="form-horizontal">
+ <input type="hidden" name="tab_id" id="tab_id" value=""/>
+ <fieldset>
+ <div class="control-group error">
+ <label id="pageFormErrors" class="control-label"></label>
+ </div>
+ <div class="control-group">
+ <label class="control-label" for="tab_title"><fmt:message key="page.general.addpage.title"/></label>
+ <div class="controls">
+ <input id="tab_title" name="tab_title" class="input-xlarge focused required" type="text" value="" />
+ </div>
+ </div>
+ <div class="control-group">
+ <label class="control-label" for="pageLayout"><fmt:message key="page.general.addpage.selectlayout"/></label>
+ <div class="controls">
+ <select name="pageLayout" id="pageLayout">
+ <c:forEach var="pageLayout" items="${pageLayouts}">
+ <option value="${pageLayout.code}" id="${pageLayout.code}_id">
+ <fmt:message key="page.general.addpage.layout.${pageLayout.code}"/></option>
+ </c:forEach>
+ </select>
+ </div>
+ </div>
+ </fieldset>
+ </form>
+ </div>
+ <div class="modal-footer">
+ <a id="pageMenuCloseButton" href="#" class="btn"><fmt:message key="_rave_client.common.cancel"/></a>
+ <a id="pageMenuUpdateButton" href="#" class="btn btn-primary"></a>
+ </div>
+</div>
+
+<div id="movePageDialog" class="modal hide" data-backdrop="static">
+ <div class="modal-header">
+ <a href="#" class="close" data-dismiss="modal">×</a>
+ <h3><fmt:message key="page.general.movethispage"/></h3>
+ </div>
+ <div class="modal-body">
+ <form id="movePageForm" class="form-horizontal">
+ <fieldset>
+ <div class="control-group">
+ <div class="controls">
+ <select id="moveAfterPageId">
+ <c:if test="${pageUser.renderSequence != 1}">
+ <option value="-1"><fmt:message key="page.general.movethispage.tofirst"/></option>
+ </c:if>
+ <c:forEach var="userPage" items="${pages}">
+ <c:if test="${userPage.id != page.id}">
+ <option value="${userPage.id}">
+ <fmt:message key="page.general.movethispage.after">
+ <fmt:param><c:out value="${userPage.name}"/></fmt:param>
+ </fmt:message>
+ </option>
+ </c:if>
+ </c:forEach>
+ </select>
+ </div>
+ </div>
+ </fieldset>
+ </form>
+ </div>
+ <div class="modal-footer">
+ <a href="#" class="btn" onclick="$('#movePageDialog').modal('hide');"><fmt:message key="_rave_client.common.cancel"/></a>
+ <a href="#" class="btn btn-primary" onclick="rave.layout.movePage();"><fmt:message key="page.general.movepage"/></a>
+ </div>
+</div>
+
+<fmt:message key="widget.menu.movetopage" var="moveWidgetToPageTitle"/>
+<div id="moveWidgetModal" class="modal hide" data-backdrop="static">
+ <div class="modal-header">
+ <a href="#" class="close" data-dismiss="modal">×</a>
+ <h3><fmt:message key="widget.menu.movethiswidget"/></h3>
+ </div>
+ <div class="modal-body">
+ <form id="moveWidgetForm" class="form-horizontal">
+ <fieldset>
+ <div class="control-group">
+ <div class="controls">
+ <select id="moveToPageId">
+ <c:forEach var="userPage" items="${pages}">
+ <c:forEach var="members" items="${userPage.members}">
+ <c:if test="${members.user.username == principleUsername and members.editor and userPage.id != page.id}">
+ <option value="${userPage.id}">
+ <c:out value="${userPage.name}"/>
+ </option>
+ </c:if>
+ </c:forEach>
+ </c:forEach>
+ </select>
+ </div>
+ </div>
+ </fieldset>
+ </form>
+ </div>
+ <div class="modal-footer">
+ <a href="#" class="btn" onclick="$('#moveWidgetModal').modal('hide');"><fmt:message key="_rave_client.common.cancel"/></a>
+ <a href="#" class="btn btn-primary" onclick="rave.layout.moveWidgetToPage($('#moveWidgetModal').data('regionWidgetId'));"><fmt:message key="_rave_client.common.move"/></a>
+ </div>
+</div>
+
+<div id="sharePageDialog" class="modal hide" data-backdrop="static">
+ <div class="modal-header">
+ <a href="#" class="close" data-dismiss="modal">×</a>
+ <h3><fmt:message key="page.general.search.title"/></h3>
+ </div>
+ <div class="modal-body">
+ <div id="sharePageDialogContent" >
+ <div id="shareContent">
+ <div id="searchControls"><input id="searchTerm" name="searchTerm" type="text"/>
+ <input id="shareSearchButton" value="<fmt:message key="page.store.search.button"/>" type="submit"/>
+ <input id="clearSearchButton" value="<fmt:message key="admin.clearsearch"/>" type="submit" class="hide"/>
+ </div>
+ <div id="shareSearchListHeader"></div>
+ <div id="shareSearchListPaging"></div>
+ <div id="shareSearchResults"></div>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <a href="#" class="btn" onclick="$('#sharePageDialog').modal('hide');"><fmt:message key="_rave_client.common.cancel"/></a>
+ </div>
+</div>
+
+<div id="confirmSharePageDialog" class="modal hide" data-backdrop="static">
+ <div class="modal-header">
+ <a href="#" class="close" data-dismiss="modal">×</a>
+ <h3><fmt:message key="sharing.dialog.confirm.title"/></h3>
+ </div>
+ <div class="modal-body">
+ <div id="confirmSharePageDialogLegend">
+ <fmt:message key="sharing.dialog.confirm.message">
+ <fmt:param value="${page.owner.username}"/>
+ </fmt:message>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <a href="#" class="btn btn-primary" onclick="rave.layout.searchHandler.acceptShare()"><fmt:message key="_rave_client.common.accept"/></a>
+ <a href="#" class="btn" onclick="rave.layout.searchHandler.declineShare();"><fmt:message key="_rave_client.common.decline"/></a>
+ <a href="#" class="btn" onclick="$('#confirmSharePageDialog').modal('hide');"><fmt:message key="_rave_client.common.cancel"/></a>
+ </div>
+</div>
Propchange: rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-tabs.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page-tabs.jsp
------------------------------------------------------------------------------
svn:keywords = Id
Copied: rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page.jsp (from r1373746, rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/templates/base_layout.jsp)
URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page.jsp?p2=rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page.jsp&p1=rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/templates/base_layout.jsp&r1=1373746&r2=1374971&rev=1374971&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/templates/base_layout.jsp (original)
+++ rave/sandbox/content-services/demo-portal/src/main/webapp/WEB-INF/jsp/views/hmvc/page.jsp Mon Aug 20 11:16:25 2012
@@ -1,26 +1,8 @@
-<%--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
---%>
+<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page language="java" trimDirectiveWhitespaces="true" %>
-<%@ page errorPage="/WEB-INF/jsp/views/error.jsp" %>
<%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
-<%-- Expose any attributes defined in the tiles-defs.xml to the request scope for use in other tiles --%>
-<tiles:importAttribute scope="request"/>
+<%@ taglib uri="http://www.apache-rave.org/jsp/core" prefix="hmvc" %>
+
<!DOCTYPE html>
<html class="no-js">
<head>
@@ -31,12 +13,13 @@ under the License.
<rave:third_party_head_js/>
</head>
<body>
+ <input id="currentPageId" type="hidden" value="${page.id}"/>
<%-- Header Content --%>
-<tiles:insertAttribute name="header"/>
+<hmvc:include ref="header"/>
<%-- Main Body Content --%>
-<tiles:insertAttribute name="body"/>
+<hmvc:include ref="body"/>
<%-- Footer Content --%>
-<tiles:insertAttribute name="footer"/>
+<hmvc:include ref="footer"/>
<%-- render any script that needs to execute pre-src includes --%>
<portal:render-init-script location="${'BEFORE_RAVE'}" />
<%-- render the javascript src includes at the bottom of the page for performance --%>
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=1374971&r1=1374970&r2=1374971&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 Aug 20 11:16:25 2012
@@ -24,6 +24,7 @@ import javax.servlet.http.HttpServletRes
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.method.annotation.ForkedRequestMappingHandlerAdapter;
@@ -40,6 +41,7 @@ public class HmvcHandlerMethodHandlerAda
Map<String, ModelAndView> cmvMap = new LinkedHashMap<String, ModelAndView>();
for (String name : hm.getChildrenNames()) {
HmvcHandlerMethod chm = hm.getChild(name);
+ request.setAttribute(DispatcherServlet.INPUT_FLASH_MAP_ATTRIBUTE, mv.getModel());
ModelAndView cmv = handleInternal(request, response, chm);
if (cmv != null) {
// override view name (if set):
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=1374971&r1=1374970&r2=1374971&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 Mon Aug 20 11:16:25 2012
@@ -76,11 +76,10 @@ public class HmvcHandlerMethodMappingByC
RequestMapping annotation = AnnotationUtils.findAnnotation(method, RequestMapping.class);
RequestMappingInfo mappingInfo = createMappingInfo(annotation, pageDefinition);
try {
- Object handler = controllerClass.newInstance();
+ Object handler = getApplicationContext().getBean(controllerClass);
+// Object handler = controllerClass.newInstance();
registerPageHandlerMethod(pageDefinition, handler, method, mappingInfo);
- } catch (InstantiationException e) {
- log.error("Error", e);
- } catch (IllegalAccessException e) {
+ } catch (Exception e) {
log.error("Error", e);
}
}