You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by do...@apache.org on 2008/08/26 21:49:39 UTC
svn commit: r689187 - in /incubator/shindig/trunk/java/social-api/src:
main/java/org/apache/shindig/social/opensocial/service/
main/java/org/apache/shindig/social/opensocial/spi/
main/java/org/apache/shindig/social/sample/spi/ test/java/org/apache/shin...
Author: doll
Date: Tue Aug 26 12:49:38 2008
New Revision: 689187
URL: http://svn.apache.org/viewvc?rev=689187&view=rev
Log:
0.8.1 change
Filters and sorts can now be any field.. or special opensocial js value... so they are now strings. I added string constants for the opensocial specific ones - topFriends and hasApp.
Dealing with strings instead of enums isn't as much fun but I didn't see an easy way to give the kind of flexibility that is now needed for sorts and filters.
Modified:
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/RequestItem.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptions.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/PersonService.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RestfulRequestItemTest.java
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RpcRequestItemTest.java
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialServiceTest.java
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/RequestItem.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/RequestItem.java?rev=689187&r1=689186&r2=689187&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/RequestItem.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/RequestItem.java Tue Aug 26 12:49:38 2008
@@ -118,11 +118,9 @@
return count == null ? DEFAULT_COUNT : Integer.valueOf(count);
}
- public PersonService.SortBy getSortBy() {
+ public String getSortBy() {
String sortBy = getParameter(SORT_BY);
- return sortBy == null
- ? PersonService.SortBy.topFriends
- : PersonService.SortBy.valueOf(sortBy);
+ return sortBy == null ? PersonService.TOP_FRIENDS_SORT : sortBy;
}
public PersonService.SortOrder getSortOrder() {
@@ -132,11 +130,8 @@
: PersonService.SortOrder.valueOf(sortOrder);
}
- public PersonService.FilterType getFilterBy() {
- String filterBy = getParameter(FILTER_BY);
- return filterBy == null
- ? PersonService.FilterType.all
- : PersonService.FilterType.valueOf(filterBy);
+ public String getFilterBy() {
+ return getParameter(FILTER_BY);
}
public PersonService.FilterOperation getFilterOperation() {
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptions.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptions.java?rev=689187&r1=689186&r2=689187&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptions.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/CollectionOptions.java Tue Aug 26 12:49:38 2008
@@ -20,19 +20,23 @@
import org.apache.commons.lang.StringUtils;
public class CollectionOptions {
- private PersonService.SortBy sortBy;
+ private String sortBy;
private PersonService.SortOrder sortOrder;
- private PersonService.FilterType filter;
+ private String filter;
private PersonService.FilterOperation filterOperation;
private String filterValue;
private int first;
private int max;
- public PersonService.SortBy getSortBy() {
+ /**
+ * This sortBy can be any field of the object being sorted or the special js sort of topFriends.
+ * @return The field to sort by
+ */
+ public String getSortBy() {
return sortBy;
}
- public void setSortBy(PersonService.SortBy sortBy) {
+ public void setSortBy(String sortBy) {
this.sortBy = sortBy;
}
@@ -44,11 +48,16 @@
this.sortOrder = sortOrder;
}
- public PersonService.FilterType getFilter() {
+ /**
+ * This filter can be any field of the object being filtered or the special js filters,
+ * hasApp or topFriends.
+ * @return The field to filter by
+ */
+ public String getFilter() {
return filter;
}
- public void setFilter(PersonService.FilterType filter) {
+ public void setFilter(String filter) {
this.filter = filter;
}
@@ -92,9 +101,9 @@
}
CollectionOptions actual = (CollectionOptions) o;
- return this.sortBy == actual.sortBy
+ return StringUtils.equals(this.sortBy, actual.sortBy)
&& this.sortOrder == actual.sortOrder
- && this.filter == actual.filter
+ && StringUtils.equals(this.filter, actual.filter)
&& this.filterOperation == actual.filterOperation
&& StringUtils.equals(this.filterValue, actual.filterValue)
&& this.first == actual.first
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/PersonService.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/PersonService.java?rev=689187&r1=689186&r2=689187&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/PersonService.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/PersonService.java Tue Aug 26 12:49:38 2008
@@ -30,18 +30,14 @@
public interface PersonService {
- public enum SortBy {
- topFriends, name
- }
+ public static String TOP_FRIENDS_SORT = "topFriends";
+ public static String TOP_FRIENDS_FILTER = "topFriends";
+ public static String HAS_APP_FILTER = "hasApp";
public enum SortOrder {
ascending, descending
}
- public enum FilterType {
- all, hasApp, topFriends
- }
-
public enum FilterOperation {
contains, equals, startsWith, present
}
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java?rev=689187&r1=689186&r2=689187&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java Tue Aug 26 12:49:38 2008
@@ -255,7 +255,7 @@
}
// We can pretend that by default the people are in top friends order
- if (options.getSortBy().equals(SortBy.name)) {
+ if (options.getSortBy().equals(Person.Field.NAME.toString())) {
Collections.sort(result, NAME_COMPARATOR);
}
Modified: incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java?rev=689187&r1=689186&r2=689187&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java (original)
+++ incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java Tue Aug 26 12:49:38 2008
@@ -52,9 +52,9 @@
private static CollectionOptions DEFAULT_OPTIONS = new CollectionOptions();
static {
- DEFAULT_OPTIONS.setSortBy(PersonService.SortBy.topFriends);
+ DEFAULT_OPTIONS.setSortBy(PersonService.TOP_FRIENDS_SORT);
DEFAULT_OPTIONS.setSortOrder(PersonService.SortOrder.ascending);
- DEFAULT_OPTIONS.setFilter(PersonService.FilterType.all);
+ DEFAULT_OPTIONS.setFilter(null);
DEFAULT_OPTIONS.setFilterOperation(PersonService.FilterOperation.contains);
DEFAULT_OPTIONS.setFilterValue("");
DEFAULT_OPTIONS.setFirst(0);
@@ -132,18 +132,18 @@
public void testHandleGetFriendsWithParams() throws Exception {
CollectionOptions options = new CollectionOptions();
- options.setSortBy(PersonService.SortBy.name);
+ options.setSortBy(Person.Field.NAME.toString());
options.setSortOrder(PersonService.SortOrder.descending);
- options.setFilter(PersonService.FilterType.topFriends);
+ options.setFilter(PersonService.TOP_FRIENDS_FILTER);
options.setFilterOperation(PersonService.FilterOperation.present);
options.setFilterValue("cassie");
options.setFirst(5);
options.setMax(10);
Map<String, String> params = Maps.newHashMap();
- params.put("sortBy", options.getSortBy().toString());
+ params.put("sortBy", options.getSortBy());
params.put("sortOrder", options.getSortOrder().toString());
- params.put("filterBy", options.getFilter().toString());
+ params.put("filterBy", options.getFilter());
params.put("filterOp", options.getFilterOperation().toString());
params.put("filterValue", options.getFilterValue());
params.put("startIndex", "5");
Modified: incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RestfulRequestItemTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RestfulRequestItemTest.java?rev=689187&r1=689186&r2=689187&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RestfulRequestItemTest.java (original)
+++ incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RestfulRequestItemTest.java Tue Aug 26 12:49:38 2008
@@ -103,14 +103,6 @@
assertEquals(5, request.getCount());
}
- public void testSortBy() throws Exception {
- request.setParameter("sortBy", null);
- assertEquals(PersonService.SortBy.topFriends, request.getSortBy());
-
- request.setParameter("sortBy", "name");
- assertEquals(PersonService.SortBy.name, request.getSortBy());
- }
-
public void testSortOrder() throws Exception {
request.setParameter("sortOrder", null);
assertEquals(PersonService.SortOrder.ascending, request.getSortOrder());
@@ -119,14 +111,6 @@
assertEquals(PersonService.SortOrder.descending, request.getSortOrder());
}
- public void testFilterBy() throws Exception {
- request.setParameter("filterBy", null);
- assertEquals(PersonService.FilterType.all, request.getFilterBy());
-
- request.setParameter("filterBy", "hasApp");
- assertEquals(PersonService.FilterType.hasApp, request.getFilterBy());
- }
-
public void testFields() throws Exception {
request.setListParameter("fields", Collections.<String>emptyList());
assertEquals(Sets.<String>newHashSet(), request.getFields());
Modified: incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RpcRequestItemTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RpcRequestItemTest.java?rev=689187&r1=689186&r2=689187&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RpcRequestItemTest.java (original)
+++ incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/RpcRequestItemTest.java Tue Aug 26 12:49:38 2008
@@ -100,10 +100,10 @@
public void testSortBy() throws Exception {
request.setParameter("sortBy", null);
- assertEquals(PersonService.SortBy.topFriends, request.getSortBy());
+ assertEquals("topFriends", request.getSortBy());
request.setParameter("sortBy", "name");
- assertEquals(PersonService.SortBy.name, request.getSortBy());
+ assertEquals("name", request.getSortBy());
}
public void testSortOrder() throws Exception {
@@ -116,10 +116,10 @@
public void testFilterBy() throws Exception {
request.setParameter("filterBy", null);
- assertEquals(PersonService.FilterType.all, request.getFilterBy());
+ assertEquals(null, request.getFilterBy());
request.setParameter("filterBy", "hasApp");
- assertEquals(PersonService.FilterType.hasApp, request.getFilterBy());
+ assertEquals("hasApp", request.getFilterBy());
}
public void testFilterOperation() throws Exception {
Modified: incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialServiceTest.java?rev=689187&r1=689186&r2=689187&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialServiceTest.java (original)
+++ incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialServiceTest.java Tue Aug 26 12:49:38 2008
@@ -80,9 +80,9 @@
public void testGetExpectedFriends() throws Exception {
CollectionOptions options = new CollectionOptions();
- options.setSortBy(PersonService.SortBy.topFriends);
+ options.setSortBy(PersonService.TOP_FRIENDS_SORT);
options.setSortOrder(PersonService.SortOrder.ascending);
- options.setFilter(PersonService.FilterType.all);
+ options.setFilter(null);
options.setFilterOperation(PersonService.FilterOperation.contains);
options.setFilterValue("");
options.setFirst(0);
@@ -100,9 +100,9 @@
public void testGetExpectedUsersForPlural() throws Exception {
CollectionOptions options = new CollectionOptions();
- options.setSortBy(PersonService.SortBy.topFriends);
+ options.setSortBy(PersonService.TOP_FRIENDS_SORT);
options.setSortOrder(PersonService.SortOrder.ascending);
- options.setFilter(PersonService.FilterType.all);
+ options.setFilter(null);
options.setFilterOperation(PersonService.FilterOperation.contains);
options.setFilterValue("");
options.setFirst(0);