Author: mfranklin
Date: Thu Oct 25 20:14:12 2012
New Revision: 1402316

URL: http://svn.apache.org/viewvc?rev=1402316&view=rev
Log:
Fixed page user bugs

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/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
    
rave/branches/mongo/rave-portal-resources/src/main/resources/initial-data.json

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=1402316&r1=1402315&r2=1402316&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
 Thu Oct 25 20:14:12 2012
@@ -37,7 +37,7 @@ import java.util.List;
 /**
  */
 @XmlAccessorType(value = XmlAccessType.FIELD)
-@JsonAutoDetect(value = JsonMethod.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD, fieldVisibility = 
JsonAutoDetect.Visibility.ANY)
 public class MongoDbUser extends UserImpl {
 
     private List<String> authorityCodes;

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=1402316&r1=1402315&r2=1402316&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
 Thu Oct 25 20:14:12 2012
@@ -22,6 +22,7 @@ package org.apache.rave.portal.model.con
 import com.google.common.collect.Lists;
 import org.apache.rave.portal.model.*;
 import org.apache.rave.portal.model.conversion.HydratingModelConverter;
+import org.apache.rave.portal.model.impl.RegionWidgetPreferenceImpl;
 import org.apache.rave.portal.repository.PageLayoutRepository;
 import org.apache.rave.portal.repository.UserRepository;
 import org.apache.rave.portal.repository.WidgetRepository;
@@ -149,35 +150,49 @@ public class MongoDbPageConverter implem
         regionWidget.setRegion(null);
         regionWidget.setPreferences(sourceRegionWidget.getPreferences());
         updatePreferences(regionWidget);
+        updateProperties(sourceRegionWidget, regionWidget);
         return regionWidget;
     }
 
     private void updatePreferences(MongoDbRegionWidget regionWidget) {
-        if (regionWidget.getPreferences() != null) {
-            for (RegionWidgetPreference preference : 
regionWidget.getPreferences()) {
-                preference.setRegionWidgetId(regionWidget.getId());
+        List<RegionWidgetPreference> converted = Lists.newArrayList();
+        if(regionWidget.getPreferences() != null) {
+            for(RegionWidgetPreference preference : 
regionWidget.getPreferences()) {
+                converted.add(convert(preference));
             }
         }
+        regionWidget.setPreferences(converted);
+    }
+
+    private RegionWidgetPreference convert(RegionWidgetPreference preference) {
+        RegionWidgetPreference converted = new RegionWidgetPreferenceImpl();
+        converted.setName(preference.getName());
+        converted.setValue(preference.getValue());
+        return converted;
     }
 
     private void hydrate(Region region) {
-        if (region.getRegionWidgets() == null) {
-            region.setRegionWidgets(Lists.<RegionWidget>newArrayList());
-        } else {
-            for (RegionWidget regionWidget : region.getRegionWidgets()) {
-                hydrate((MongoDbRegionWidget) regionWidget, region);
-            }
+        for (RegionWidget regionWidget : region.getRegionWidgets()) {
+            hydrate((MongoDbRegionWidget) regionWidget, region);
         }
     }
 
     private void convert(Region region) {
+        List<RegionWidget> convertedWidgets = Lists.newArrayList();
         if (region.getRegionWidgets() != null) {
-            List<RegionWidget> convertedWidgets = Lists.newArrayList();
             for (RegionWidget widget : region.getRegionWidgets()) {
                 convertedWidgets.add(convert(widget));
             }
-            region.setRegionWidgets(convertedWidgets);
         }
+        region.setRegionWidgets(convertedWidgets);
+    }
+
+    private void updateProperties(RegionWidget source, RegionWidget converted) 
{
+        converted.setLocked(source.isLocked());
+        converted.setCollapsed(source.isCollapsed());
+        converted.setHideChrome(source.isHideChrome());
+        converted.setRenderPosition(source.getRenderPosition());
+        converted.setRenderOrder(source.getRenderOrder());
     }
 
 }

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=1402316&r1=1402315&r2=1402316&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
 Thu Oct 25 20:14:12 2012
@@ -67,10 +67,10 @@ public class MongoDbPersonRepository imp
     @Override
     public List<Person> findFriends(String username) {
         MongoDbUser user = 
(MongoDbUser)template.findOne(getUsernameQuery(username));
-        return Lists.transform(user.getFriends(), new 
Function<MongoDbPersonAssociation, Person>() {
+        return Lists.transform(filterByRequestType(user.getFriends(), 
FriendRequestStatus.ACCEPTED), new Function<MongoDbPersonAssociation, Person>() 
{
             @Override
             public Person apply(@Nullable MongoDbPersonAssociation input) {
-                return input == null || input.getRequestStatus() != 
FriendRequestStatus.ACCEPTED ? null : 
template.get(input.getPersonId()).toPerson();
+                return input == null ? null : 
template.get(input.getPersonId()).toPerson();
             }
         });
     }
@@ -156,10 +156,10 @@ public class MongoDbPersonRepository imp
     @Override
     public List<Person> findFriendRequestsReceived(String username) {
         MongoDbUser followed = 
(MongoDbUser)template.findOne(getUsernameQuery(username));
-        return Lists.transform(followed.getFriends(), new 
Function<MongoDbPersonAssociation, Person>() {
+        return Lists.transform(filterByRequestType(followed.getFriends(), 
FriendRequestStatus.RECEIVED), new Function<MongoDbPersonAssociation, Person>() 
{
             @Override
             public Person apply(@Nullable MongoDbPersonAssociation input) {
-                return input == null || input.getRequestStatus() != 
FriendRequestStatus.RECEIVED ? null : 
template.get(input.getPersonId()).toPerson();
+                return input == null ? null : 
template.get(input.getPersonId()).toPerson();
             }
         });
     }
@@ -167,10 +167,10 @@ public class MongoDbPersonRepository imp
     @Override
     public List<Person> findFriendRequestsSent(String username) {
         MongoDbUser follower = 
(MongoDbUser)template.findOne(getUsernameQuery(username));
-        return Lists.transform(follower.getFriends(), new 
Function<MongoDbPersonAssociation, Person>() {
+        return Lists.transform(filterByRequestType(follower.getFriends(), 
FriendRequestStatus.SENT), new Function<MongoDbPersonAssociation, Person>() {
             @Override
             public Person apply(@Nullable MongoDbPersonAssociation input) {
-                return input == null  || input.getRequestStatus() != 
FriendRequestStatus.SENT ? null : template.get(input.getPersonId()).toPerson();
+                return input == null ? null : 
template.get(input.getPersonId()).toPerson();
             }
         });
     }
@@ -200,6 +200,16 @@ public class MongoDbPersonRepository imp
         return query(where("username").is(username));
     }
 
+    private List<MongoDbPersonAssociation> 
filterByRequestType(List<MongoDbPersonAssociation> friends, FriendRequestStatus 
received) {
+        List<MongoDbPersonAssociation> filtered = Lists.newArrayList();
+        for(MongoDbPersonAssociation association : friends) {
+            if(association.getRequestStatus().equals(received)) {
+                filtered.add(association);
+            }
+        }
+        return filtered;
+    }
+
     private void removeAssociation(MongoDbUser friend, MongoDbUser person) {
         for(MongoDbPersonAssociation association : person.getFriends()) {
             if(association.getPersonId().equals(friend.getId())) {

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=1402316&r1=1402315&r2=1402316&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
 Thu Oct 25 20:14:12 2012
@@ -26,11 +26,13 @@ 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.Criteria;
 import org.springframework.data.mongodb.core.query.Order;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.regex.Pattern;
 
 import static org.springframework.data.mongodb.core.query.Criteria.where;
 import static org.springframework.data.mongodb.core.query.Query.query;
@@ -122,7 +124,8 @@ public class MongoDbUserRepository imple
     }
 
     private Query getSearchQuery(String searchTerm) {
-        return 
query(where("username").is(searchTerm).orOperator(where("email").is(searchTerm)));
+        Pattern p = Pattern.compile(".*" + searchTerm  +".*", 
Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL);
+        return query(new Criteria().orOperator(where("username").regex(p), 
where("email").regex(p)));
     }
 
     private Query addSort(Query 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=1402316&r1=1402315&r2=1402316&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
 Thu Oct 25 20:14:12 2012
@@ -221,14 +221,14 @@ public class MongoDbWidgetRepository imp
     }
 
     private Query getWidgetStatusFreeTextQuery(WidgetStatus widgetStatus, 
String type, String searchTerm) {
-        Criteria criteria = new Criteria();
-        if(type != null) {
+        Criteria criteria = addFreeTextClause(searchTerm, new Criteria());
+        if(type != null && !type.isEmpty()) {
             criteria.and("type").is(type);
         }
         if(widgetStatus != null) {
             
criteria.and("widgetStatus").is(getWidgetStatusString(widgetStatus));
         }
-        return query(addFreeTextClause(searchTerm, criteria));
+        return query(criteria);
     }
 
     private Criteria addFreeTextClause(String searchTerm, Criteria criteria) {

Modified: 
rave/branches/mongo/rave-portal-resources/src/main/resources/initial-data.json
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-portal-resources/src/main/resources/initial-data.json?rev=1402316&r1=1402315&r2=1402316&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-portal-resources/src/main/resources/initial-data.json 
(original)
+++ 
rave/branches/mongo/rave-portal-resources/src/main/resources/initial-data.json 
Thu Oct 25 20:14:12 2012
@@ -1985,7 +1985,7 @@
                     {
                         "pageTemplateRegion": null,
                         "widget": {"id": 2},
-                        "locked": true,
+                        "locked": false,
                         "hideChrome": false,
                         "id": 3,
                         "renderSeq": 0
@@ -1993,7 +1993,7 @@
                     {
                         "pageTemplateRegion": null,
                         "widget": {"id": 7},
-                        "locked": true,
+                        "locked": false,
                         "hideChrome": false,
                         "id": 4,
                         "renderSeq": 1
@@ -2009,7 +2009,7 @@
                     {
                         "pageTemplateRegion": null,
                         "widget": {"id": 10},
-                        "locked": true,
+                        "locked": false,
                         "hideChrome": false,
                         "id": 3,
                         "renderSeq": 0
@@ -2017,7 +2017,7 @@
                     {
                         "pageTemplateRegion": null,
                         "widget": {"id": 23},
-                        "locked": true,
+                        "locked": false,
                         "hideChrome": false,
                         "id": 4,
                         "renderSeq": 1
@@ -2033,7 +2033,7 @@
                     {
                         "pageTemplateRegion": null,
                         "widget": {"id": 11},
-                        "locked": true,
+                        "locked": false,
                         "hideChrome": false,
                         "id": 3,
                         "renderSeq": 0


Reply via email to