Author: psharples
Date: Tue Mar  5 03:36:07 2013
New Revision: 1452652

URL: http://svn.apache.org/r1452652
Log:
Update to remove user objects being accessed via rpc endpoint and instead use 
person objects.

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

Modified: 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/UserService.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/UserService.java?rev=1452652&r1=1452651&r2=1452652&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/UserService.java
 (original)
+++ 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/UserService.java
 Tue Mar  5 03:36:07 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/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultUserService.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultUserService.java?rev=1452652&r1=1452651&r2=1452652&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultUserService.java
 (original)
+++ 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultUserService.java
 Tue Mar  5 03:36:07 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/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PersonApi.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PersonApi.java?rev=1452652&r1=1452651&r2=1452652&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PersonApi.java
 (original)
+++ 
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PersonApi.java
 Tue Mar  5 03:36:07 2013
@@ -24,6 +24,7 @@ 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;
@@ -32,6 +33,7 @@ import org.springframework.stereotype.Co
 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.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 /**
@@ -41,6 +43,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 +134,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/trunk/rave-portal-resources/src/main/webapp/static/script/rave_api.js
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/static/script/rave_api.js?rev=1452652&r1=1452651&r2=1452652&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/static/script/rave_api.js 
(original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/static/script/rave_api.js 
Tue Mar  5 03:36:07 2013
@@ -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) {


Reply via email to