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;


Reply via email to