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


Reply via email to