Author: carlucci
Date: Thu May 3 21:38:26 2012
New Revision: 1333637
URL: http://svn.apache.org/viewvc?rev=1333637&view=rev
Log:
RAVE-586: Break out navbar (supports RAVE-585: Break up the Rave UI into
smaller reusable units to make customization easier). Patch supplied by Chris
Geer.
Modified:
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/PageController.java
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ProfileController.java
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/admin/AdminControllerUtil.java
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/util/ControllerUtils.java
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/NavigationItem.java
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/model/NavigationItemTest.java
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/model/NavigationMenuTest.java
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.jsp
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/personProfile.jsp
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/store.jsp
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/widget.jsp
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/header.tag
Modified:
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/PageController.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/PageController.java?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/PageController.java
(original)
+++
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/PageController.java
Thu May 3 21:38:26 2012
@@ -25,6 +25,8 @@ import org.apache.rave.portal.service.Pa
import org.apache.rave.portal.service.PageService;
import org.apache.rave.portal.service.UserService;
import org.apache.rave.portal.web.controller.util.ControllerUtils;
+import org.apache.rave.portal.web.model.NavigationItem;
+import org.apache.rave.portal.web.model.NavigationMenu;
import org.apache.rave.portal.web.util.ModelKeys;
import org.apache.rave.portal.web.util.ViewNames;
import org.slf4j.Logger;
@@ -41,13 +43,13 @@ import java.util.List;
/**
* Page Controller
- *
+ *
* @author carlucci
*/
@Controller
public class PageController {
private final Logger logger = LoggerFactory.getLogger(getClass());
-
+
private PageService pageService;
private UserService userService;
private PageLayoutService pageLayoutService;
@@ -71,21 +73,25 @@ public class PageController {
Page page = pageService.getDefaultPageFromList(pages);
List<PageLayout> pageLayouts =
pageLayoutService.getAllUserSelectable();
addAttributesToModel(model, page, pages, pageLayouts);
- return ControllerUtils.getDeviceAppropriateView(request,
ViewNames.getPageView(page.getPageLayout().getCode()), ViewNames.MOBILE_HOME);
- }
-
+ String view = ControllerUtils.getDeviceAppropriateView(request,
ViewNames.getPageView(page.getPageLayout().getCode()), ViewNames.MOBILE_HOME);
+ ControllerUtils.addNavItemsToModel(view, model, page.getEntityId(),
userService.getAuthenticatedUser());
+ return view;
+ }
+
@RequestMapping(value = "/page/view/{pageId}", method = RequestMethod.GET)
public String view(@PathVariable Long pageId, Model model,
HttpServletRequest request) {
User user = userService.getAuthenticatedUser();
logger.debug("attempting to get pageId {} for {}", pageId, user);
-
+
List<Page> pages = getAllPagesForAuthenticatedUser();
Page page = pageService.getPageFromList(pageId, pages);
List<PageLayout> pageLayouts =
pageLayoutService.getAllUserSelectable();
addAttributesToModel(model, page, pages, pageLayouts);
- return ControllerUtils.getDeviceAppropriateView(request,
ViewNames.getPageView(page.getPageLayout().getCode()), ViewNames.MOBILE_HOME);
+ String view = ControllerUtils.getDeviceAppropriateView(request,
ViewNames.getPageView(page.getPageLayout().getCode()), ViewNames.MOBILE_HOME);
+ ControllerUtils.addNavItemsToModel(view, model, page.getEntityId(),
user);
+ return view;
}
-
+
private List<Page> getAllPagesForAuthenticatedUser() {
User user = userService.getAuthenticatedUser();
long userId = user.getEntityId();
@@ -99,10 +105,12 @@ public class PageController {
}
return pages;
}
-
+
private void addAttributesToModel(Model model, Page page, List<Page>
pages, List<PageLayout> pageLayouts) {
model.addAttribute(ModelKeys.PAGE, page);
model.addAttribute(ModelKeys.PAGES, pages);
model.addAttribute(ModelKeys.PAGE_LAYOUTS, pageLayouts);
}
+
+
}
Modified:
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ProfileController.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ProfileController.java?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ProfileController.java
(original)
+++
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ProfileController.java
Thu May 3 21:38:26 2012
@@ -23,6 +23,8 @@ import org.apache.rave.portal.model.Page
import org.apache.rave.portal.model.User;
import org.apache.rave.portal.service.PageService;
import org.apache.rave.portal.service.UserService;
+import org.apache.rave.portal.web.controller.util.ControllerUtils;
+import org.apache.rave.portal.web.model.NavigationMenu;
import org.apache.rave.portal.web.util.ModelKeys;
import org.apache.rave.portal.web.util.ViewNames;
import org.slf4j.Logger;
@@ -39,7 +41,7 @@ import org.springframework.web.bind.anno
public class ProfileController {
private final Logger logger = LoggerFactory.getLogger(getClass());
-
+
private final UserService userService;
private final PageService pageService;
@@ -64,15 +66,17 @@ public class ProfileController {
Page personProfilePage =
pageService.getPersonProfilePage(user.getEntityId());
addAttributesToModel(model, user, referringPageId);
model.addAttribute(ModelKeys.PAGE, personProfilePage);
- return
ViewNames.getPersonPageView(personProfilePage.getPageLayout().getCode());
+ String view =
ViewNames.getPersonPageView(personProfilePage.getPageLayout().getCode());
+ addNavItemsToModel(view, model, referringPageId, user);
+ return view;
}
-
+
/**
* Updates the user's personal information
*
* @param model {@link Model} map
* @param referringPageId page reference id
- * @param updatedUser Updated user
information
+ * @param updatedUser Updated user information
* @return the view name of the user profile page
*/
@RequestMapping(method = RequestMethod.POST)
@@ -99,7 +103,7 @@ public class ProfileController {
return ViewNames.REDIRECT + "app/person/" + user.getUsername();
}
-
+
/*
* Function to add attributes to model map
*/
@@ -107,4 +111,10 @@ public class ProfileController {
model.addAttribute(ModelKeys.USER_PROFILE, user);
model.addAttribute(ModelKeys.REFERRING_PAGE_ID, referringPageId);
}
+
+ public static void addNavItemsToModel(String view, ModelMap model, Long
referringPageId, User user) {
+ long refPageId = referringPageId != null ? referringPageId : 0;
+ final NavigationMenu topMenu = ControllerUtils.getTopMenu(view,
refPageId, user);
+ model.addAttribute(topMenu.getName(), topMenu);
+ }
}
Modified:
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java
(original)
+++
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java
Thu May 3 21:38:26 2012
@@ -19,11 +19,11 @@
package org.apache.rave.portal.web.controller;
-import org.apache.rave.portal.model.PortalPreference;
-import org.apache.rave.portal.model.User;
-import org.apache.rave.portal.model.Widget;
-import org.apache.rave.portal.model.WidgetStatus;
+import org.apache.rave.portal.model.*;
import org.apache.rave.portal.service.*;
+import org.apache.rave.portal.web.controller.util.ControllerUtils;
+import org.apache.rave.portal.web.model.NavigationItem;
+import org.apache.rave.portal.web.model.NavigationMenu;
import org.apache.rave.portal.web.util.ModelKeys;
import org.apache.rave.portal.web.util.PortalPreferenceKeys;
import org.apache.rave.portal.web.util.ViewNames;
@@ -77,20 +77,22 @@ public class WidgetStoreController {
@RequestMapping(method = RequestMethod.GET)
public String view(Model model, @RequestParam long referringPageId,
@RequestParam(required = false, defaultValue = "0") int offset) {
+ final String view = ViewNames.STORE;
User user = userService.getAuthenticatedUser();
- widgetStoreModelHelper(model, referringPageId, user);
+ widgetStoreModelHelper(model, referringPageId, user, view);
model.addAttribute(ModelKeys.WIDGETS,
widgetService.getPublishedWidgets(offset, getPageSize()));
- return ViewNames.STORE;
+ return view;
}
@RequestMapping(method = RequestMethod.GET, value = "mine")
public String viewMine(Model model, @RequestParam long referringPageId,
@RequestParam(required = false, defaultValue = "0") int offset) {
+ final String view = ViewNames.STORE;
User user = userService.getAuthenticatedUser();
- widgetStoreModelHelper(model, referringPageId, user);
+ widgetStoreModelHelper(model, referringPageId, user, view);
model.addAttribute(ModelKeys.WIDGETS,
widgetService.getWidgetsByOwner(user.getEntityId(), offset,
getPageSize()));
- return ViewNames.STORE;
+ return view;
}
/**
@@ -106,12 +108,13 @@ public class WidgetStoreController {
*/
@RequestMapping(method = RequestMethod.GET, value = "widget/{widgetId}")
public String viewWidget(Model model, @PathVariable long widgetId,
@RequestParam long referringPageId) {
+ final String view = ViewNames.WIDGET;
final User user = userService.getAuthenticatedUser();
- widgetStoreModelHelper(model, referringPageId, user);
+ widgetStoreModelHelper(model, referringPageId, user, view);
model.addAttribute(ModelKeys.WIDGET,
widgetService.getWidget(widgetId));
model.addAttribute(ModelKeys.WIDGET_STATISTICS,
widgetService.getWidgetStatistics(widgetId, user.getEntityId()));
model.addAttribute(ModelKeys.USER_PROFILE, user);
- return ViewNames.WIDGET;
+ return view;
}
/**
@@ -130,13 +133,14 @@ public class WidgetStoreController {
@RequestMapping(method = RequestMethod.GET, value = "search")
public String viewSearchResult(Model model, @RequestParam long
referringPageId, @RequestParam String searchTerm,
@RequestParam(required = false, defaultValue = "0") int offset) {
+ final String view = ViewNames.STORE;
User user = userService.getAuthenticatedUser();
- widgetStoreModelHelper(model, referringPageId, user);
+ widgetStoreModelHelper(model, referringPageId, user, view);
model.addAttribute(ModelKeys.WIDGETS,
widgetService.getPublishedWidgetsByFreeTextSearch(searchTerm,
offset, getPageSize()));
model.addAttribute(ModelKeys.SEARCH_TERM, searchTerm);
model.addAttribute(ModelKeys.OFFSET, offset);
- return ViewNames.STORE;
+ return view;
}
/**
@@ -155,20 +159,22 @@ public class WidgetStoreController {
@RequestMapping(method = RequestMethod.GET, value = "tag")
public String viewTagResult(Model model, @RequestParam long
referringPageId, @RequestParam String keyword,
@RequestParam(required = false, defaultValue = "0") int offset) {
+ final String view = ViewNames.STORE;
User user = userService.getAuthenticatedUser();
- widgetStoreModelHelper(model, referringPageId, user);
+ widgetStoreModelHelper(model, referringPageId, user, view);
model.addAttribute(ModelKeys.WIDGETS,
widgetService.getWidgetsByTag(keyword, offset, getPageSize()));
model.addAttribute(ModelKeys.OFFSET, offset);
model.addAttribute(ModelKeys.SELECTED_TAG, keyword);
- return ViewNames.STORE;
+ return view;
}
@RequestMapping(method = RequestMethod.GET, value = "category")
public String viewCategoryResult(@RequestParam(required = true) long
referringPageId,
@RequestParam(required = true) long categoryId,
@RequestParam(required = false, defaultValue = "0") int offset,
Model model) {
+ final String view = ViewNames.STORE;
User authenticatedUser = userService.getAuthenticatedUser();
- widgetStoreModelHelper(model, referringPageId, authenticatedUser);
+ widgetStoreModelHelper(model, referringPageId, authenticatedUser,
view);
if (categoryId > 0) {
model.addAttribute(ModelKeys.WIDGETS,
widgetService.getWidgetsByCategory(categoryId, offset, getPageSize()));
} else {
@@ -176,7 +182,7 @@ public class WidgetStoreController {
}
model.addAttribute(ModelKeys.OFFSET, offset);
model.addAttribute(ModelKeys.SELECTED_CATEGORY, categoryId);
- return ViewNames.STORE;
+ return view;
}
/**
@@ -191,9 +197,11 @@ public class WidgetStoreController {
@RequestMapping(method = RequestMethod.GET, value = "widget/add")
public String viewAddWidgetForm(Model model, @RequestParam long
referringPageId) {
final Widget widget = new Widget();
- model.addAttribute(ModelKeys.REFERRING_PAGE_ID, referringPageId);
+ final String view = ViewNames.ADD_WIDGET_FORM;
model.addAttribute(ModelKeys.WIDGET, widget);
- return ViewNames.ADD_WIDGET_FORM;
+ model.addAttribute(ModelKeys.REFERRING_PAGE_ID, referringPageId);
+ ControllerUtils.addNavItemsToModel(view, model, referringPageId,
userService.getAuthenticatedUser());
+ return view;
}
/**
@@ -215,9 +223,11 @@ public class WidgetStoreController {
User user = userService.getAuthenticatedUser();
widgetValidator.validate(widget, results);
if (results.hasErrors()) {
+ final String view = ViewNames.ADD_WIDGET_FORM;
model.addAttribute(ModelKeys.WIDGET, widget);
model.addAttribute(ModelKeys.REFERRING_PAGE_ID, referringPageId);
- return ViewNames.ADD_WIDGET_FORM;
+ ControllerUtils.addNavItemsToModel(view, model, referringPageId,
user);
+ return view;
}
widget.setWidgetStatus(WidgetStatus.PREVIEW);
widget.setOwner(user);
@@ -236,11 +246,12 @@ public class WidgetStoreController {
* @param user
* Current authenticated User
*/
- private void widgetStoreModelHelper(Model model, long referringPageId,
User user) {
+ private void widgetStoreModelHelper(Model model, long referringPageId,
User user, String view) {
model.addAttribute(ModelKeys.REFERRING_PAGE_ID, referringPageId);
model.addAttribute(ModelKeys.WIDGETS_STATISTICS,
widgetService.getAllWidgetStatistics(user.getEntityId()));
model.addAttribute(ModelKeys.TAGS, tagService.getAllTags());
model.addAttribute(ModelKeys.CATEGORIES, categoryService.getAll());
+ ControllerUtils.addNavItemsToModel(view, model, referringPageId, user);
}
public int getPageSize() {
Modified:
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/admin/AdminControllerUtil.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/admin/AdminControllerUtil.java?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/admin/AdminControllerUtil.java
(original)
+++
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/admin/AdminControllerUtil.java
Thu May 3 21:38:26 2012
@@ -51,7 +51,7 @@ public final class AdminControllerUtil {
static boolean isDeleteOrUpdate(String action) {
return "update".equals(action) || "delete".equals(action);
}
-
+
static boolean isCreateDeleteOrUpdate(String action){
return "create".equals(action) || isDeleteOrUpdate(action);
}
@@ -67,10 +67,10 @@ public final class AdminControllerUtil {
private static NavigationMenu getTopMenu() {
NavigationMenu menu = new NavigationMenu("topnav");
- NavigationItem raveHome = new NavigationItem("page.general.back", "/");
+ NavigationItem raveHome = new NavigationItem("page.general.back",
null, "/");
menu.addNavigationItem(raveHome);
- NavigationItem logout = new NavigationItem("page.general.logout",
"/j_spring_security_logout");
+ NavigationItem logout = new NavigationItem("page.general.logout",
null, "/j_spring_security_logout");
menu.addNavigationItem(logout);
return menu;
@@ -79,23 +79,23 @@ public final class AdminControllerUtil {
private static NavigationMenu getTabMenu(String selectedItem) {
NavigationMenu menu = new NavigationMenu("tabs");
- NavigationItem home = new NavigationItem("admin.home.shorttitle",
"/app/admin/");
+ NavigationItem home = new NavigationItem("admin.home.shorttitle",
null, "/app/admin/");
home.setSelected("home".equals(selectedItem));
menu.addNavigationItem(home);
- NavigationItem users = new NavigationItem("admin.users.shorttitle",
"/app/admin/users");
+ NavigationItem users = new NavigationItem("admin.users.shorttitle",
null, "/app/admin/users");
users.setSelected("users".equals(selectedItem));
menu.addNavigationItem(users);
- NavigationItem widgets = new
NavigationItem("admin.widgets.shorttitle", "/app/admin/widgets");
+ NavigationItem widgets = new
NavigationItem("admin.widgets.shorttitle", null, "/app/admin/widgets");
widgets.setSelected("widgets".equals(selectedItem));
menu.addNavigationItem(widgets);
- NavigationItem preferences = new
NavigationItem("admin.preferences.shorttitle", "/app/admin/preferences");
+ NavigationItem preferences = new
NavigationItem("admin.preferences.shorttitle", null, "/app/admin/preferences");
preferences.setSelected("preferences".equals(selectedItem));
menu.addNavigationItem(preferences);
- NavigationItem categories = new
NavigationItem("admin.category.shortTitle", "/app/admin/categories");
+ NavigationItem categories = new
NavigationItem("admin.category.shortTitle", null, "/app/admin/categories");
categories.setSelected("categories".equals(selectedItem));
menu.addNavigationItem(categories);
Modified:
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/util/ControllerUtils.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/util/ControllerUtils.java?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/util/ControllerUtils.java
(original)
+++
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/util/ControllerUtils.java
Thu May 3 21:38:26 2012
@@ -21,17 +21,23 @@ package org.apache.rave.portal.web.contr
import javax.servlet.http.HttpServletRequest;
+import org.apache.rave.portal.model.Page;
+import org.apache.rave.portal.model.User;
+import org.apache.rave.portal.web.model.NavigationItem;
+import org.apache.rave.portal.web.model.NavigationMenu;
+import org.apache.rave.portal.web.util.ViewNames;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.mobile.device.DeviceUtils;
+import org.springframework.ui.Model;
public class ControllerUtils {
private static final Logger log =
LoggerFactory.getLogger(ControllerUtils.class);
/**
- * Utility function to determine if this HttpServletRequest
- * is coming from a mobile client
- *
+ * Utility function to determine if this HttpServletRequest
+ * is coming from a mobile client
+ *
* @param request the HttpServletRequest from the client
* @return true if the client is a mobile device, false if not mobile
*/
@@ -53,4 +59,81 @@ public class ControllerUtils {
log.debug("viewName: " + viewName);
return viewName;
}
+
+ public static void addNavItemsToModel(String view, Model model, long
referringPageId, User user) {
+ final NavigationMenu topMenu = getTopMenu(view, referringPageId, user);
+ model.addAttribute(topMenu.getName(), topMenu);
+ }
+
+ public static NavigationMenu getTopMenu(String view, long referringPageId,
User user) {
+ NavigationMenu menu = new NavigationMenu("topnav");
+
+ if(view.startsWith(ViewNames.PAGE)) {
+ NavigationItem profile = new NavigationItem("page.profile.title",
user.getDisplayName() != null ? user.getDisplayName() : user.getUsername(),
"/app/person/" + user.getUsername() + "?referringPageId=" + referringPageId);
+ menu.addNavigationItem(profile);
+
+ NavigationItem store = new NavigationItem("page.store.title",
null, "/app/store?referringPageId=" + referringPageId);
+ menu.addNavigationItem(store);
+
+ NavigationItem admin = getAdminItem();
+ menu.addNavigationItem(admin);
+
+ NavigationItem logout = getLogoutItem();
+ menu.addNavigationItem(logout);
+ } else if (view.startsWith(ViewNames.STORE)) {
+ NavigationItem addWidget = new
NavigationItem("page.addwidget.title", null,
"/app/store/widget/add?referringPageId=" + referringPageId);
+ menu.addNavigationItem(addWidget);
+
+ NavigationItem back = getBackItem(referringPageId);
+ menu.addNavigationItem(back);
+
+ NavigationItem admin = getAdminItem();
+ menu.addNavigationItem(admin);
+
+ NavigationItem logout = getLogoutItem();
+ menu.addNavigationItem(logout);
+ } else if (view.startsWith(ViewNames.PERSON_PROFILE)) {
+ NavigationItem back = getBackItem(referringPageId);
+ menu.addNavigationItem(back);
+
+ NavigationItem admin = getAdminItem();
+ menu.addNavigationItem(admin);
+
+ NavigationItem logout = getLogoutItem();
+ menu.addNavigationItem(logout);
+ } else if (view.startsWith(ViewNames.ADD_WIDGET_FORM) ||
view.startsWith(ViewNames.WIDGET)) {
+ NavigationItem addWidget = new
NavigationItem("page.widget.backToStore", null, "/app/store?referringPageId=" +
referringPageId);
+ menu.addNavigationItem(addWidget);
+
+ NavigationItem back = getBackItem(referringPageId);
+ menu.addNavigationItem(back);
+
+ NavigationItem admin = getAdminItem();
+ menu.addNavigationItem(admin);
+
+ NavigationItem logout = getLogoutItem();
+ menu.addNavigationItem(logout);
+ }
+
+ return menu;
+ }
+
+ private static NavigationItem getBackItem(long referringPageId) {
+ NavigationItem back = new NavigationItem();
+ back.setName("page.general.back");
+ if (referringPageId > 0) {
+ back.setUrl("/app/page/view/" + referringPageId);
+ } else {
+ back.setUrl("/");
+ }
+ return back;
+ }
+
+ private static NavigationItem getAdminItem() {
+ return new NavigationItem("page.general.toadmininterface", null,
"/app/admin/");
+ }
+
+ private static NavigationItem getLogoutItem() {
+ return new NavigationItem("page.general.logout", null,
"/j_spring_security_logout");
+ }
}
\ No newline at end of file
Modified:
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/NavigationItem.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/NavigationItem.java?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/NavigationItem.java
(original)
+++
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/NavigationItem.java
Thu May 3 21:38:26 2012
@@ -30,6 +30,7 @@ import java.util.Map;
public class NavigationItem {
private static final String PARAM_NAME = "name";
+ private static final String PARAM_NAME_PARAM = "name_param";
private static final String PARAM_URL = "url";
private Map<String, String> parameters;
@@ -38,17 +39,18 @@ public class NavigationItem {
private boolean expanded;
public NavigationItem() {
- this(null, null);
+ this(null, null, null);
}
- public NavigationItem(String name, String url) {
+ public NavigationItem(String name, String nameParam, String url) {
super();
this.parameters = new HashMap<String, String>();
this.childNavigationItems = new ArrayList<NavigationItem>();
-
+
this.setName(name);
this.setUrl(url);
+ this.setNameParam(nameParam);
}
/**
@@ -63,6 +65,22 @@ public class NavigationItem {
}
/**
+ * @return parameter value
+ */
+ public String getNameParam() {
+ return parameters.get(PARAM_NAME_PARAM);
+ }
+
+ /**
+ * Sets the parameter value used to plug into the name field
+ *
+ * @param nameParam
+ */
+ public void setNameParam(String nameParam) {
+ this.parameters.put(PARAM_NAME_PARAM, nameParam);
+ }
+
+ /**
* @return url the navigation item should link to
*/
public String getUrl() {
@@ -73,7 +91,7 @@ public class NavigationItem {
this.parameters.put(PARAM_URL, url);
}
-
+
public Map<String, String> getParameters() {
return parameters;
}
Modified:
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java
(original)
+++
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java
Thu May 3 21:38:26 2012
@@ -45,7 +45,7 @@ import java.util.List;
public class ProfileControllerTest {
private ProfileController profileController;
-
+
private UserService userService;
private PageService pageService;
@@ -81,13 +81,13 @@ public class ProfileControllerTest {
allPageLayouts = new ArrayList<PageLayout>();
allPageLayouts.add(validPageLayout);
}
-
+
@Test
public void viewPerson_ShouldAddAttributeForUser() {
//creating a mock user
final User user = new User();
final ModelMap model = new ModelMap();
- final int modelSize = 3;
+ final int modelSize = 4;
final String username="Canonical";
user.setUsername(username);
user.setEntityId(USER_ID);
@@ -96,28 +96,28 @@ public class ProfileControllerTest {
PageLayout pageLayout = new PageLayout();
pageLayout.setCode(VALID_PAGE_LAYOUT_CODE);
personProfile.setPageLayout(pageLayout);
-
+
expect(userService.getUserByUsername(username)).andReturn(user).once();
expect(pageService.getPersonProfilePage(user.getEntityId())).andReturn(personProfile);
replay(userService, pageService);
String view = profileController.viewProfile(username, model,
null);
-
+
//assert that the model is not null
assertThat(model, CoreMatchers.notNullValue());
-
- //assert that the model size is three
+
+ //assert that the model size is four
assertThat(model.size(), CoreMatchers.equalTo(modelSize));
-
+
//assert that the model does contain an attribute associated
with the authenticated user after setUpForm() is called
- assertThat(model.containsAttribute(userProfile),
CoreMatchers.equalTo(true));
-
+ assertThat(model.containsAttribute(userProfile),
CoreMatchers.equalTo(true));
+
//assert that the model does not contain authenticated user as
null
assertThat(model.get(userProfile), CoreMatchers.notNullValue());
assertThat(view, is(ViewNames.PERSON_PROFILE + "." +
VALID_PAGE_LAYOUT_CODE));
-
+
verify(userService, pageService);
}
@@ -150,7 +150,7 @@ public class ProfileControllerTest {
final long referringPageId = 1L;
final String USERNAME = "canonical";
String userProfile = new String(ModelKeys.USER_PROFILE);
-
+
//creating a mock authenticated user
final User authUser = new User();
authUser.setUsername(USERNAME);
@@ -161,7 +161,7 @@ public class ProfileControllerTest {
authUser.setFamilyName("Rave");
authUser.setAboutMe("Test User");
authUser.setEmail("[email protected]");
-
+
//creating a mock updated user
final User updatedUser = new User();
//set the updated status
@@ -170,32 +170,32 @@ public class ProfileControllerTest {
updatedUser.setFamilyName("Rave");
updatedUser.setAboutMe("Test User");
updatedUser.setEmail("[email protected]");
-
+
expect(userService.getAuthenticatedUser()).andReturn(authUser).anyTimes();
userService.updateUserProfile(authUser);
replay(userService);
-
+
String view = profileController.updateProfile(model,
referringPageId, updatedUser);
-
+
//assert that the model is not null
assertThat(model, CoreMatchers.notNullValue());
-
+
//assert that the model size is three
assertThat(model.size(), CoreMatchers.equalTo(modelSize));
-
+
//assert that the model does contain an attribute associated
with the authenticated user
- assertThat(model.containsAttribute(userProfile),
CoreMatchers.equalTo(true));
-
+ assertThat(model.containsAttribute(userProfile),
CoreMatchers.equalTo(true));
+
//assert that the model does not contain authenticated user as
null
assertThat(model.get(userProfile), CoreMatchers.notNullValue());
-
+
//assert that the status of user is updated
assertEquals(updatedUser.getStatus(), authUser.getStatus());
-
+
assertThat(view, is("redirect:/app/person/" + USERNAME));
-
+
verify(userService);
-
+
}
}
Modified:
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/model/NavigationItemTest.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/model/NavigationItemTest.java?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/model/NavigationItemTest.java
(original)
+++
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/model/NavigationItemTest.java
Thu May 3 21:38:26 2012
@@ -38,6 +38,7 @@ public class NavigationItemTest {
assertNotNull(navigationItem);
assertNull(navigationItem.getName());
assertNull(navigationItem.getUrl());
+ assertNull(navigationItem.getNameParam());
assertFalse(navigationItem.isExpanded());
assertFalse(navigationItem.isSelected());
assertTrue(navigationItem.getChildNavigationItems().isEmpty());
@@ -47,11 +48,13 @@ public class NavigationItemTest {
@Test
public void testNameUrlConstructor() throws Exception {
String name = "Home";
+ String nameParams = "test1";
String url="/index.html";
- NavigationItem navigationItem = new NavigationItem(name, url);
+ NavigationItem navigationItem = new NavigationItem(name, nameParams,
url);
assertNotNull(navigationItem);
assertEquals(name, navigationItem.getName());
assertEquals(url, navigationItem.getUrl());
+ assertEquals(nameParams, navigationItem.getNameParam());
assertFalse(navigationItem.isExpanded());
assertFalse(navigationItem.isSelected());
assertTrue(navigationItem.getChildNavigationItems().isEmpty());
@@ -61,18 +64,21 @@ public class NavigationItemTest {
@Test
public void testSettersGetters() throws Exception {
String name = "Home";
+ String nameParams = "test1";
String url="/index.html";
NavigationItem navigationItem = new NavigationItem();
navigationItem.setName(name);
+ navigationItem.setNameParam(nameParams);
navigationItem.setUrl(url);
navigationItem.setExpanded(true);
navigationItem.setSelected(true);
- NavigationItem childItem = new NavigationItem("About",
"/about/index.html");
+ NavigationItem childItem = new NavigationItem("About", null,
"/about/index.html");
navigationItem.addChildNavigationItem(childItem);
assertEquals(name, navigationItem.getName());
assertEquals(url, navigationItem.getUrl());
+ assertEquals(nameParams, navigationItem.getNameParam());
assertTrue(navigationItem.isExpanded());
assertTrue(navigationItem.isSelected());
assertEquals(childItem,
navigationItem.getChildNavigationItems().get(0));
Modified:
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/model/NavigationMenuTest.java
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/model/NavigationMenuTest.java?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
---
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/model/NavigationMenuTest.java
(original)
+++
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/model/NavigationMenuTest.java
Thu May 3 21:38:26 2012
@@ -44,7 +44,7 @@ public class NavigationMenuTest {
navigationMenu.setName("footermenu");
assertEquals("footermenu", navigationMenu.getName());
- NavigationItem navigationItem = new NavigationItem("contact us",
"/contact.html");
+ NavigationItem navigationItem = new NavigationItem("contact us", null,
"/contact.html");
navigationMenu.addNavigationItem(navigationItem);
assertEquals(navigationItem,
navigationMenu.getNavigationItems().get(0));
}
Modified:
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.jsp
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.jsp?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
---
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.jsp
(original)
+++
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/addwidget.jsp
Thu May 3 21:38:26 2012
@@ -19,52 +19,8 @@
<%@ page language="java" trimDirectiveWhitespaces="true" %>
<%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
<fmt:setBundle basename="messages"/>
-<div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse"
data-target=".nav-collapse">
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </a>
- <span class="brand"><fmt:message
key="page.addwidget.title"/></span>
- <div class="nav-collapse">
- <ul class="nav pull-right">
- <c:if test="${not empty referringPageId}">
- <li>
- <a href="<spring:url
value="/app/store?referringPageId=${referringPageId}" />">
- <fmt:message key="page.widget.backToStore"/>
- </a>
- </li>
- </c:if>
-
- <li>
- <c:choose>
- <c:when test="${empty referringPageId}">
- <spring:url value="/index.html"
var="gobackurl"/>
- </c:when>
- <c:otherwise>
- <spring:url
value="/app/page/view/${referringPageId}" var="gobackurl"/>
- </c:otherwise>
- </c:choose>
- <a href="<c:out value="${gobackurl}"/>"><fmt:message
key="page.general.back"/></a>
- </li>
- <sec:authorize url="/app/admin/">
- <li>
- <a href="<spring:url value="/app/admin/"/>">
- <fmt:message key="page.general.toadmininterface"/>
- </a>
- </li>
- </sec:authorize>
- <li>
- <a href="<spring:url value="/j_spring_security_logout"
htmlEscape="true" />">
- <fmt:message key="page.general.logout"/></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
-</div>
+<fmt:message key="page.addwidget.title" var="pagetitle"/>
+<rave:header pageTitle="${pagetitle}"/>
<div class="container">
<h2><fmt:message key="page.addwidget.form.header"/></h2>
Modified:
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp
(original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp
Thu May 3 21:38:26 2012
@@ -23,56 +23,16 @@
<jsp:useBean id="pages"
type="java.util.List<org.apache.rave.portal.model.Page>" scope="request"/>
<jsp:useBean id="pageLayouts"
type="java.util.List<org.apache.rave.portal.model.PageLayout>" scope="request"/>
<%--@elvariable id="page" type="org.apache.rave.portal.model.Page"--%>
-<div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse"
data-target=".nav-collapse">
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </a>
- <span class="brand">
- <fmt:message key="page.home.welcome">
- <fmt:param>
- <c:choose>
- <c:when test="${not empty
page.owner.displayName}"><c:out value="${page.owner.displayName}"/></c:when>
- <c:otherwise><c:out
value="${page.owner.username}"/></c:otherwise>
- </c:choose>
- </fmt:param>
- </fmt:message>
- </span>
- <div class="nav-collapse">
- <ul class="nav pull-right">
- <li>
- <c:set
var="profileUrl">/app/person/<sec:authentication
property="principal.username"/>?referringPageId=${page.entityId}
- </c:set>
- <a href="<spring:url value="${profileUrl}" />">
- <fmt:message key="page.profile.title">
- <fmt:param><c:out
value="${page.owner.displayName}"/></fmt:param>
- </fmt:message>
- </a>
- </li>
- <li>
- <a href="<spring:url
value="/app/store?referringPageId=${page.entityId}" />">
- <fmt:message key="page.store.title"/>
- </a>
- </li>
- <sec:authorize url="/app/admin/">
- <li>
- <a href="<spring:url value="/app/admin/"/>">
- <fmt:message key="page.general.toadmininterface"/>
- </a>
- </li>
- </sec:authorize>
- <li>
- <a href="<spring:url value="/j_spring_security_logout"
htmlEscape="true" />">
- <fmt:message key="page.general.logout"/></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
-</div>
+
+<fmt:message key="page.home.welcome" var="pagetitle">
+ <fmt:param>
+ <c:choose>
+ <c:when test="${not empty page.owner.displayName}"><c:out
value="${page.owner.displayName}"/></c:when>
+ <c:otherwise><c:out value="${page.owner.username}"/></c:otherwise>
+ </c:choose>
+ </fmt:param>
+</fmt:message>
+<rave:header pageTitle="${pagetitle}"/>
<input id="currentPageId" type="hidden" value="${page.entityId}"/>
<c:set var="hasOnlyOnePage" scope="request">
Modified:
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/personProfile.jsp
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/personProfile.jsp?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
---
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/personProfile.jsp
(original)
+++
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/personProfile.jsp
Thu May 3 21:38:26 2012
@@ -41,53 +41,15 @@
<!-- get the title of contact information -->
<fmt:message key="page.personProfile.contact.info" var="contactInfo"/>
-<div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse"
data-target=".nav-collapse">
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </a>
- <span class="brand">
- <fmt:message key="page.home.welcome">
- <fmt:param>
- <c:choose>
- <c:when test="${not empty
page.owner.displayName}"><c:out value="${page.owner.displayName}"/></c:when>
- <c:otherwise><c:out
value="${page.owner.username}"/></c:otherwise>
- </c:choose>
- </fmt:param>
- </fmt:message>
- </span>
- <div class="nav-collapse">
- <ul class="nav pull-right">
- <li>
- <c:choose>
- <c:when test="${empty referringPageId}">
- <spring:url value="/index.html"
var="gobackurl"/>
- </c:when>
- <c:otherwise>
- <spring:url
value="/app/page/view/${referringPageId}" var="gobackurl"/>
- </c:otherwise>
- </c:choose>
- <a href="<c:out value="${gobackurl}"/>"><fmt:message
key="page.general.back"/></a>
- </li>
- <sec:authorize url="/app/admin/">
- <li>
- <a href="<spring:url value="/app/admin/"/>">
- <fmt:message key="page.general.toadmininterface"/>
- </a>
- </li>
- </sec:authorize>
- <li>
- <a href="<spring:url value="/j_spring_security_logout"
htmlEscape="true" />">
- <fmt:message key="page.general.logout"/></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
-</div>
+<fmt:message key="page.home.welcome" var="pagetitle">
+ <fmt:param>
+ <c:choose>
+ <c:when test="${not empty page.owner.displayName}"><c:out
value="${page.owner.displayName}"/></c:when>
+ <c:otherwise><c:out value="${page.owner.username}"/></c:otherwise>
+ </c:choose>
+ </fmt:param>
+</fmt:message>
+<rave:header pageTitle="${pagetitle}"/>
<div id="pageContent" class="container-fluid navbar-spacer">
<div class="row-fluid">
@@ -197,4 +159,4 @@
rave.personprofile.init();
});
</script>
-</portal:register-init-script>
\ No newline at end of file
+</portal:register-init-script>
Modified:
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/store.jsp
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/store.jsp?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
---
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/store.jsp
(original)
+++
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/store.jsp
Thu May 3 21:38:26 2012
@@ -19,49 +19,7 @@
<%@ page language="java" trimDirectiveWhitespaces="true" %>
<%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
<fmt:setBundle basename="messages"/>
-<div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse"
data-target=".nav-collapse">
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </a>
- <span class="brand">${pagetitle}</span>
- <div class="nav-collapse">
- <ul class="nav pull-right">
- <li>
- <a href="<spring:url
value="/app/store/widget/add?referringPageId=${referringPageId}"/>"><fmt:message
- key="page.addwidget.title"/></a>
- </li>
- <li>
- <c:choose>
- <c:when test="${empty referringPageId}">
- <spring:url value="/index.html"
var="gobackurl"/>
- </c:when>
- <c:otherwise>
- <spring:url
value="/app/page/view/${referringPageId}" var="gobackurl"/>
- </c:otherwise>
- </c:choose>
- <a href="<c:out value="${gobackurl}"/>"><fmt:message
key="page.general.back"/></a>
- </li>
-
- <sec:authorize url="/app/admin/">
- <li>
- <a href="<spring:url value="/app/admin/"/>">
- <fmt:message key="page.general.toadmininterface"/>
- </a>
- </li>
- </sec:authorize>
- <li>
- <a href="<spring:url value="/j_spring_security_logout"
htmlEscape="true" />">
- <fmt:message key="page.general.logout"/></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
-</div>
+<rave:header pageTitle="${pagetitle}"/>
<div class="container-fluid navbar-spacer">
<div class="row-fluid">
Modified:
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/widget.jsp
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/widget.jsp?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
---
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/widget.jsp
(original)
+++
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/widget.jsp
Thu May 3 21:38:26 2012
@@ -19,51 +19,7 @@
<%@ page language="java" trimDirectiveWhitespaces="true" %>
<%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
<fmt:setBundle basename="messages"/>
-<div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <a class="btn btn-navbar" data-toggle="collapse"
data-target=".nav-collapse">
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </a>
- <span class="brand"><c:out value="${widget.title}"/></span>
- <div class="nav-collapse">
- <ul class="nav pull-right">
- <c:if test="${not empty referringPageId}">
- <li>
- <a href="<spring:url
value="/app/store?referringPageId=${referringPageId}" />">
- <fmt:message key="page.widget.backToStore"/>
- </a>
- </li>
- </c:if>
- <li>
- <c:choose>
- <c:when test="${empty referringPageId}">
- <spring:url value="/index.html"
var="gobackurl"/>
- </c:when>
- <c:otherwise>
- <spring:url
value="/app/page/view/${referringPageId}" var="gobackurl"/>
- </c:otherwise>
- </c:choose>
- <a href="<c:out value="${gobackurl}"/>"><fmt:message
key="page.general.back"/></a>
- </li>
- <sec:authorize url="/app/admin/">
- <li>
- <a href="<spring:url value="/app/admin/"/>">
- <fmt:message
key="page.general.toadmininterface"/>
- </a>
- </li>
- </sec:authorize>
- <li>
- <a href="<spring:url value="/j_spring_security_logout"
htmlEscape="true" />">
- <fmt:message key="page.general.logout"/></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
-</div>
+<rave:header pageTitle="${widget.title}"/>
<div id="na_content" class="container-fluid">
<div class="row-fluid detail-widget">
@@ -291,4 +247,4 @@
rave.store.initTags("<c:out value="${widget.entityId}"/>");
});
</script>
-</portal:register-init-script>
\ No newline at end of file
+</portal:register-init-script>
Modified:
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/header.tag
URL:
http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/header.tag?rev=1333637&r1=1333636&r2=1333637&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/header.tag
(original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/header.tag
Thu May 3 21:38:26 2012
@@ -19,6 +19,7 @@
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
<%@ attribute name="pageTitle" required="false" description="The title of the
page" %>
<fmt:setBundle basename="messages"/>
<c:if test="${not empty topnav}">
@@ -33,12 +34,22 @@
</a>
<span class="brand"><c:out value="${pageTitle}"/></span>
<div class="nav-collapse">
- <ul class="nav pull-right">
- <c:forEach items="${topnav.navigationItems}"
var="navItem">
- <li><a href="<spring:url
value="${navItem.url}"/>"><fmt:message key="${navItem.name}"/></a></li>
- </c:forEach>
- </ul>
- </div>
+ <ul class="nav pull-right">
+ <%--@elvariable id="navItem"
type="org.apache.rave.portal.web.model.NavigationItem"--%>
+ <c:forEach items="${topnav.navigationItems}"
var="navItem">
+ <sec:authorize url="${navItem.url}">
+ <c:choose>
+ <c:when test="${not empty
navItem.nameParam}">
+ <li><a href="<spring:url
value="${navItem.url}"/>"><fmt:message key="${navItem.name}">
+ <fmt:param><c:out
value="${navItem.nameParam}"/></fmt:param>
+ </fmt:message></a></li>
+ </c:when>
+ <c:otherwise><li><a href="<spring:url
value="${navItem.url}"/>"><fmt:message
key="${navItem.name}"/></a></li></c:otherwise>
+ </c:choose>
+ </sec:authorize>
+ </c:forEach>
+ </ul>
+ </div>
</div>
</div>
</div>