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