You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by ra...@apache.org on 2012/08/24 18:40:33 UTC
svn commit: r1376988 - in /rave/trunk/rave-components/rave-web/src:
main/java/org/apache/rave/portal/web/controller/
main/java/org/apache/rave/portal/web/controller/util/
test/java/org/apache/rave/portal/web/controller/
Author: raminder
Date: Fri Aug 24 16:40:32 2012
New Revision: 1376988
URL: http://svn.apache.org/viewvc?rev=1376988&view=rev
Log:
RAVE-771. Added a separate method for userid and rolled back the username method.
Modified:
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/util/ControllerUtils.java
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/ProfileControllerTest.java
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=1376988&r1=1376987&r2=1376988&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 Fri Aug 24 16:40:32 2012
@@ -62,13 +62,32 @@ public class ProfileController {
/**
* Views the main page of another user's profile
*
- * @param userid userid
+ * @param username username (allows for a period in the username)
* @param model {@link Model} map
* @param referringPageId page reference id (optional)
* @return the view name of the user profile page
*/
-
- @RequestMapping(value = {"/{userid:.*}"}, method = RequestMethod.GET)
+ @RequestMapping(value = {"/{username:.*}"}, method = RequestMethod.GET)
+ public String viewProfile(@PathVariable String username, ModelMap model, @RequestParam(required = false) Long referringPageId) {
+ logger.debug("Viewing person profile for: " + username);
+ User user = userService.getUserByUsername(username);
+ Page personProfilePage = pageService.getPersonProfilePage(user.getId());
+ addAttributesToModel(model, user, referringPageId);
+ model.addAttribute(ModelKeys.PAGE, personProfilePage);
+ String view = ViewNames.getPersonPageView(personProfilePage.getPageLayout().getCode());
+ List<Person> friendRequests = userService.getFriendRequestsReceived(username);
+ addNavItemsToModel(view, model, referringPageId, user, friendRequests);
+ return view;
+ }
+ /**
+ * Views the main page of another user's profile
+ *
+ * @param userid user entity id
+ * @param model {@link Model} map
+ * @param referringPageId page reference id (optional)
+ * @return the view name of the user profile page
+ */
+ @RequestMapping(value = {"/id/{userid:.*}"}, method = RequestMethod.GET)
public String viewProfile(@PathVariable Long userid, ModelMap model, @RequestParam(required = false) Long referringPageId) {
User user = userService.getUserById(userid);
logger.debug("Viewing person profile for: " + user.getUsername());
@@ -81,6 +100,7 @@ public class ProfileController {
addNavItemsToModel(view, model, referringPageId, user, friendRequests);
return view;
}
+
/**
* Updates the user's personal information
*
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=1376988&r1=1376987&r2=1376988&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 Fri Aug 24 16:40:32 2012
@@ -72,7 +72,7 @@ public class ControllerUtils {
public static NavigationMenu getTopMenu(String view, long referringPageId, User user, boolean addStoreLink) {
NavigationMenu menu = new NavigationMenu("topnav");
if(view.startsWith(ViewNames.PAGE) || view.startsWith(ViewNames.MOBILE_HOME)) {
- NavigationItem profile = new NavigationItem("page.profile.title", getDisplayName(user), "/app/person/" + user.getId() + "?referringPageId=" + referringPageId);
+ NavigationItem profile = new NavigationItem("page.profile.title", getDisplayName(user), "/app/person/id/" + user.getId() + "?referringPageId=" + referringPageId);
menu.addNavigationItem(profile);
if(addStoreLink){
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=1376988&r1=1376987&r2=1376988&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 Fri Aug 24 16:40:32 2012
@@ -106,6 +106,47 @@ public class ProfileControllerTest {
personProfile.setPageLayout(pageLayout);
List<Person> personObjects = new ArrayList<Person>();
+ expect(userService.getUserByUsername(username)).andReturn(user).once();
+ expect(pageService.getPersonProfilePage(user.getId())).andReturn(personProfile);
+ expect(userService.getFriendRequestsReceived(username)).andReturn(personObjects);
+
+ 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 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));
+
+ //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);
+ }
+
+ @Test
+ public void viewPerson_userid() {
+ //creating a mock user
+ final UserImpl user = new UserImpl();
+ final ModelMap model = new ModelMap();
+ final int modelSize = 4;
+ final String username="canonical";
+ user.setUsername(username);
+ user.setId(USER_ID);
+ String userProfile = new String(ModelKeys.USER_PROFILE);
+ Page personProfile = new PageImpl();
+ PageLayout pageLayout = new PageLayoutImpl();
+ pageLayout.setCode(VALID_PAGE_LAYOUT_CODE);
+ personProfile.setPageLayout(pageLayout);
+ List<Person> personObjects = new ArrayList<Person>();
+
expect(userService.getUserById(USER_ID)).andReturn(user).once();
expect(pageService.getPersonProfilePage(user.getId())).andReturn(personProfile);
expect(userService.getFriendRequestsReceived(username)).andReturn(personObjects);
@@ -137,17 +178,17 @@ public class ProfileControllerTest {
final User user = null;
final ModelMap model = new ModelMap();
final int modelSize = 4;
- final String username="canonical";
+ final String username="Canonical";
Page personProfile = new PageImpl();
PageLayout pageLayout = new PageLayoutImpl();
pageLayout.setCode("person_profile");
personProfile.setPageLayout(pageLayout);
- expect(userService.getUserById(USER_ID)).andThrow(new UsernameNotFoundException("Username does not exist"));
+ expect(userService.getUserByUsername(username)).andThrow(new UsernameNotFoundException("Username does not exist"));
replay(userService, pageService);
- profileController.viewProfile(USER_ID, model, null);
+ profileController.viewProfile(username, model, null);
verify(userService, pageService);
}