You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2013/03/06 16:30:35 UTC

svn commit: r1453386 - in /rave/branches/0.20.1: rave-components/rave-core/src/main/java/org/apache/rave/portal/service/ rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/ rave-components/rave-web/src/main/java/org/apache/rave...

Author: mfranklin
Date: Wed Mar  6 15:30:35 2013
New Revision: 1453386

URL: http://svn.apache.org/r1453386
Log:
Applied refactoring patch

Removed:
    rave/branches/0.20.1/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/UserApi.java
Modified:
    rave/branches/0.20.1/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/UserService.java
    rave/branches/0.20.1/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultUserService.java
    rave/branches/0.20.1/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PersonApi.java
    rave/branches/0.20.1/rave-portal-resources/src/main/webapp/static/script/rave_api.js

Modified: rave/branches/0.20.1/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/UserService.java
URL: http://svn.apache.org/viewvc/rave/branches/0.20.1/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/UserService.java?rev=1453386&r1=1453385&r2=1453386&view=diff
==============================================================================
--- rave/branches/0.20.1/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/UserService.java (original)
+++ rave/branches/0.20.1/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/UserService.java Wed Mar  6 15:30:35 2013
@@ -206,4 +206,23 @@ public interface UserService extends Use
      */
 	User getUserByOpenId(String openId);
 
+    /**
+     * Gets a limited {@link SearchResult} for {@link org.apache.rave.portal.model.Person}'s
+     *
+     * @param offset   start point within the resultset (for paging)
+     * @param pageSize maximum number of items to be returned (for paging)
+     * @return SearchResult
+     */
+    SearchResult<Person> getLimitedListOfPersons(int offset, int pageSize);
+
+    /**
+     * Gets a {@link SearchResult} for {@link org.apache.rave.portal.model.Person}'s that match the search term
+     *
+     * @param searchTerm free text input to search on users
+     * @param offset     start point within the resultset (for paging)
+     * @param pageSize   maximum number of items to be returned (for paging)
+     * @return SearchResult
+     */
+    SearchResult<Person> getPersonsByFreeTextSearch(String searchTerm, int offset, int pageSize);
+
 }
\ No newline at end of file

Modified: rave/branches/0.20.1/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultUserService.java
URL: http://svn.apache.org/viewvc/rave/branches/0.20.1/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultUserService.java?rev=1453386&r1=1453385&r2=1453386&view=diff
==============================================================================
--- rave/branches/0.20.1/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultUserService.java (original)
+++ rave/branches/0.20.1/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultUserService.java Wed Mar  6 15:30:35 2013
@@ -223,6 +223,21 @@ public class DefaultUserService implemen
         searchResult.setPageSize(pageSize);
         return searchResult;
     }
+ 
+    
+    @Override
+    public SearchResult<Person> getLimitedListOfPersons(int offset, int pageSize) {
+        SearchResult<User> users = getLimitedListOfUsers(offset, pageSize);
+        int count = users.getTotalResults();
+        List<Person> people = new ArrayList<Person>();
+        Person person = null;
+        for(User user : users.getResultSet()){
+            person = user.toPerson();
+            person.setId(user.getId());
+            people.add(person);
+        }
+        return new SearchResult<Person>(people, count);
+    }
 
     @Override
     public SearchResult<User> getUsersByFreeTextSearch(String searchTerm, int offset, int pageSize) {
@@ -233,6 +248,20 @@ public class DefaultUserService implemen
         searchResult.setPageSize(pageSize);
         return searchResult;
     }
+    
+    @Override
+    public SearchResult<Person> getPersonsByFreeTextSearch(String searchTerm, int offset, int pageSize) {
+        SearchResult<User> users = getUsersByFreeTextSearch(searchTerm, offset, pageSize);
+        int count = users.getTotalResults();
+        List<Person> people = new ArrayList<Person>();
+        Person person = null;
+        for(User user : users.getResultSet()){
+            person = user.toPerson();
+            person.setId(user.getId());
+            people.add(person);
+        }
+        return new SearchResult<Person>(people, count);
+    }
 
     @Override
     @Transactional

Modified: rave/branches/0.20.1/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PersonApi.java
URL: http://svn.apache.org/viewvc/rave/branches/0.20.1/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PersonApi.java?rev=1453386&r1=1453385&r2=1453386&view=diff
==============================================================================
--- rave/branches/0.20.1/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PersonApi.java (original)
+++ rave/branches/0.20.1/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PersonApi.java Wed Mar  6 15:30:35 2013
@@ -18,21 +18,19 @@
  */
 package org.apache.rave.portal.web.api.rpc;
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.util.HashMap;
-import java.util.List;
-
 import org.apache.rave.portal.model.Person;
+import org.apache.rave.portal.model.util.SearchResult;
 import org.apache.rave.portal.service.UserService;
 import org.apache.rave.portal.web.api.rpc.model.RpcOperation;
 import org.apache.rave.portal.web.api.rpc.model.RpcResult;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.HashMap;
+import java.util.List;
 
 /**
  * Defines RPC operations for adding and removing friends
@@ -41,6 +39,8 @@ import org.springframework.web.bind.anno
 @RequestMapping(value = "/api/rpc/person/*")
 public class PersonApi {
 
+    public static final int DEFAULT_PAGE_SIZE = 10;
+
     private final UserService userService;
 
     @Autowired
@@ -130,4 +130,26 @@ public class PersonApi {
     		}
     	}.getResult();
     }
+    
+    @ResponseBody
+    @RequestMapping(method = RequestMethod.GET, value = "get")
+    public RpcResult<SearchResult<Person>> viewUsers(@RequestParam final int offset) {
+        return new RpcOperation<SearchResult<Person>>() {
+            @Override
+            public SearchResult<Person> execute() {
+                return userService.getLimitedListOfPersons(offset, DEFAULT_PAGE_SIZE);
+            }
+        }.getResult();
+    }
+
+    @ResponseBody
+    @RequestMapping(method = RequestMethod.GET, value = "search")
+    public RpcResult<SearchResult<Person>> searchUsers(@RequestParam final String searchTerm, @RequestParam final int offset) {
+        return new RpcOperation<SearchResult<Person>>() {
+            @Override
+            public SearchResult<Person> execute() {
+                return userService.getPersonsByFreeTextSearch(searchTerm, offset, DEFAULT_PAGE_SIZE);
+            }
+        }.getResult();
+    }
 }
\ No newline at end of file

Modified: rave/branches/0.20.1/rave-portal-resources/src/main/webapp/static/script/rave_api.js
URL: http://svn.apache.org/viewvc/rave/branches/0.20.1/rave-portal-resources/src/main/webapp/static/script/rave_api.js?rev=1453386&r1=1453385&r2=1453386&view=diff
==============================================================================
--- rave/branches/0.20.1/rave-portal-resources/src/main/webapp/static/script/rave_api.js (original)
+++ rave/branches/0.20.1/rave-portal-resources/src/main/webapp/static/script/rave_api.js Wed Mar  6 15:30:35 2013
@@ -254,10 +254,10 @@ rave.api = rave.api || (function() {
 
                         if (addedWidget != undefined && addedWidget.title != undefined && addedWidget.title.length > 0) {
                             widgetTitle = addedWidget.title;
-                        }
-                        // if a callback is supplied, invoke it with the regionwidget id
-                        if (args.successCallback && addedWidget != undefined){
-                            args.successCallback(result.result.id);
+                        }
+                        // if a callback is supplied, invoke it with the regionwidget id
+                        if (args.successCallback && addedWidget != undefined){
+                            args.successCallback(result.result.id);
                         }
                         rave.showInfoMessage(widgetTitle + ' ' + rave.getClientMessage("widget.add_suffix"));
                         
@@ -490,7 +490,7 @@ rave.api = rave.api || (function() {
 
         function getUsers(args){
             var offset = args.offset;
-            $.get(rave.getContext() + path + "users/get",
+            $.get(rave.getContext() + path + "person/get",
                 {"offset": offset},
                 function(result) {
                     if (result.error) {
@@ -511,7 +511,7 @@ rave.api = rave.api || (function() {
                 alert(rave.getClientMessage("api.rpc.empty.search.term"));
                 return;
             }
-            $.get(rave.getContext() + path + "users/search",
+            $.get(rave.getContext() + path + "person/search",
                     {"searchTerm": searchTerm, "offset": offset},
                     function(result) {
                         if (result.error) {