You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2012/12/14 18:39:37 UTC

svn commit: r1421993 [1/2] - in /rave/branches/mongo/rave-components: rave-core/src/main/java/org/apache/rave/portal/model/ rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/ rave-mongodb/src/main/java/org/apache/rave/portal/repos...

Author: mfranklin
Date: Fri Dec 14 17:39:24 2012
New Revision: 1421993

URL: http://svn.apache.org/viewvc?rev=1421993&view=rev
Log:
Applied patch from Danny Sullivan RAVE-849

Modified:
    rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidget.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/MongoDbWidgetConverter.java
    rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.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/MongoDbRegionRepository.java
    rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java
    rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoModelTemplate.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbAuthorityTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbCategoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageLayoutTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateWidgetTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageUserTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPersonAssociationTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPortalPreferenceTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbRegionWidgetTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbUserTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetCommentTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTagTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongDbConverterTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbAuthorityConverterTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbCategoryConverterTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverterTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageTemplateConverterTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverterTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbWidgetConverterTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbApplicationDataRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbCategoryRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbOauthConsumerStoreRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageLayoutRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPersonRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPortalPreferenceRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbRegionRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbRegionWidgetRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbUserRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbWidgetCommentRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRatingRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbWidgetTagRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MonogoDbMapReduceStatisticsAggregatorTest.java

Modified: rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidget.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidget.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidget.java (original)
+++ rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidget.java Fri Dec 14 17:39:24 2012
@@ -62,4 +62,6 @@ public interface RegionWidget {
     boolean isHideChrome();
 
     void setHideChrome(boolean hideChrome);
+
+
 }

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=1421993&r1=1421992&r2=1421993&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 Fri Dec 14 17:39:24 2012
@@ -53,7 +53,7 @@ public class MongoDbPageConverter implem
     @Override
     public MongoDbPage convert(Page sourcePage) {
         MongoDbPage page = new MongoDbPage();
-        page.setId(page.getId() == null ? generateId() : sourcePage.getId());
+        page.setId(sourcePage.getId() == null ? generateId() : sourcePage.getId());
         page.setOwnerId(sourcePage.getOwner().getId());
         page.setPageLayoutCode(sourcePage.getPageLayout().getCode());
         page.setName(sourcePage.getName());

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbWidgetConverter.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbWidgetConverter.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbWidgetConverter.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbWidgetConverter.java Fri Dec 14 17:39:24 2012
@@ -191,4 +191,12 @@ public class MongoDbWidgetConverter impl
         converted.setDisableRendering(source.isDisableRendering());
         converted.setFeatured(source.isFeatured());
     }
+
+    public void setUserRepository(UserRepository userRepository) {
+        this.userRepository = userRepository;
+    }
+
+    public void setCategoryRepository(CategoryRepository categoryRepository) {
+        this.categoryRepository = categoryRepository;
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.java Fri Dec 14 17:39:24 2012
@@ -28,6 +28,7 @@ import org.apache.rave.portal.model.impl
 import org.apache.rave.portal.repository.MongoPageOperations;
 import org.apache.rave.portal.repository.PageRepository;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoOperations;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Repository;
 

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=1421993&r1=1421992&r2=1421993&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 Fri Dec 14 17:39:24 2012
@@ -32,8 +32,7 @@ import org.springframework.data.mongodb.
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Nullable;
-import java.util.HashMap;
-import java.util.List;
+import java.util.*;
 
 import static org.springframework.data.mongodb.core.query.Criteria.where;
 import static org.springframework.data.mongodb.core.query.Query.query;
@@ -260,13 +259,15 @@ public class MongoDbPersonRepository imp
 
     private List<Long> getCommonFriends(MongoDbUser follower, MongoDbUser followed) {
         List<Long> ids = Lists.newArrayList();
+        Map<Long, MongoDbPersonAssociation> friendHash = new HashMap<Long, MongoDbPersonAssociation>();
         for (MongoDbPersonAssociation association : follower.getFriends()) {
-            for (MongoDbPersonAssociation friendAssociation : followed.getFriends()) {
-                if (association.getPersonId().equals(friendAssociation.getPersonId()) &&
-                        association.getRequestStatus().equals(FriendRequestStatus.ACCEPTED) &&
-                        friendAssociation.getRequestStatus().equals(FriendRequestStatus.ACCEPTED)) {
-                    ids.add(friendAssociation.getPersonId());
-                }
+            friendHash.put(association.getPersonId(), association);
+        }
+        for (MongoDbPersonAssociation friendAssociation : followed.getFriends()) {
+            if (friendHash.containsKey(friendAssociation.getPersonId()) &&
+                    friendHash.get(friendAssociation.getPersonId()).getRequestStatus().equals(FriendRequestStatus.ACCEPTED) &&
+                    friendAssociation.getRequestStatus().equals(FriendRequestStatus.ACCEPTED)) {
+                ids.add(friendAssociation.getPersonId());
             }
         }
         return ids;

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionRepository.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionRepository.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionRepository.java Fri Dec 14 17:39:24 2012
@@ -122,4 +122,14 @@ public class MongoDbRegionRepository imp
     private Page getPageByRegionId(long id) {
         return template.findOne(new Query(Criteria.where("regions").elemMatch(Criteria.where("_id").is(id))));
     }
+
+
+    public MongoPageOperations getTemplate() {
+        return template;
+    }
+
+    public void setTemplate(MongoPageOperations template) {
+        this.template = template;
+    }
+
 }

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=1421993&r1=1421992&r2=1421993&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 Fri Dec 14 17:39:24 2012
@@ -211,4 +211,12 @@ public class MongoDbWidgetRepository imp
         return query;
     }
 
+    public void setTemplate(MongoWidgetOperations template) {
+        this.template = template;
+    }
+
+    public void setStatsAggregator(StatisticsAggregator statsAggregator) {
+        this.statsAggregator = statsAggregator;
+    }
+
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoModelTemplate.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoModelTemplate.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoModelTemplate.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoModelTemplate.java Fri Dec 14 17:39:24 2012
@@ -115,4 +115,12 @@ public class MongoModelTemplate<T, E ext
         converter.hydrate(page, type);
         return page;
     }
+
+    public void setMongoTemplate(MongoOperations mongoTemplate) {
+        this.mongoTemplate = mongoTemplate;
+    }
+
+    public void setConverter(HydratingConverterFactory converter) {
+        this.converter = converter;
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbAuthorityTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbAuthorityTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbAuthorityTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbAuthorityTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
 import org.junit.Test;

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbCategoryTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbCategoryTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbCategoryTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbCategoryTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.UserImpl;
@@ -26,87 +45,103 @@ import static org.springframework.data.m
  * Time: 12:03 PM
  */
 public class MongoDbCategoryTest {
-    private  MongoDbCategory category;
+    private MongoDbCategory category;
     private UserRepository userRepository;
     private MongoWidgetOperations widgetOperations;
 
     @Before
-    public void setup(){
+    public void setup() {
         category = new MongoDbCategory();
         userRepository = createMock(UserRepository.class);
         widgetOperations = createMock(MongoWidgetOperations.class);
         category.setUserRepository(userRepository);
         category.setWidgetRepository(widgetOperations);
     }
+
     @Test
-    public void testCategory(){
+    public void testCategory() {
 
         Long lastModifiedUserId = (long) 123;
-        Long  createdUserId = (long) 321;
+        Long createdUserId = (long) 321;
         category.setLastModifiedUserId(lastModifiedUserId);
         category.setCreatedUserId(createdUserId);
 
-        assertThat(category.getLastModifiedUserId(), is(equalTo((long)123)));
-        assertThat(category.getCreatedUserId(), is(equalTo((long)321)));
+        assertThat(category.getLastModifiedUserId(), is(equalTo((long) 123)));
+        assertThat(category.getCreatedUserId(), is(equalTo((long) 321)));
         assertThat(category.getUserRepository(), is(sameInstance(userRepository)));
         assertThat(category.getWidgetRepository(), is(sameInstance(widgetOperations)));
     }
 
     @Test
-    public void getCreatedUser_Creater_Null(){
-        category.setCreatedUserId((long) 321);
+    public void getCreatedUser_Creator_Set() {
         User user = new UserImpl();
-        expect(userRepository.get((long)321)).andReturn(user);
-        replay(userRepository);
-
+        category.setCreatedUser(user);
         assertThat(category.getCreatedUser(), is(sameInstance(user)));
     }
 
     @Test
-    public void getCreatedUser_creater_Valid(){
-        User user = new UserImpl();
-        category.setCreatedUser(user);
-        assertThat(category.getCreatedUser(), is(sameInstance(user)));
+    public void getCreatedUser_CreatedUserId_Null() {
+        category.setCreatedUser(null);
+        category.setCreatedUserId(null);
+
+        assertNull(category.getCreatedUser());
     }
 
     @Test
-    public void getCreatedUser_lastModiefiedUser_Valid(){
+    public void getCreatedUser_UserRepository_Null(){
+        category.setCreatedUser(null);
+        category.setCreatedUserId((long)123);
         category.setUserRepository(null);
+
+        assertNull(category.getCreatedUser());
+    }
+
+    @Test
+    public void getCreatedUser_All_True() {
+        category.setCreatedUserId((long) 321);
         User user = new UserImpl();
-        category.setCreatedUser(user);
-        category.setLastModifiedUser(new UserImpl());
+        expect(userRepository.get((long) 321)).andReturn(user);
+        replay(userRepository);
 
         assertThat(category.getCreatedUser(), is(sameInstance(user)));
     }
 
     @Test
-    public void getLastModifiedUser_lastModifier_Null(){
-        category.setLastModifiedUserId((long)321);
+    public void getLastModifiedUser_LastModifier_Set(){
         User user = new UserImpl();
-        expect(userRepository.get((long)321)).andReturn(user);
-        replay(userRepository);
+        category.setLastModifiedUser(user);
 
         assertThat(category.getLastModifiedUser(), is(sameInstance(user)));
     }
 
     @Test
-    public void getLastModifiedUser_lastModifier_Set(){
-        User user = new UserImpl();
-         category.setLastModifiedUser(user);
+    public void getLastModifiedUser_LastModifiedUserId_Null(){
+        category.setLastModifiedUser(null);
+        category.setLastModifiedUserId(null);
+        assertNull(category.getLastModifiedUser());
+    }
 
-        User result = category.getLastModifiedUser();
-        assertThat(result, is(sameInstance(user)));
+    @Test
+    public void getLastModifiedUser_UserRepository_Null(){
+        category.setLastModifiedUser(null);
+        category.setLastModifiedUserId((long)123);
+        category.setUserRepository(null);
+
+        assertNull(category.getLastModifiedUser());
     }
 
     @Test
-    public void getLastModifiedUser_lastModifier_Set_Id_Null(){
+    public void getLastModifiedUser_AllTrue() {
+        category.setLastModifiedUserId((long) 321);
+        User user = new UserImpl();
+        expect(userRepository.get((long) 321)).andReturn(user);
+        replay(userRepository);
 
-        User result = category.getLastModifiedUser();
-        assertNull(result);
+        assertThat(category.getLastModifiedUser(), is(sameInstance(user)));
     }
 
     @Test
-    public void getWidgets_Widgets_Null(){
+    public void getWidgets_Widgets_Null() {
         List<Widget> widgets = new ArrayList<Widget>();
         expect(widgetOperations.find(query(where("categoryIds").is(category.getId())))).andReturn(widgets);
         replay(widgetOperations);
@@ -115,7 +150,7 @@ public class MongoDbCategoryTest {
     }
 
     @Test
-    public void getWidgets_Widgets_Set(){
+    public void getWidgets_Widgets_Set() {
         List<Widget> widgets = new ArrayList<Widget>();
         category.setWidgets(widgets);
 

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageLayoutTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageLayoutTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageLayoutTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageLayoutTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
 import org.junit.Before;
@@ -35,6 +54,7 @@ public class MongoDbPageLayoutTest {
     @Test
     public void equals_Super(){
         PageLayout p = new MongoDbPageLayout();
+        p.setCode("code");
         assertFalse(pageLayout.equals(p));
     }
 
@@ -48,6 +68,13 @@ public class MongoDbPageLayoutTest {
     }
 
     @Test
+    public void equals_Both_Null(){
+        pageLayout.setId(null);
+        MongoDbPageLayout p = new MongoDbPageLayout();
+        assertTrue(pageLayout.equals(p));
+    }
+
+    @Test
     public void equals_Same_Id(){
         MongoDbPageLayout p_1 = new MongoDbPageLayout();
         MongoDbPageLayout p_2 = new MongoDbPageLayout();
@@ -60,4 +87,10 @@ public class MongoDbPageLayoutTest {
     public void hashCode_Valid(){
         assertNotNull(pageLayout.hashCode());
     }
+
+    @Test
+    public void hashCode_Id_Null(){
+        pageLayout.setId(null);
+        assertNotNull(pageLayout.hashCode());
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.PageLayoutImpl;

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateWidgetTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateWidgetTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateWidgetTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateWidgetTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.WidgetImpl;
@@ -35,4 +54,11 @@ public class MongoDbPageTemplateWidgetTe
 
         assertThat(templateWidget.getWidget(), is(sameInstance(widget)));
     }
+
+    @Test
+    public void getWudget_Not_Null(){
+        Widget widget = new WidgetImpl();
+        templateWidget.setWidget(widget);
+        assertThat(widget, is(sameInstance(templateWidget.getWidget())));
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.UserImpl;
@@ -59,7 +78,7 @@ public class MongoDbPageTest {
     @Test
     public void equals_Null_Id(){
         page.setId((long)123);
-        Widget r = new MongoDbWidget();
+        Page r = new MongoDbPage();
         assertFalse(page.equals(r));
         assertFalse(r.equals(page));
 
@@ -83,6 +102,12 @@ public class MongoDbPageTest {
 
     @Test
     public void hashCode_Valid(){
+        assertTrue(page.hashCode()==0);
+    }
+
+    @Test
+    public void hashCode_Id_Set(){
+          page.setId((long)123);
         assertNotNull(page.hashCode());
     }
 

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageUserTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageUserTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageUserTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageUserTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.UserImpl;
@@ -37,6 +56,13 @@ public class MongoDbPageUserTest {
     }
 
     @Test
+    public void getUser_Not_Null(){
+        User user = new UserImpl();
+        pageUser.setUser(user);
+        assertThat(user, is(sameInstance(pageUser.getUser())));
+    }
+
+    @Test
     public void equals_Same(){
         assertTrue(pageUser.equals(pageUser));
     }
@@ -66,7 +92,22 @@ public class MongoDbPageUserTest {
     }
 
     @Test
+    public void equals_Both_Null_Id(){
+        pageUser.setId(null);
+        MongoDbPageUser r = new MongoDbPageUser();
+        r.setId(null);
+        assertTrue(pageUser.equals(r));
+    }
+
+    @Test
     public void hashCode_Valid(){
+        pageUser.setId((long)123);
         assertNotNull(pageUser.hashCode());
     }
+
+    @Test
+    public void hashCode_Null(){
+        pageUser.setId(null);
+        assertTrue(pageUser.hashCode() == 0);
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPersonAssociationTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPersonAssociationTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPersonAssociationTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPersonAssociationTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
 import org.junit.Test;

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPortalPreferenceTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPortalPreferenceTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPortalPreferenceTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPortalPreferenceTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
 import org.junit.Test;

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbRegionWidgetTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbRegionWidgetTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbRegionWidgetTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbRegionWidgetTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.WidgetImpl;
@@ -38,6 +57,13 @@ public class MongoDbRegionWidgetTest {
     }
 
     @Test
+    public void getWidget_Widget_Set(){
+        Widget widget = new WidgetImpl();
+        regionWidget.setWidget(widget);
+        assertThat(widget, is(sameInstance(regionWidget.getWidget())));
+    }
+
+    @Test
     public void equals_Same(){
         assertTrue(regionWidget.equals(regionWidget));
     }
@@ -67,7 +93,22 @@ public class MongoDbRegionWidgetTest {
     }
 
     @Test
+    public void equals_Same_Null(){
+        regionWidget.setId(null);
+        RegionWidget r = new MongoDbRegionWidget();
+        r.setId(null);
+        assertTrue(regionWidget.equals(r));
+    }
+
+    @Test
     public void hashCode_Valid(){
+        regionWidget.setId((long)123);
         assertNotNull(regionWidget.hashCode());
     }
+
+    @Test
+    public void hashCode_Null(){
+        regionWidget.setId(null);
+        assertTrue(regionWidget.hashCode()==0);
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbUserTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbUserTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbUserTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbUserTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.AuthorityImpl;
@@ -10,6 +29,7 @@ import org.springframework.security.core
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.List;
 
 import static org.easymock.EasyMock.*;
 import static org.hamcrest.CoreMatchers.is;
@@ -82,7 +102,20 @@ public class MongoDbUserTest {
     }
 
     @Test
+    public void equals_Same_Null(){
+        user.setId(null);
+        MongoDbUser r = new MongoDbUser();
+        assertTrue(user.equals(r));
+    }
+
+    @Test
     public void hashCode_Valid(){
+        user.setId((long)123);
+        assertNotNull(user.hashCode());
+    }
+
+    @Test
+    public void hashCode_Null(){
         assertNotNull(user.hashCode());
     }
 
@@ -98,6 +131,23 @@ public class MongoDbUserTest {
     }
 
     @Test
+    public void addAuthority_Valid(){
+        Authority authority = new AuthorityImpl();
+        authority.setAuthority("auth");
+        user.addAuthority(authority);
+        assertTrue(user.getAuthorityCodes().contains(authority.getAuthority()));
+    }
+
+    @Test
+    public void addAuthority_Contains(){
+        Authority authority = new AuthorityImpl();
+        authority.setAuthority("auth");
+        List<String> authorityCodes = Arrays.asList(authority.getAuthority());
+        user.setAuthorityCodes(authorityCodes);
+        user.addAuthority(authority);
+    }
+
+    @Test
     public void removeAuthority_Valid(){
         Authority auth = new AuthorityImpl();
         auth.setAuthority("stinky");
@@ -110,6 +160,13 @@ public class MongoDbUserTest {
     }
 
     @Test
+    public void removeAuthority_NotContain(){
+        Authority auth = new AuthorityImpl();
+        user.removeAuthority(auth);
+        assertNotNull(user.getAuthorityCodes());
+    }
+
+    @Test
     public void getDefaultPageLayout_Valid(){
         PageLayout layout = new PageLayoutImpl();
         user.setDefaultPageLayoutCode("dingus");
@@ -119,4 +176,11 @@ public class MongoDbUserTest {
         assertThat(user.getDefaultPageLayout(), is(sameInstance(layout)));
     }
 
+    @Test
+    public void getDefaultPageLayout_Null(){
+        PageLayout layout = new PageLayoutImpl();
+        user.setDefaultPageLayout(layout);
+        assertThat(layout, is(sameInstance(user.getDefaultPageLayout())));
+    }
+
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetCommentTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetCommentTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetCommentTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetCommentTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.UserImpl;
@@ -35,4 +54,11 @@ public class MongoDbWidgetCommentTest {
 
         assertThat(comment.getUser(), is(sameInstance(user)));
     }
+
+    @Test
+    public void getUser_Not_Null(){
+        User user = new UserImpl();
+        comment.setUser(user);
+        assertThat(comment.getUser(), is(sameInstance(user)));
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTagTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTagTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTagTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTagTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.UserImpl;
@@ -35,4 +54,11 @@ public class MongoDbWidgetTagTest {
 
         assertThat(widgetTag.getUser(), is(sameInstance(user)));
     }
+
+    @Test
+    public void getUser_Set_User(){
+        User user = new UserImpl();
+        widgetTag.setUser(user);
+        assertThat(user, is(sameInstance(widgetTag.getUser())));
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTest.java Fri Dec 14 17:39:24 2012
@@ -1,10 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model;
 
+import org.apache.rave.portal.model.impl.CategoryImpl;
 import org.apache.rave.portal.model.impl.UserImpl;
 import org.apache.rave.portal.repository.CategoryRepository;
 import org.apache.rave.portal.repository.UserRepository;
 import org.junit.Before;
 import org.junit.Test;
+import sun.security.acl.OwnerImpl;
+
+import java.security.acl.Owner;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 import static org.easymock.EasyMock.*;
 import static org.hamcrest.CoreMatchers.is;
@@ -41,11 +67,47 @@ public class MongoDbWidgetTest {
     }
 
     @Test
+    public void getOwner_Set(){
+        User owner = new UserImpl();
+        widget.setOwner(owner);
+        assertThat(widget.getOwner(), is(sameInstance(owner)));
+
+    }
+
+    @Test
+    public void getOwner_Both_Null(){
+        assertNull(widget.getOwner());
+    }
+
+    @Test
     public void getCategories_Valid(){
+        List<Long> categoryIds = Arrays.asList((long)123, (long)321);
+        expect(categoryRepository.get((long)123)).andReturn(null);
+        Category category = new CategoryImpl();
+        expect(categoryRepository.get((long)321)).andReturn(category);
+        replay(categoryRepository);
+        widget.setCategoryIds(categoryIds);
+        List<Category> result = widget.getCategories();
+        assertNotNull(result);
+        assertTrue(result.contains(category));
+    }
+
+    @Test
+    public void getCategories_Null(){
+        List<Category> categoryList = new ArrayList<Category>();
+        widget.setCategories(categoryList);
         assertNotNull(widget.getCategories());
     }
 
     @Test
+    public void getCategories_Null_Categories_Full(){
+        List<Category> categoryList = new ArrayList<Category>();
+        categoryList.add(new CategoryImpl());
+        widget.setCategories(categoryList);
+        assertThat(categoryList, is(sameInstance(widget.getCategories())));
+    }
+
+    @Test
     public void equals_Same(){
         assertTrue(widget.equals(widget));
     }
@@ -75,8 +137,22 @@ public class MongoDbWidgetTest {
     }
 
     @Test
+    public void equals_Null(){
+        widget.setId(null);
+        Widget r = new MongoDbWidget();
+        ((MongoDbWidget)r).setId(null);
+        assertTrue(widget.equals(r));
+    }
+
+    @Test
     public void hashCode_Valid(){
         assertNotNull(widget.hashCode());
     }
 
+    @Test
+    public void hashCode_Null(){
+        widget.setId((long)123);
+        assertNotNull(widget.hashCode());
+    }
+
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongDbConverterTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongDbConverterTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongDbConverterTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongDbConverterTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model.conversion.impl;
 
 import org.apache.rave.model.ModelConverter;

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbAuthorityConverterTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbAuthorityConverterTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbAuthorityConverterTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbAuthorityConverterTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model.conversion.impl;
 
 import org.apache.rave.portal.model.Authority;

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbCategoryConverterTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbCategoryConverterTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbCategoryConverterTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbCategoryConverterTest.java Fri Dec 14 17:39:24 2012
@@ -0,0 +1,122 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.rave.portal.model.conversion.impl;
+
+import com.google.common.collect.Lists;
+import org.apache.rave.portal.model.Category;
+import org.apache.rave.portal.model.MongoDbCategory;
+import org.apache.rave.portal.model.User;
+import org.apache.rave.portal.model.Widget;
+import org.apache.rave.portal.model.impl.CategoryImpl;
+import org.apache.rave.portal.model.impl.UserImpl;
+import org.apache.rave.portal.repository.MongoWidgetOperations;
+import org.apache.rave.portal.repository.UserRepository;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.Date;
+
+import static org.easymock.EasyMock.createNiceMock;
+import static org.easymock.EasyMock.not;
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+
+/**
+ * This is a test class for MongoDb Category Converter
+ */
+public class MongoDbCategoryConverterTest {
+
+    public static final long USER1ID = 1234L;
+    public static final long USER2ID = 1333L;
+    public static final Date DATE1 = new Date();
+    public static final Date DATE2 = new Date();
+    private MongoDbCategoryConverter converter;
+    private UserRepository userRepository;
+    private MongoWidgetOperations mongoWidgetOperations;
+
+
+    @Before
+    public void setup(){
+        converter = new MongoDbCategoryConverter();
+        userRepository = createNiceMock(UserRepository.class);
+        mongoWidgetOperations = createNiceMock(MongoWidgetOperations.class);
+        converter.setUserRepository(userRepository);
+        converter.setMongoWidgetOperations(mongoWidgetOperations);
+    }
+
+
+    @Test
+    public void hydrate_valid(){
+        MongoDbCategory category = new MongoDbCategory();
+
+        converter.hydrate(category);
+
+        assertThat(category.getUserRepository(),is(sameInstance(userRepository)));
+        assertThat(category.getWidgetRepository(),is(sameInstance(mongoWidgetOperations)));
+
+    }
+
+    @Test
+    public void hydrate_null(){
+        converter.hydrate(null);
+        assertThat(true, is(true));
+    }
+
+
+    @Test
+    public void convert_valid(){
+        Category c = new CategoryImpl();
+        User user1 = new UserImpl(USER1ID);
+        User user2 = new UserImpl(USER2ID);
+        c.setCreatedDate(DATE1);
+        c.setCreatedUser(user1);
+        c.setId(USER1ID);
+        c.setLastModifiedUser(user2);
+        c.setText("asdf");
+        c.setWidgets(Lists.<Widget>newArrayList());
+        c.setLastModifiedDate(DATE2);
+
+        MongoDbCategory mongoC = converter.convert(c);
+        assertThat(mongoC.getCreatedDate(), is(equalTo(DATE1)));
+        assertThat(mongoC.getCreatedUser(), is(nullValue()));
+        assertThat(mongoC.getCreatedUserId(), is(equalTo(USER1ID)));
+        assertThat(mongoC.getId(), is(equalTo(USER1ID)));
+        assertThat(mongoC.getLastModifiedUserId(), is(equalTo(USER2ID)));
+        assertThat(mongoC.getLastModifiedUser(), is(nullValue()));
+        assertThat(mongoC.getWidgetRepository(), is(nullValue()));
+        assertThat(mongoC.getUserRepository(), is(nullValue()));
+        assertThat(mongoC.getText(), is("asdf"));
+        assertThat(c.getWidgets().size(), is(0));
+
+    }//end convert_valid
+
+    @Test
+    public void convert_Null(){
+        Category source = new CategoryImpl();
+
+        MongoDbCategory converted = converter.convert(source);
+
+        assertNull(converted.getLastModifiedUserId());
+        assertNull(converted.getCreatedUserId());
+        assertNotNull(converted.getId());
+    }
+}

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverterTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverterTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverterTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverterTest.java Fri Dec 14 17:39:24 2012
@@ -0,0 +1,343 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.rave.portal.model.conversion.impl;
+
+import com.google.common.collect.Lists;
+import org.apache.openjpa.persistence.meta.Members;
+import org.apache.rave.portal.model.*;
+import org.apache.rave.portal.model.impl.*;
+import org.apache.rave.portal.repository.PageLayoutRepository;
+import org.apache.rave.portal.repository.UserRepository;
+import org.apache.rave.portal.repository.WidgetRepository;
+import org.apache.rave.portal.service.RegionService;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.easymock.EasyMock.*;
+
+import static org.easymock.EasyMock.createNiceMock;
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.*;
+
+/**
+ * Test class for MongoDb Page Converter
+ */
+public class MongoDbPageConverterTest {
+
+    private UserRepository userRepository;
+    private WidgetRepository widgetRepository;
+    private PageLayoutRepository pageLayoutRepository;
+
+    private MongoDbPageConverter converter;
+    public static final long USER1ID = 1234L;
+    public static final long USER2ID = 1222L;
+    public static final long PAGEID = 1234L;
+
+    @Before
+    public void setup() {
+        converter = new MongoDbPageConverter();
+        userRepository = createNiceMock(UserRepository.class);
+        widgetRepository = createNiceMock(WidgetRepository.class);
+        pageLayoutRepository = createNiceMock(PageLayoutRepository.class);
+        converter.setWidgetRepository(widgetRepository);
+        converter.setUserRepository(userRepository);
+        converter.setPageLayoutRepository(pageLayoutRepository);
+
+    }
+
+    @Test
+    public void convertPage_valid() {
+
+        MongoDbPage results;
+        PageUser pageUser = new PageUserImpl(USER1ID);
+        User user = new UserImpl(USER2ID);
+        Page sourcePage = new PageImpl();
+        pageUser.setUser(user);
+
+        List<PageUser> pageMembers = Lists.newArrayList();
+        pageMembers.add(pageUser);
+        sourcePage.setMembers(pageMembers);
+
+        Region region = new RegionImpl();
+        region.setRegionWidgets(Lists.<RegionWidget>newLinkedList());
+        RegionWidget rw = new RegionWidgetImpl();
+        rw.setId(2222L);
+        Widget widget = new WidgetImpl(3333L);
+        rw.setWidget(widget);
+        rw.setPreferences(Lists.<RegionWidgetPreference>newLinkedList());
+
+        region.getRegionWidgets().add(rw);
+        sourcePage.setRegions(Lists.<Region>newLinkedList());
+        sourcePage.getRegions().add(region);
+
+        Page parentPage = new PageImpl();
+        PageLayout pagelayout = new PageLayoutImpl();
+        pagelayout.setCode("asdf");
+
+        sourcePage.setId(PAGEID);
+        sourcePage.setOwner(user);
+        sourcePage.setPageLayout(pagelayout);
+        sourcePage.setName("Carol");
+        sourcePage.setParentPage(parentPage);
+        sourcePage.setPageType(PageType.USER);
+
+        results = converter.convert(sourcePage);
+
+        assertThat(results.getName(), is(equalTo("Carol")));
+        assertThat(results.getPageType(), is(PageType.USER));
+        assertThat(results.getRegions().size(), is(1));
+        assertNotNull(results.getRegions().get(0).getId());
+        assertNull(results.getRegions().get(0).getPage());
+        assertThat(results.getPageLayout(), is(nullValue(PageLayout.class)));
+        assertThat(results.getParentPage(), is(nullValue()));
+        assertThat(results.getUserRepository(), is(nullValue()));
+        assertThat(results.getMembers().size(), is(1));
+        assertThat(results.getRegions().get(0).getRegionWidgets().get(0), is(instanceOf(MongoDbRegionWidget.class)));
+        assertNotNull(results.getRegions().get(0).getRegionWidgets().get(0).getId());
+        assertNull(results.getRegions().get(0).getRegionWidgets().get(0).getRegion());
+        assertThat(results.getRegions().get(0).getRegionWidgets().get(0).getPreferences(), is(equalTo(sourcePage.getRegions().get(0).getRegionWidgets().get(0).getPreferences())));
+
+    }//end convert page test
+
+    @Test
+    public void convertPage_Id_Null(){
+        Page sourcePage = new MongoDbPage();
+        Region region = new RegionImpl();
+        region.setId((long)123);
+        sourcePage.setRegions(Arrays.asList(region));
+        sourcePage.setPageLayout(new PageLayoutImpl());
+        sourcePage.setOwner(new UserImpl());
+        sourcePage.setMembers(new ArrayList<PageUser>());
+
+
+        Page subPage = new MongoDbPage();
+        List<Page> subPages = Arrays.asList(subPage);
+        subPage.setPageLayout(new PageLayoutImpl());
+        subPage.setOwner(new UserImpl());
+        subPage.setId((long)321);
+        subPage.setMembers(new ArrayList<PageUser>());
+        subPage.setRegions(new ArrayList<Region>());
+        sourcePage.setSubPages(subPages);
+
+
+        MongoDbPage converted = converter.convert(sourcePage);
+
+        assertTrue(converted.getSubPages().get(0).getId().equals(sourcePage.getSubPages().get(0).getId()));
+        assertTrue(converted.getRegions().get(0).equals(region));
+
+    }
+
+
+    //Convert user test
+    @Test
+    public void convertUser_valid() {
+
+        MongoDbPageUser mongoUser;
+        PageUser sourceUser = new PageUserImpl(USER1ID);
+        User user = new UserImpl(USER2ID);
+        sourceUser.setUser(user);
+        sourceUser.setEditor(true);
+        sourceUser.setPageStatus(PageInvitationStatus.OWNER);
+        sourceUser.setRenderSequence(1234L);
+
+        mongoUser = converter.convert(sourceUser);
+        assertThat(mongoUser.getId(), is(equalTo(USER1ID)));
+        assertThat(mongoUser.getUserId(), is(equalTo(USER2ID)));
+        assertTrue(mongoUser.isEditor());
+        assertThat(mongoUser.getPageStatus(), is(PageInvitationStatus.OWNER));
+        assertThat(mongoUser.getRenderSequence(), is(equalTo(1234L)));
+        assertThat(mongoUser.getPage(), is(nullValue()));
+        assertNull(mongoUser.getUserRepository());
+
+    }//end convertUser_valid
+
+    @Test
+    public void convertUser_MongoInstance(){
+        PageUser sourceUser = new MongoDbPageUser();
+        sourceUser.setUser(new UserImpl());
+
+        MongoDbPageUser converted = converter.convert(sourceUser);
+
+        assertNotNull(converted.getId());
+        assertTrue(converted instanceof MongoDbPageUser);
+    }
+
+    //Convert Widget test
+    @Test
+    public void convertWidget_valid() {
+
+        MongoDbRegionWidget rw = new MongoDbRegionWidget();
+        MongoDbRegionWidget rwResults;
+
+        rw.setPreferences(Lists.<RegionWidgetPreference>newLinkedList());
+        RegionWidgetPreference preference = new RegionWidgetPreferenceImpl();
+        preference.setName("name");
+        preference.setValue("value");
+        rw.setWidgetId(1234L);
+        Widget widget = new WidgetImpl(3333L);
+
+        rw.setWidget(widget);
+        rw.getPreferences().add(preference);
+        rw.setLocked(false);
+        rw.setCollapsed(false);
+        rw.setHideChrome(false);
+        rw.setRenderPosition("test");
+        rw.setRenderOrder(1);
+
+        rwResults = converter.convert(rw);
+
+        assertThat(rwResults.getWidgetId(), is(equalTo(3333L)));
+        assertNotNull(rwResults.getId());
+        assertThat(rwResults.getPreferences().get(0), is(equalTo(preference)));
+        assertThat(rwResults.isCollapsed(), is(false));
+        assertThat(rwResults.isHideChrome(), is(false));
+        assertThat(rwResults.isLocked(), is(false));
+        assertThat(rwResults.getRenderPosition(), is(equalTo("test")));
+        assertThat(rwResults.getRenderOrder(), is(1));
+        assertThat(rwResults.getWidgetRepository(), is(nullValue()));
+        assertThat(rwResults.getRegion(), is(nullValue()));
+
+    }//end convertRegion_valid
+
+    @Test
+    public void convertWidget_NullPreferences(){
+        MongoDbRegionWidget rw = new MongoDbRegionWidget();
+        MongoDbRegionWidget rwResults;
+
+        rw.setWidgetId(1234L);
+        Widget widget = new WidgetImpl(3333L);
+
+        rw.setWidget(widget);
+        rw.setLocked(false);
+        rw.setCollapsed(false);
+        rw.setHideChrome(false);
+        rw.setRenderPosition("test");
+        rw.setRenderOrder(1);
+
+        rwResults = converter.convert(rw);
+
+        assertThat(rwResults.getWidgetId(), is(equalTo(3333L)));
+        assertNotNull(rwResults.getId());
+        assertNotNull(rwResults.getPreferences());
+        assertThat(rwResults.isCollapsed(), is(false));
+        assertThat(rwResults.isHideChrome(), is(false));
+        assertThat(rwResults.isLocked(), is(false));
+        assertThat(rwResults.getRenderPosition(), is(equalTo("test")));
+        assertThat(rwResults.getRenderOrder(), is(1));
+        assertThat(rwResults.getWidgetRepository(), is(nullValue()));
+        assertThat(rwResults.getRegion(), is(nullValue()));
+    }
+
+    @Test
+    public void hydratePage_valid() {
+
+        MongoDbPage page = new MongoDbPage();
+        page.setRegions(Lists.<Region>newLinkedList());
+        Region region1 = new RegionImpl();
+        Region region2 = new RegionImpl();
+
+        region1.setRegionWidgets(Lists.<RegionWidget>newLinkedList());
+        region2.setRegionWidgets(Lists.<RegionWidget>newLinkedList());
+        RegionWidget rw1 = new MongoDbRegionWidget();
+        region1.getRegionWidgets().add(rw1);
+
+        RegionWidget rw2 = new MongoDbRegionWidget();
+        region2.getRegionWidgets().add(rw2);
+
+        page.getRegions().add(region1);
+        page.getRegions().add(region2);
+
+        page.setMembers(Lists.<PageUser>newLinkedList());
+        MongoDbPageUser member1 = new MongoDbPageUser();
+        PageUser member2 = new PageUserImpl();
+        page.getMembers().add(member1);
+        page.getMembers().add(member2);
+
+        Region subRegion = new RegionImpl();
+        subRegion.setRegionWidgets(Lists.<RegionWidget>newLinkedList());
+        RegionWidget subRegionWidget = new MongoDbRegionWidget();
+        subRegion.getRegionWidgets().add(subRegionWidget);
+
+        page.setSubPages(Lists.<Page>newLinkedList());
+        MongoDbPage subPage1 = new MongoDbPage();
+        MongoDbPageUser subMember = new MongoDbPageUser();
+        subPage1.setMembers(Lists.<PageUser>newLinkedList());
+        subPage1.setRegions(Lists.<Region>newLinkedList());
+        subPage1.getMembers().add(subMember);
+        subPage1.getRegions().add(subRegion);
+        Page subPage2 = new PageImpl();
+        subPage2.setMembers(Lists.<PageUser>newLinkedList());
+        subPage2.setRegions(Lists.<Region>newLinkedList());
+        page.getSubPages().add(subPage1);
+        page.getSubPages().add(subPage2);
+
+        PageLayout pageLayout = new PageLayoutImpl();
+        pageLayout.setCode("asdf");
+
+        expect(pageLayoutRepository.getByPageLayoutCode(page.getPageLayoutCode())).andReturn(pageLayout);
+        replay(pageLayoutRepository);
+
+        converter.hydrate(page);
+        assertThat(page.getUserRepository(), is(sameInstance(userRepository)));
+        assertThat(page.getPageLayout(), is(sameInstance(pageLayout)));
+        assertThat(page.getMembers().get(0), is(instanceOf(MongoDbPageUser.class)));
+        assertThat((MongoDbPage)region1.getPage(), is(sameInstance(page)));
+        assertThat((MongoDbPage)subPage1.getParentPage(), is(sameInstance(page)));
+        assertThat((MongoDbPage)subPage2.getParentPage(), is(sameInstance(page)));
+        assertThat(page.getRegions().get(0).getRegionWidgets().get(0), is(sameInstance(rw1)));
+
+    }//end hydratePage_valid
+
+    @Test
+    public void hydrateWidgetRegion_valid() {
+
+        MongoDbRegionWidget rw = new MongoDbRegionWidget();
+        rw.setWidgetRepository(widgetRepository);
+        Region region = new RegionImpl();
+
+        converter.hydrate(rw, region);
+
+        assertThat(rw.getWidgetRepository(), is(sameInstance(widgetRepository)));
+        assertThat(rw.getRegion(), is(sameInstance(region)));
+
+    }
+
+    @Test
+    public void hydratePage_null() {
+        MongoDbPage page = null;
+        converter.hydrate(page);
+
+        assertThat(true, is(true));
+    }
+
+    @Test
+    public void hydrateUser_valid() {
+        MongoDbPageUser user = new MongoDbPageUser();
+        converter.hydrate(user);
+        assertThat(user.getUserRepository(), is(sameInstance(userRepository)));
+    }
+
+}

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageTemplateConverterTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageTemplateConverterTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageTemplateConverterTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageTemplateConverterTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model.conversion.impl;
 
 import org.apache.rave.portal.model.*;

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverterTest.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverterTest.java?rev=1421993&r1=1421992&r2=1421993&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverterTest.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverterTest.java Fri Dec 14 17:39:24 2012
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
 package org.apache.rave.portal.model.conversion.impl;
 
 import com.google.common.collect.Lists;