Author: mfranklin
Date: Mon Oct 22 13:24:58 2012
New Revision: 1400872
URL: http://svn.apache.org/viewvc?rev=1400872&view=rev
Log:
Added sorting of users & widgets
Removed:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplateConverter.java
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverter.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverter.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPersonRepository.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbUserRepository.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java?rev=1400872&r1=1400871&r2=1400872&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java
Mon Oct 22 13:24:58 2012
@@ -40,7 +40,8 @@ public class MongoDbUser extends UserImp
private List<String> authorityCodes;
private List<MongoDbPersonAssociation> friends;
- @XmlTransient @JsonIgnore
+ @XmlTransient
+ @JsonIgnore
private PageLayoutRepository pageLayoutRepository;
public MongoDbUser(long id) {
@@ -67,26 +68,35 @@ public class MongoDbUser extends UserImp
}
@Override
+ public void setAuthorities(Collection<Authority> authorities) {
+ if (authorities != null) {
+ for (GrantedAuthority authority : authorities) {
+ addAuthorityCode(authority);
+ }
+ } else {
+ authorityCodes.clear();
+ }
+ }
+
+ @Override
public Collection<GrantedAuthority> getAuthorities() {
+ verifyAuthorityCodes();
Collection<GrantedAuthority> grantedAuthorities = Lists.newArrayList();
- if (authorityCodes != null) {
- for (String code : authorityCodes) {
- grantedAuthorities.add(new SimpleGrantedAuthority(code));
- }
+ for (String code : authorityCodes) {
+ grantedAuthorities.add(new SimpleGrantedAuthority(code));
}
return grantedAuthorities;
}
@Override
public void addAuthority(Authority authority) {
- if(!authorityCodes.contains(authority.getAuthority())) {
- authorityCodes.add(authority.getAuthority());
- }
+ addAuthorityCode(authority);
}
@Override
public void removeAuthority(Authority authority) {
- if(authorityCodes.contains(authority.getAuthority())) {
+ verifyAuthorityCodes();
+ if (authorityCodes.contains(authority.getAuthority())) {
authorityCodes.remove(authority.getAuthority());
}
}
@@ -94,7 +104,7 @@ public class MongoDbUser extends UserImp
@Override
public PageLayout getDefaultPageLayout() {
PageLayout layout = super.getDefaultPageLayout();
- if(layout == null) {
+ if (layout == null) {
layout =
pageLayoutRepository.getByPageLayoutCode(super.getDefaultPageLayoutCode());
super.setDefaultPageLayout(layout);
}
@@ -104,4 +114,17 @@ public class MongoDbUser extends UserImp
public void setPageLayoutRepository(PageLayoutRepository
pageLayoutRepository) {
this.pageLayoutRepository = pageLayoutRepository;
}
+
+ private void verifyAuthorityCodes() {
+ if (authorityCodes == null) {
+ authorityCodes = Lists.newArrayList();
+ }
+ }
+
+ private void addAuthorityCode(GrantedAuthority authority) {
+ verifyAuthorityCodes();
+ if (!authorityCodes.contains(authority.getAuthority())) {
+ authorityCodes.add(authority.getAuthority());
+ }
+ }
}
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverter.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverter.java?rev=1400872&r1=1400871&r2=1400872&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverter.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverter.java
Mon Oct 22 13:24:58 2012
@@ -79,7 +79,7 @@ public class MongoDbPageConverter implem
region.setPage(null);
convert(region);
}
- if (page.getSubPages() != null) {
+ if (sourcePage.getSubPages() != null) {
List<Page> convertedPages = Lists.newArrayList();
for (Page subPage : sourcePage.getSubPages()) {
convertedPages.add(convert(subPage));
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverter.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverter.java?rev=1400872&r1=1400871&r2=1400872&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverter.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverter.java
Mon Oct 22 13:24:58 2012
@@ -20,6 +20,7 @@
package org.apache.rave.portal.model.conversion.impl;
import com.google.common.collect.Lists;
+import org.apache.rave.portal.model.MongoDbPersonAssociation;
import org.apache.rave.portal.model.MongoDbUser;
import org.apache.rave.portal.model.User;
import org.apache.rave.portal.model.conversion.HydratingModelConverter;
@@ -42,6 +43,12 @@ public class MongoDbUserConverter implem
if(dehydrated == null) {
return;
}
+ if(dehydrated.getFriends() == null) {
+
dehydrated.setFriends(Lists.<MongoDbPersonAssociation>newArrayList());
+ }
+ if(dehydrated.getAuthorityCodes() == null) {
+ dehydrated.setAuthorityCodes(Lists.<String>newArrayList());
+ }
dehydrated.setPageLayoutRepository(pageLayoutRepository);
}
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPersonRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPersonRepository.java?rev=1400872&r1=1400871&r2=1400872&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPersonRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPersonRepository.java
Mon Oct 22 13:24:58 2012
@@ -156,7 +156,7 @@ public class MongoDbPersonRepository imp
@Override
public List<Person> findFriendRequestsReceived(String username) {
MongoDbUser followed =
(MongoDbUser)template.findOne(getUsernameQuery(username));
- return followed.getFriends() == null ? null :
Lists.transform(followed.getFriends(), new Function<MongoDbPersonAssociation,
Person>() {
+ return Lists.transform(followed.getFriends(), new
Function<MongoDbPersonAssociation, Person>() {
@Override
public Person apply(@Nullable MongoDbPersonAssociation input) {
return input == null || input.getRequestStatus() !=
FriendRequestStatus.RECEIVED ? null :
template.get(input.getPersonId()).toPerson();
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbUserRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbUserRepository.java?rev=1400872&r1=1400871&r2=1400872&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbUserRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbUserRepository.java
Mon Oct 22 13:24:58 2012
@@ -24,6 +24,7 @@ import org.apache.rave.portal.model.User
import org.apache.rave.portal.repository.MongoUserOperations;
import org.apache.rave.portal.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.query.Order;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;
@@ -59,7 +60,7 @@ public class MongoDbUserRepository imple
@Override
public List<User> getLimitedList(int offset, int pageSize) {
Query query = new Query().skip(offset).limit(pageSize);
- return template.find(query);
+ return template.find(addSort(query));
}
@Override
@@ -69,7 +70,7 @@ public class MongoDbUserRepository imple
@Override
public List<User> findByUsernameOrEmail(String searchTerm, int offset, int
pageSize) {
- return
template.find(getSearchQuery(searchTerm).skip(offset).limit(pageSize));
+ return
template.find(addSort(getSearchQuery(searchTerm).skip(offset).limit(pageSize)));
}
@Override
@@ -110,4 +111,9 @@ public class MongoDbUserRepository imple
private Query getSearchQuery(String searchTerm) {
return
query(where("username").is(searchTerm).orOperator(where("email").is(searchTerm)));
}
+
+ private Query addSort(Query query) {
+ query.sort().on("username", Order.ASCENDING);
+ return query;
+ }
}
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java?rev=1400872&r1=1400871&r2=1400872&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java
Mon Oct 22 13:24:58 2012
@@ -69,7 +69,7 @@ public class MongoDbWidgetRepository imp
@Override
public List<Widget> getByFreeTextSearch(String searchTerm, int offset, int
pageSize) {
Query query = new
Query(getFreeTextClause(searchTerm)).skip(offset).limit(pageSize);
- return template.find(query);
+ return template.find(addSort(query));
}
@Override
@@ -80,7 +80,7 @@ public class MongoDbWidgetRepository imp
@Override
public List<Widget> getByStatus(WidgetStatus widgetStatus, int offset, int
pageSize) {
Query query = new
Query(where("widgetStatus").is(widgetStatus)).skip(offset).limit(pageSize);
- return template.find(query);
+ return template.find(addSort(query));
}
@Override
@@ -91,8 +91,7 @@ public class MongoDbWidgetRepository imp
@Override
public List<Widget> getByStatusAndTypeAndFreeTextSearch(WidgetStatus
widgetStatus, String type, String searchTerm, int offset, int pageSize) {
Query query = getWidgetStatusFreeTextQuery(widgetStatus, type,
searchTerm).limit(pageSize).skip(offset);
- query.sort().on("title", Order.ASCENDING);
- return template.find(query);
+ return template.find(addSort(query));
}
@Override
@@ -103,7 +102,7 @@ public class MongoDbWidgetRepository imp
@Override
public List<Widget> getByOwner(User owner, int offset, int pageSize) {
Query query = getQueryByOwner(owner).skip(offset).limit(pageSize);
- return template.find(query);
+ return template.find(addSort(query));
}
@Override
@@ -156,7 +155,7 @@ public class MongoDbWidgetRepository imp
@Override
public List<Widget> getWidgetsByTag(String tagKeyWord, int offset, int
pageSize) {
- return
template.find(getTagQuery(tagKeyWord).limit(pageSize).skip(offset));
+ return
template.find(addSort(getTagQuery(tagKeyWord).limit(pageSize).skip(offset)));
}
@Override
@@ -219,6 +218,11 @@ public class MongoDbWidgetRepository imp
return statistics;
}
+ private Query addSort(Query query) {
+ query.sort().on("title", Order.ASCENDING);
+ return query;
+ }
+
public static class WidgetUsersMapReduceResult {
private Long widgetId;
private Long users;