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/11 15:04:11 UTC

svn commit: r1420170 [1/2] - in /rave/branches/mongo/rave-components/rave-mongodb/src: main/java/org/apache/rave/portal/model/ main/java/org/apache/rave/portal/model/conversion/impl/ main/java/org/apache/rave/portal/repository/impl/ test/java/org/apach...

Author: mfranklin
Date: Tue Dec 11 14:04:02 2012
New Revision: 1420170

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

Added:
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/
    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/
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/
    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/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/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/MongoDbPortalPreferenceRepositoryTest.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/MongoDbWidgetRatingRepositoryTest.java
    rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbWidgetTagRepositoryTest.java
Modified:
    rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplate.java
    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/MongoDbPageTemplateConverter.java
    rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverter.java
    rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbApplicationDataRepository.java
    rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbCategoryRepository.java
    rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbOauthConsumerStoreRepository.java
    rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageLayoutRepository.java
    rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.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/MongoDbPortalPreferenceRepository.java
    rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionWidgetRepository.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/MongoDbWidgetRatingRepository.java
    rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetTagRepository.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-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplate.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplate.java?rev=1420170&r1=1420169&r2=1420170&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplate.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplate.java Tue Dec 11 14:04:02 2012
@@ -51,6 +51,10 @@ public class MongoDbPageTemplate extends
 
     }
 
+    public PageLayoutRepository getPageLayoutRepository() {
+        return pageLayoutRepository;
+    }
+
     @Override
     public PageLayout getPageLayout() {
         PageLayout layout = super.getPageLayout();

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=1420170&r1=1420169&r2=1420170&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 Tue Dec 11 14:04:02 2012
@@ -58,6 +58,10 @@ public class MongoDbUser extends UserImp
         return authorityCodes;
     }
 
+    public PageLayoutRepository getPageLayoutRepository() {
+        return pageLayoutRepository;
+    }
+
     public void setAuthorityCodes(List<String> authorityCodes) {
         this.authorityCodes = authorityCodes;
     }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageTemplateConverter.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageTemplateConverter.java?rev=1420170&r1=1420169&r2=1420170&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageTemplateConverter.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageTemplateConverter.java Tue Dec 11 14:04:02 2012
@@ -53,10 +53,11 @@ public class MongoDbPageTemplateConverte
                 widget.setPageTemplateRegion(region);
             }
         }
-
-        for(PageTemplate sub : dehydrated.getSubPageTemplates()) {
-            sub.setParentPageTemplate(dehydrated);
-            hydrate((MongoDbPageTemplate)sub);
+        if (dehydrated.getSubPageTemplates() != null) {
+            for (PageTemplate sub : dehydrated.getSubPageTemplates()) {
+                sub.setParentPageTemplate(dehydrated);
+                hydrate((MongoDbPageTemplate) sub);
+            }
         }
     }
 
@@ -73,14 +74,14 @@ public class MongoDbPageTemplateConverte
         if (source.getSubPageTemplates() != null) {
             List<PageTemplate> subPages = Lists.newArrayList();
             for (PageTemplate sub : source.getSubPageTemplates()) {
-               subPages.add(convert(sub));
+                subPages.add(convert(sub));
             }
             converted.setSubPageTemplates(subPages);
         }
 
-        if(source.getPageTemplateRegions() != null) {
-            List<PageTemplateRegion>  convertedRegions = Lists.newArrayList();
-            for(PageTemplateRegion region : source.getPageTemplateRegions()) {
+        if (source.getPageTemplateRegions() != null) {
+            List<PageTemplateRegion> convertedRegions = Lists.newArrayList();
+            for (PageTemplateRegion region : source.getPageTemplateRegions()) {
                 convertedRegions.add(convert(region));
             }
             converted.setPageTemplateRegions(convertedRegions);
@@ -88,13 +89,29 @@ public class MongoDbPageTemplateConverte
         return converted;
     }
 
+    public void setWidgetRepository(WidgetRepository widgetRepository) {
+        this.widgetRepository = widgetRepository;
+    }
+
+    public void setPageLayoutRepository(PageLayoutRepository pageLayoutRepository) {
+        this.pageLayoutRepository = pageLayoutRepository;
+    }
+
+    public WidgetRepository getWidgetRepository() {
+        return widgetRepository;
+    }
+
+    public PageLayoutRepository getPageLayoutRepository() {
+        return pageLayoutRepository;
+    }
+
     private PageTemplateRegion convert(PageTemplateRegion region) {
-        PageTemplateRegionImpl converted = region instanceof PageTemplateRegionImpl ? ((PageTemplateRegionImpl)region) : new PageTemplateRegionImpl();
+        PageTemplateRegionImpl converted = region instanceof PageTemplateRegionImpl ? ((PageTemplateRegionImpl) region) : new PageTemplateRegionImpl();
         updateProperties(region, converted);
 
-        if(region.getPageTemplateWidgets() != null) {
+        if (region.getPageTemplateWidgets() != null) {
             List<PageTemplateWidget> convertedWidgets = Lists.newArrayList();
-            for(PageTemplateWidget widget : region.getPageTemplateWidgets()) {
+            for (PageTemplateWidget widget : region.getPageTemplateWidgets()) {
                 convertedWidgets.add(convert(widget));
             }
             converted.setPageTemplateWidgets(convertedWidgets);
@@ -103,7 +120,7 @@ public class MongoDbPageTemplateConverte
     }
 
     private PageTemplateWidget convert(PageTemplateWidget widget) {
-        MongoDbPageTemplateWidget converted = widget instanceof MongoDbPageTemplateWidget ? ((MongoDbPageTemplateWidget)widget) : new MongoDbPageTemplateWidget();
+        MongoDbPageTemplateWidget converted = widget instanceof MongoDbPageTemplateWidget ? ((MongoDbPageTemplateWidget) widget) : new MongoDbPageTemplateWidget();
         updateProperties(widget, converted);
         return converted;
     }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverter.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverter.java?rev=1420170&r1=1420169&r2=1420170&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverter.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverter.java Tue Dec 11 14:04:02 2012
@@ -57,6 +57,14 @@ public class MongoDbUserConverter implem
         return User.class;
     }
 
+    public void setPageLayoutRepository(PageLayoutRepository pageLayoutRepository) {
+        this.pageLayoutRepository = pageLayoutRepository;
+    }
+
+    public PageLayoutRepository getPageLayoutRepository() {
+        return pageLayoutRepository;
+    }
+
     @Override
     public MongoDbUser convert(User source) {
         MongoDbUser user = new MongoDbUser();
@@ -74,7 +82,7 @@ public class MongoDbUserConverter implem
         converted.setUsername(source.getUsername());
         converted.setEmail(source.getEmail());
         converted.setDisplayName(source.getDisplayName());
-        converted.setAdditionalName(source.getUsername());
+        converted.setAdditionalName(source.getAdditionalName());
         converted.setFamilyName(source.getFamilyName());
         converted.setGivenName(source.getGivenName());
         converted.setHonorificPrefix(source.getHonorificPrefix());

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbApplicationDataRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbApplicationDataRepository.java?rev=1420170&r1=1420169&r2=1420170&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbApplicationDataRepository.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbApplicationDataRepository.java Tue Dec 11 14:04:02 2012
@@ -75,4 +75,8 @@ public class MongoDbApplicationDataRepos
     public void delete(ApplicationData item) {
         template.remove(item, APP_DATA_COLLECTION);
     }
+
+    public void setTemplate(MongoOperations template) {
+        this.template = template;
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbCategoryRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbCategoryRepository.java?rev=1420170&r1=1420169&r2=1420170&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbCategoryRepository.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbCategoryRepository.java Tue Dec 11 14:04:02 2012
@@ -109,4 +109,12 @@ public class MongoDbCategoryRepository i
         }
         return updated;
     }
+
+    public void setTemplate(MongoOperations template) {
+        this.template = template;
+    }
+
+    public void setConverter(HydratingConverterFactory converter) {
+        this.converter = converter;
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbOauthConsumerStoreRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbOauthConsumerStoreRepository.java?rev=1420170&r1=1420169&r2=1420170&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbOauthConsumerStoreRepository.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbOauthConsumerStoreRepository.java Tue Dec 11 14:04:02 2012
@@ -66,4 +66,8 @@ public class MongoDbOauthConsumerStoreRe
     public void delete(OAuthConsumerStore item) {
         template.remove(get(item.getId()));
     }
+
+    public void setTemplate(MongoOperations template) {
+        this.template = template;
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageLayoutRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageLayoutRepository.java?rev=1420170&r1=1420169&r2=1420170&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageLayoutRepository.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageLayoutRepository.java Tue Dec 11 14:04:02 2012
@@ -91,4 +91,8 @@ public class MongoDbPageLayoutRepository
         converted.setRenderSequence(source.getRenderSequence());
         converted.setUserSelectable(source.isUserSelectable());
     }
+
+    public void setTemplate(MongoOperations template) {
+        this.template = template;
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java?rev=1420170&r1=1420169&r2=1420170&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java Tue Dec 11 14:04:02 2012
@@ -23,7 +23,6 @@ import org.apache.rave.portal.model.Mong
 import org.apache.rave.portal.model.PageTemplate;
 import org.apache.rave.portal.model.PageType;
 import org.apache.rave.portal.model.conversion.HydratingConverterFactory;
-import org.apache.rave.portal.model.impl.PageTemplateImpl;
 import org.apache.rave.portal.repository.PageTemplateRepository;
 import org.apache.rave.util.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,8 +32,8 @@ import org.springframework.stereotype.Re
 
 import java.util.List;
 
-import static org.springframework.data.mongodb.core.query.Criteria.where;
 import static org.apache.rave.portal.repository.util.CollectionNames.PAGE_TEMPLATE_COLLECTION;
+import static org.springframework.data.mongodb.core.query.Criteria.where;
 
 /**
  */
@@ -50,7 +49,7 @@ public class MongoDbPageTemplateReposito
     @Override
     public List<PageTemplate> getAll() {
         List<MongoDbPageTemplate> templates = template.findAll(MongoDbPageTemplate.class, PAGE_TEMPLATE_COLLECTION);
-        for(PageTemplateImpl temp : templates) {
+        for(MongoDbPageTemplate temp : templates) {
             converter.hydrate(temp, PageTemplate.class);
         }
         return CollectionUtils.<PageTemplate>toBaseTypedList(templates);
@@ -70,4 +69,12 @@ public class MongoDbPageTemplateReposito
         converter.hydrate(converted, PageTemplate.class);
         return converted;
     }
+
+    public void setConverter(HydratingConverterFactory converter) {
+        this.converter = converter;
+    }
+
+    public void setTemplate(MongoOperations template) {
+        this.template = template;
+    }
 }

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=1420170&r1=1420169&r2=1420170&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 Tue Dec 11 14:04:02 2012
@@ -271,4 +271,12 @@ public class MongoDbPersonRepository imp
         }
         return ids;
     }
+
+    public void setTemplate(MongoUserOperations template) {
+        this.template = template;
+    }
+
+    public void setPageTemplate(MongoPageOperations pageTemplate) {
+        this.pageTemplate = pageTemplate;
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPortalPreferenceRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPortalPreferenceRepository.java?rev=1420170&r1=1420169&r2=1420170&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPortalPreferenceRepository.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPortalPreferenceRepository.java Tue Dec 11 14:04:02 2012
@@ -83,4 +83,12 @@ public class MongoDbPortalPreferenceRepo
     public void delete(PortalPreference item) {
         template.remove(getByKey(item.getKey()), PREFERENCE_COLLECTION);
     }
+
+    public void setTemplate(MongoOperations template) {
+        this.template = template;
+    }
+
+    public void setConverter(HydratingConverterFactory converter) {
+        this.converter = converter;
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionWidgetRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionWidgetRepository.java?rev=1420170&r1=1420169&r2=1420170&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionWidgetRepository.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionWidgetRepository.java Tue Dec 11 14:04:02 2012
@@ -58,13 +58,18 @@ public class MongoDbRegionWidgetReposito
     @Override
     public void delete(RegionWidget item) {
         Page page = getPageByRegionWidgetId(item.getId());
-        replaceOrRemoveWidget(page, item, false);
+        if(replaceOrRemoveWidget(page, item, false) == -1){
+            throw new IllegalStateException("Widget does not exist in parent page regions");
+        }
         template.save(page);
     }
 
     private RegionWidget updateRegionWidget(RegionWidget item) {
-        RegionWidget savedWidget;Page page = getPageByRegionWidgetId(item.getId());
-        replaceOrRemoveWidget(page, item, true);
+        RegionWidget savedWidget;
+        Page page = getPageByRegionWidgetId(item.getId());
+        if(replaceOrRemoveWidget(page, item, true) == -1){
+            throw new IllegalStateException("Widget does not exist in parent page regions");
+        }
         Page saved = template.save(page);
         savedWidget = getRegionWidgetById(saved, item.getId());
         return savedWidget;
@@ -73,6 +78,7 @@ public class MongoDbRegionWidgetReposito
     private RegionWidget addNewRegionWidget(RegionWidget item) {
         Page page = getPageFromRepository(item);
         Region parent = getRegionById(item.getRegion().getId(), page.getRegions());
+        if(parent == null) throw new IllegalStateException("Unable to find parent for page");
         parent.getRegionWidgets().add(item);
         Page saved = template.save(page);
         return getRegionById(parent.getId(), saved.getRegions()).getRegionWidgets().get(parent.getRegionWidgets().size() -1);
@@ -126,4 +132,8 @@ public class MongoDbRegionWidgetReposito
     private Page getPageByRegionWidgetId(long id) {
         return template.findOne(new Query(where("regions").elemMatch(where("regionWidgets").elemMatch(where("_id").is(id)))));
     }
+
+    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/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=1420170&r1=1420169&r2=1420170&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 Tue Dec 11 14:04:02 2012
@@ -132,4 +132,12 @@ public class MongoDbUserRepository imple
         query.sort().on("username", Order.ASCENDING);
         return query;
     }
+
+    public void setTemplate(MongoUserOperations template) {
+        this.template = template;
+    }
+
+    public void setPageTemplate(MongoPageTemplate pageTemplate) {
+        this.pageTemplate = pageTemplate;
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRatingRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRatingRepository.java?rev=1420170&r1=1420169&r2=1420170&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRatingRepository.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRatingRepository.java Tue Dec 11 14:04:02 2012
@@ -149,4 +149,8 @@ public class MongoDbWidgetRatingReposito
         }
         return null;
     }
+
+    public void setTemplate(MongoWidgetOperations template) {
+        this.template = template;
+    }
 }

Modified: rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetTagRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetTagRepository.java?rev=1420170&r1=1420169&r2=1420170&view=diff
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetTagRepository.java (original)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetTagRepository.java Tue Dec 11 14:04:02 2012
@@ -94,4 +94,8 @@ public class MongoDbWidgetTagRepository 
         }
         return null;
     }
+
+    public void setTemplate(MongoWidgetOperations template) {
+        this.template = template;
+    }
 }

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbAuthorityTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbAuthorityTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,22 @@
+package org.apache.rave.portal.model;
+
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.assertThat;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 10:42 AM
+ */
+public class MongoDbAuthorityTest {
+    @Test
+    public void testAuthority(){
+        Authority auth = new MongoDbAuthority();
+        long id = 123;
+        ((MongoDbAuthority)auth).setId(id);
+        assertThat(((MongoDbAuthority) auth).getId(), is(sameInstance((long)123)));
+    }
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbCategoryTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbCategoryTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,82 @@
+package org.apache.rave.portal.model;
+
+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.ArrayList;
+import java.util.List;
+
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.assertThat;
+import static org.springframework.data.mongodb.core.query.Criteria.where;
+import static org.springframework.data.mongodb.core.query.Query.query;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 12:03 PM
+ */
+public class MongoDbCategoryTest {
+    private  MongoDbCategory category;
+    private UserRepository userRepository;
+    private MongoWidgetOperations widgetOperations;
+
+    @Before
+    public void setup(){
+        category = new MongoDbCategory();
+        userRepository = createMock(UserRepository.class);
+        widgetOperations = createMock(MongoWidgetOperations.class);
+        category.setUserRepository(userRepository);
+        category.setWidgetRepository(widgetOperations);
+    }
+    @Test
+    public void testCategory(){
+
+        Long lastModifiedUserId = (long) 123;
+        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.getUserRepository(), is(sameInstance(userRepository)));
+        assertThat(category.getWidgetRepository(), is(sameInstance(widgetOperations)));
+    }
+
+    @Test
+    public void getCreatedUser_Creater_Null(){
+        category.setCreatedUserId((long) 321);
+        User user = new UserImpl();
+        expect(userRepository.get((long)321)).andReturn(user);
+        replay(userRepository);
+
+        assertThat(category.getCreatedUser(), is(sameInstance(user)));
+    }
+
+    @Test
+    public void getLastModiefiedUser_lastModifier_Null(){
+        category.setLastModifiedUserId((long)321);
+        User user = new UserImpl();
+        expect(userRepository.get((long)321)).andReturn(user);
+        replay(userRepository);
+
+        assertThat(category.getLastModifiedUser(), is(sameInstance(user)));
+    }
+
+    @Test
+    public void getWidgets_Widgets_Null(){
+        List<Widget> widgets = new ArrayList<Widget>();
+        expect(widgetOperations.find(query(where("categoryIds").is(category.getId())))).andReturn(widgets);
+        replay(widgetOperations);
+
+        assertThat(category.getWidgets(), is(sameInstance(widgets)));
+    }
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageLayoutTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageLayoutTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,63 @@
+package org.apache.rave.portal.model;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 12:39 PM
+ */
+public class MongoDbPageLayoutTest {
+    private  MongoDbPageLayout pageLayout;
+    private Long id;
+
+    @Before
+    public void setup(){
+        pageLayout = new MongoDbPageLayout();
+        id = (long)123;
+        pageLayout.setId(id);
+    }
+
+    @Test
+    public void equals_Same(){
+          assertTrue(pageLayout.equals(pageLayout));
+    }
+
+    @Test
+    public void equals_Diff_Instance(){
+        Object o = new Object();
+        assertFalse(pageLayout.equals(o));
+    }
+
+    @Test
+    public void equals_Super(){
+        PageLayout p = new MongoDbPageLayout();
+        assertFalse(pageLayout.equals(p));
+    }
+
+    @Test
+    public void equals_Null_Id(){
+        MongoDbPageLayout p_1 = new MongoDbPageLayout();
+        MongoDbPageLayout p_2 = new MongoDbPageLayout();
+        p_1.setId((long)321);
+        assertFalse(p_1.equals(p_2));
+        assertFalse(p_2.equals(p_1));
+    }
+
+    @Test
+    public void equals_Same_Id(){
+        MongoDbPageLayout p_1 = new MongoDbPageLayout();
+        MongoDbPageLayout p_2 = new MongoDbPageLayout();
+        p_1.setId((long)321);
+        p_2.setId((long)321);
+        assertTrue(p_1.equals(p_2));
+    }
+
+    @Test
+    public void hashCode_Valid(){
+        assertNotNull(pageLayout.hashCode());
+    }
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,38 @@
+package org.apache.rave.portal.model;
+
+import org.apache.rave.portal.model.impl.PageLayoutImpl;
+import org.apache.rave.portal.repository.PageLayoutRepository;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.assertThat;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 2:46 PM
+ */
+public class MongoDbPageTemplateTest {
+    private MongoDbPageTemplate template;
+    private PageLayoutRepository pageLayoutRepository;
+
+    @Before
+    public void setup(){
+        template = new MongoDbPageTemplate();
+        pageLayoutRepository = createMock(PageLayoutRepository.class);
+        template.setPageLayoutRepository(pageLayoutRepository);
+    }
+
+    @Test
+    public void getPageLayout(){
+        PageLayout p = new PageLayoutImpl();
+         template.setPageLayoutCode("stinky");
+        expect(pageLayoutRepository.getByPageLayoutCode("stinky")).andReturn(p);
+        replay(pageLayoutRepository);
+
+        assertThat(template.getPageLayout(), is(sameInstance(p)));
+    }
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateWidgetTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTemplateWidgetTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,38 @@
+package org.apache.rave.portal.model;
+
+import org.apache.rave.portal.model.impl.WidgetImpl;
+import org.apache.rave.portal.repository.WidgetRepository;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.assertThat;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 1:28 PM
+ */
+public class MongoDbPageTemplateWidgetTest {
+    private WidgetRepository widgetRepository;
+    private MongoDbPageTemplateWidget templateWidget;
+
+    @Before
+    public void setup() {
+        widgetRepository = createMock(WidgetRepository.class);
+        templateWidget = new MongoDbPageTemplateWidget();
+        templateWidget.setWidgetRepository(widgetRepository);
+        templateWidget.setWidgetId((long) 123);
+    }
+
+    @Test
+    public void getWidget_Null() {
+        Widget widget = new WidgetImpl();
+        expect(widgetRepository.get((long) 123)).andReturn(widget);
+        replay(widgetRepository);
+
+        assertThat(templateWidget.getWidget(), is(sameInstance(widget)));
+    }
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,73 @@
+package org.apache.rave.portal.model;
+
+import org.apache.rave.portal.model.impl.UserImpl;
+import org.apache.rave.portal.repository.UserRepository;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.*;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 2:37 PM
+ */
+public class MongoDbPageTest {
+    private MongoDbPage page;
+    private UserRepository repository;
+
+    @Before
+    public void setup() {
+        page = new MongoDbPage();
+        repository = createMock(UserRepository.class);
+        page.setUserRepository(repository);
+    }
+
+    @Test
+    public void getOwner_Null_Owner(){
+        User user = new UserImpl();
+        page.setOwnerId((long)123);
+        expect(repository.get((long) 123)).andReturn(user);
+        replay(repository);
+
+        assertThat(page.getOwner(), is(sameInstance(user)));
+    }
+
+    @Test
+    public void equals_Same(){
+        assertTrue(page.equals(page));
+    }
+
+    @Test
+    public void equals_Not_Same_Instance(){
+        Object o = new Object();
+        assertFalse(page.equals(o));
+
+    }
+
+    @Test
+    public void equals_Null_Id(){
+        page.setId((long)123);
+        Widget r = new MongoDbWidget();
+        assertFalse(page.equals(r));
+        assertFalse(r.equals(page));
+
+    }
+
+    @Test
+    public void equals_Valid(){
+        page.setId((long)123);
+        MongoDbPage r = new MongoDbPage();
+        r.setId((long) 123);
+        assertTrue(page.equals(r));
+    }
+
+    @Test
+    public void hashCode_Valid(){
+        assertNotNull(page.hashCode());
+    }
+
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageUserTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPageUserTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,72 @@
+package org.apache.rave.portal.model;
+
+import org.apache.rave.portal.model.impl.UserImpl;
+import org.apache.rave.portal.repository.UserRepository;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.*;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 3:31 PM
+ */
+public class MongoDbPageUserTest {
+    private MongoDbPageUser pageUser = new MongoDbPageUser();
+    private UserRepository userRepository;
+
+    @Before
+    public void setup(){
+         pageUser = new MongoDbPageUser();
+        userRepository = createMock(UserRepository.class);
+        pageUser.setUserRepository(userRepository);
+    }
+
+    @Test
+    public void getUser_Valid(){
+        pageUser.setUserId((long)123);
+        User user = new UserImpl();
+        expect(userRepository.get((long)123)).andReturn(user);
+        replay(userRepository);
+
+        assertThat(pageUser.getUser(), is(sameInstance(user)));
+    }
+
+    @Test
+    public void equals_Same(){
+        assertTrue(pageUser.equals(pageUser));
+    }
+
+    @Test
+    public void equals_Not_Same_Instance(){
+        Object o = new Object();
+        assertFalse(pageUser.equals(o));
+
+    }
+
+    @Test
+    public void equals_Null_Id(){
+        pageUser.setId((long)123);
+        MongoDbPageUser r = new MongoDbPageUser();
+        assertFalse(pageUser.equals(r));
+        assertFalse(r.equals(pageUser));
+
+    }
+
+    @Test
+    public void equals_Valid(){
+        pageUser.setId((long)123);
+        MongoDbPageUser r = new MongoDbPageUser();
+        r.setId((long) 123);
+        assertTrue(pageUser.equals(r));
+    }
+
+    @Test
+    public void hashCode_Valid(){
+        assertNotNull(pageUser.hashCode());
+    }
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPersonAssociationTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPersonAssociationTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,27 @@
+package org.apache.rave.portal.model;
+
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 1:37 PM
+ */
+public class MongoDbPersonAssociationTest {
+
+    @Test
+    public void testPersonAssociation(){
+
+        MongoDbPersonAssociation personAssociation = new MongoDbPersonAssociation();
+        personAssociation.setRequestStatus(FriendRequestStatus.ACCEPTED);
+        personAssociation.setPersonId((long)46765);
+
+        assertThat(personAssociation.getRequestStatus(), is(equalTo(FriendRequestStatus.ACCEPTED)));
+        assertThat(personAssociation.getPersonId(), is(equalTo((long)46765)));
+
+    }
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPortalPreferenceTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbPortalPreferenceTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,22 @@
+package org.apache.rave.portal.model;
+
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 3:37 PM
+ */
+public class MongoDbPortalPreferenceTest {
+    @Test
+    public void testPortalPreference(){
+        MongoDbPortalPreference pp = new MongoDbPortalPreference();
+        pp.setId((long)123);
+
+        assertThat(pp.getId(), is(equalTo((long)123)));
+    }
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbRegionWidgetTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbRegionWidgetTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,73 @@
+package org.apache.rave.portal.model;
+
+import org.apache.rave.portal.model.impl.WidgetImpl;
+import org.apache.rave.portal.repository.WidgetRepository;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.*;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 1:38 PM
+ */
+public class MongoDbRegionWidgetTest {
+    private MongoDbRegionWidget regionWidget;
+    private WidgetRepository widgetRepository;
+
+    @Before
+    public void setup(){
+        regionWidget = new MongoDbRegionWidget();
+        widgetRepository = createMock(WidgetRepository.class);
+        regionWidget.setWidgetRepository(widgetRepository);
+    }
+
+    @Test
+    public void getWidget_Widget_Null(){
+        regionWidget.setWidgetId((long)123);
+        Widget widget = new WidgetImpl();
+        expect(widgetRepository.get((long)123)).andReturn(widget);
+        replay(widgetRepository);
+
+        assertThat(widget, is(sameInstance(regionWidget.getWidget())));
+
+    }
+
+    @Test
+    public void equals_Same(){
+        assertTrue(regionWidget.equals(regionWidget));
+    }
+
+    @Test
+    public void equals_Not_Same_Instance(){
+        Object o = new Object();
+        assertFalse(regionWidget.equals(o));
+
+    }
+
+    @Test
+    public void equals_Null_Id(){
+        regionWidget.setId((long)123);
+        RegionWidget r = new MongoDbRegionWidget();
+        assertFalse(regionWidget.equals(r));
+        assertFalse(r.equals(regionWidget));
+
+    }
+
+    @Test
+    public void equals_Valid(){
+        regionWidget.setId((long)123);
+        RegionWidget r = new MongoDbRegionWidget();
+        r.setId((long)123);
+        assertTrue(regionWidget.equals(r));
+    }
+
+    @Test
+    public void hashCode_Valid(){
+        assertNotNull(regionWidget.hashCode());
+    }
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbUserTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbUserTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,122 @@
+package org.apache.rave.portal.model;
+
+import org.apache.rave.portal.model.impl.AuthorityImpl;
+import org.apache.rave.portal.model.impl.PageLayoutImpl;
+import org.apache.rave.portal.repository.PageLayoutRepository;
+import org.junit.Before;
+import org.junit.Test;
+import org.springframework.security.core.GrantedAuthority;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.*;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 1:49 PM
+ */
+public class MongoDbUserTest {
+
+    private MongoDbUser user;
+    private PageLayoutRepository pageLayoutRepository;
+
+    @Before
+    public void setup(){
+        user = new MongoDbUser();
+        pageLayoutRepository = createMock(PageLayoutRepository.class);
+        user.setPageLayoutRepository(pageLayoutRepository);
+    }
+
+    @Test
+    public void setAuthorities_Null(){
+        ArrayList<String> array = new ArrayList<String>();
+        array.add("string");
+        user.setAuthorityCodes(array);
+           user.setAuthorities(null);
+        assertTrue(user.getAuthorityCodes().isEmpty());
+    }
+
+    @Test
+    public void setAuthorities_Valid(){
+        Authority auth = new AuthorityImpl();
+        auth.setAuthority("auth");
+        user.setAuthorities(Arrays.asList(auth));
+
+        assertNotNull(user.getAuthorityCodes());
+        assertThat(user.getAuthorityCodes().get(0), is(sameInstance(auth.getAuthority())));
+    }
+
+    @Test
+    public void equals_Same(){
+        assertTrue(user.equals(user));
+    }
+
+    @Test
+    public void equals_Not_Same_Instance(){
+        Object o = new Object();
+        assertFalse(user.equals(o));
+
+    }
+
+    @Test
+    public void equals_Null_Id(){
+        user.setId((long)123);
+        MongoDbUser r = new MongoDbUser();
+        assertFalse(user.equals(r));
+        assertFalse(r.equals(user));
+
+    }
+
+    @Test
+    public void equals_Valid(){
+        user.setId((long)123);
+        MongoDbUser r = new MongoDbUser();
+        r.setId((long) 123);
+        assertTrue(user.equals(r));
+    }
+
+    @Test
+    public void hashCode_Valid(){
+        assertNotNull(user.hashCode());
+    }
+
+    @Test
+    public void getAuthorities_Valid(){
+        ArrayList<String> array = new ArrayList<String>();
+        array.add("string");
+        user.setAuthorityCodes(array);
+
+        Collection<GrantedAuthority> granted = user.getAuthorities();
+
+        assertTrue(granted.size() == 1);
+    }
+
+    @Test
+    public void removeAuthority_Valid(){
+        Authority auth = new AuthorityImpl();
+        auth.setAuthority("stinky");
+        user.setAuthorityCodes(new ArrayList<String>());
+        user.getAuthorityCodes().add("stinky");
+
+        user.removeAuthority(auth);
+
+        assertFalse(user.getAuthorityCodes().contains("stinky"));
+    }
+
+    @Test
+    public void getDefaultPageLayout_Valid(){
+        PageLayout layout = new PageLayoutImpl();
+        user.setDefaultPageLayoutCode("dingus");
+        expect(pageLayoutRepository.getByPageLayoutCode("dingus")).andReturn(layout);
+        replay(pageLayoutRepository);
+
+        assertThat(user.getDefaultPageLayout(), is(sameInstance(layout)));
+    }
+
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetCommentTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetCommentTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,38 @@
+package org.apache.rave.portal.model;
+
+import org.apache.rave.portal.model.impl.UserImpl;
+import org.apache.rave.portal.repository.UserRepository;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.assertThat;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 3:40 PM
+ */
+public class MongoDbWidgetCommentTest {
+    private MongoDbWidgetComment comment;
+    private UserRepository userRepository;
+
+    @Before
+    public void setup(){
+        comment = new MongoDbWidgetComment();
+        userRepository = createMock(UserRepository.class);
+        comment.setUserRepository(userRepository);
+    }
+
+    @Test
+    public void getUser_Valid(){
+        comment.setUserId((long)123);
+        User user = new UserImpl();
+        expect(userRepository.get((long)123)).andReturn(user);
+        replay(userRepository);
+
+        assertThat(comment.getUser(), is(sameInstance(user)));
+    }
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTagTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTagTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,38 @@
+package org.apache.rave.portal.model;
+
+import org.apache.rave.portal.model.impl.UserImpl;
+import org.apache.rave.portal.repository.UserRepository;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.assertThat;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 2:02 PM
+ */
+public class MongoDbWidgetTagTest {
+    private UserRepository userRepository;
+    private MongoDbWidgetTag widgetTag;
+
+    @Before
+    public void setup(){
+        userRepository = createMock(UserRepository.class);
+        widgetTag = new MongoDbWidgetTag();
+        widgetTag.setUserRepository(userRepository);
+    }
+
+    @Test
+    public void getUser_Null_User(){
+        User user = new UserImpl();
+        widgetTag.setUserId((long)123);
+         expect(userRepository.get((long)123)).andReturn(user);
+        replay(userRepository);
+
+        assertThat(widgetTag.getUser(), is(sameInstance(user)));
+    }
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/MongoDbWidgetTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,82 @@
+package org.apache.rave.portal.model;
+
+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 static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.*;
+
+/**
+ * User: DSULLIVAN
+ * Date: 12/10/12
+ * Time: 1:49 PM
+ */
+public class MongoDbWidgetTest {
+
+    private MongoDbWidget widget;
+    private CategoryRepository categoryRepository;
+    private UserRepository userRepository;
+
+    @Before
+    public void setup(){
+        widget = new MongoDbWidget();
+        categoryRepository = createMock(CategoryRepository.class);
+        userRepository = createMock(UserRepository.class);
+        widget.setCategoryRepository(categoryRepository);
+        widget.setUserRepository(userRepository);
+    }
+
+    @Test
+    public void getOwner_Null(){
+        widget.setOwnerId((long)123);
+        User user = new UserImpl();
+        expect(userRepository.get((long)123)).andReturn(user);
+        replay(userRepository);
+        assertThat(widget.getOwner(), is(sameInstance(user)));
+    }
+
+    @Test
+    public void getCategories_Valid(){
+        assertNotNull(widget.getCategories());
+    }
+
+    @Test
+    public void equals_Same(){
+        assertTrue(widget.equals(widget));
+    }
+
+    @Test
+    public void equals_Not_Same_Instance(){
+        Object o = new Object();
+        assertFalse(widget.equals(o));
+
+    }
+
+    @Test
+    public void equals_Null_Id(){
+        widget.setId((long)123);
+        Widget r = new MongoDbWidget();
+        assertFalse(widget.equals(r));
+        assertFalse(r.equals(widget));
+
+    }
+
+    @Test
+    public void equals_Valid(){
+        widget.setId((long)123);
+        Widget r = new MongoDbWidget();
+        ((MongoDbWidget)r).setId((long) 123);
+        assertTrue(widget.equals(r));
+    }
+
+    @Test
+    public void hashCode_Valid(){
+        assertNotNull(widget.hashCode());
+    }
+
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongDbConverterTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongDbConverterTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,96 @@
+package org.apache.rave.portal.model.conversion.impl;
+
+import org.apache.rave.model.ModelConverter;
+import org.apache.rave.portal.model.conversion.HydratingModelConverter;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.assertThat;
+
+
+/**
+ * Created with IntelliJ IDEA.
+ * User: dsullivan
+ * Date: 11/16/12
+ * Time: 4:01 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class MongDbConverterTest {
+    private MongoDbConverter converter;
+    private ModelConverter mock1;
+    private ModelConverter mock2;
+    private List<HydratingModelConverter> converterList;
+
+    @Rule
+    public ExpectedException thrown = ExpectedException.none();
+
+    @Before
+    public void setup(){
+        converter = new MongoDbConverter();
+        mock1 = createMock(HydratingModelConverter.class);
+        mock2 = createMock(HydratingModelConverter.class);
+        converterList = Arrays.asList(
+                (HydratingModelConverter)mock1,
+                (HydratingModelConverter)mock2
+        );
+
+        expect(mock1.getSourceType()).andReturn(String.class);
+        expect(mock2.getSourceType()).andReturn(Integer.class);
+    }
+
+    @Test
+    public void hydrate_Valid(){
+        String source = "blah";
+        Class<String> clazz = String.class;
+        ((HydratingModelConverter)mock1).hydrate(source);
+        expectLastCall();
+        replay(mock1);
+        converter.setConverters(converterList);
+        long exceptionSource = 432;
+        Class<Long> exceptionClass = Long.class;
+
+        converter.hydrate(source, clazz);
+        verify(mock1);
+
+        thrown.expect(IllegalArgumentException.class);
+        thrown.expectMessage("No ModelConverter found for type "+exceptionClass);
+
+        converter.hydrate(exceptionSource, exceptionClass);
+    }
+
+    @Test
+    public void convert_Valid(){
+        String source = "blah";
+        Class<String> clazz = String.class;
+        long returned = 123;
+        long exceptionSource = 432;
+        Class<Long> exceptionClass = Long.class;
+        expect(mock1.convert(source)).andReturn(returned);
+        replay(mock1);
+        converter.setConverters(converterList);
+
+        assertThat(converter.<String, Long>convert(source, clazz),is(sameInstance(returned)));
+
+        thrown.expect(IllegalArgumentException.class);
+        thrown.expectMessage("No ModelConverter found for type "+exceptionClass);
+
+        converter.hydrate(exceptionSource, exceptionClass);
+    }
+
+    @Test
+    public void getConverter_Valid(){
+        replay(mock1,mock2);
+        converter.setConverters(converterList);
+        assertThat(converter.getConverter(String.class), is(sameInstance(mock1)));
+        assertThat(converter.getConverter(Integer.class), is(sameInstance(mock2)));
+    }
+
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbAuthorityConverterTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbAuthorityConverterTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,59 @@
+package org.apache.rave.portal.model.conversion.impl;
+
+import org.apache.rave.portal.model.Authority;
+import org.apache.rave.portal.model.MongoDbAuthority;
+import org.apache.rave.portal.model.impl.AuthorityImpl;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+
+/**
+ * A test for the MongoDbAuthorityCoverter.java
+ * To change this template use File | Settings | File Templates.
+ */
+public class MongoDbAuthorityConverterTest {
+    private MongoDbAuthorityConverter authorityConverter;
+
+    @Before
+    public void setup(){
+        authorityConverter = new MongoDbAuthorityConverter();
+    }
+
+    @Test
+    public void hydrate_Valid(){
+        MongoDbAuthority authority = new MongoDbAuthority();
+        authorityConverter.hydrate(authority);
+        assertNotNull(authority);
+    }
+
+    @Test
+    public void convert_Valid(){
+        Authority authority = new AuthorityImpl();
+        authority.setAuthority("asd;lkfjlkj");
+        authority.setDefaultForNewUser(true);
+
+        MongoDbAuthority converted = authorityConverter.convert(authority);
+        assertNotNull(converted.getAuthority());
+        assertNotNull(converted.getId());
+        assertThat(converted.getAuthority(), is(sameInstance(authority.getAuthority())));
+        assertThat(converted.isDefaultForNewUser(), is(sameInstance(authority.isDefaultForNewUser())));
+
+        Authority authorityMongo = new MongoDbAuthority();
+        authorityMongo.setAuthority("authority");
+        authorityMongo.setDefaultForNewUser(true);
+        MongoDbAuthority mongoConverted = authorityConverter.convert(authorityMongo);
+        assertThat(mongoConverted, is(sameInstance(authorityMongo)));
+        assertThat(mongoConverted.getAuthority(), is(sameInstance(authorityMongo.getAuthority())));
+        assertThat(mongoConverted.isDefaultForNewUser(), is(sameInstance(authorityMongo.isDefaultForNewUser())));
+    }
+
+    @Test
+    public void getSourceType_Valid(){
+        assertNotNull(authorityConverter.getSourceType());
+    }
+
+}

Added: 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=1420170&view=auto
==============================================================================
--- rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageTemplateConverterTest.java (added)
+++ rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageTemplateConverterTest.java Tue Dec 11 14:04:02 2012
@@ -0,0 +1,268 @@
+package org.apache.rave.portal.model.conversion.impl;
+
+import org.apache.rave.portal.model.*;
+import org.apache.rave.portal.model.impl.PageTemplateRegionImpl;
+import org.apache.rave.portal.model.impl.WidgetImpl;
+import org.apache.rave.portal.repository.PageLayoutRepository;
+import org.apache.rave.portal.repository.WidgetRepository;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+
+/**
+ * Created with IntelliJ IDEA.
+ * User: dsullivan
+ * Date: 11/26/12
+ * Time: 10:01 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class MongoDbPageTemplateConverterTest {
+    private MongoDbPageTemplateConverter pageTemplateConverter;
+    private PageLayoutRepository pageLayoutRepository;
+    private WidgetRepository widgetRepository;
+
+    @Before
+    public void setup() {
+        pageLayoutRepository = createMock(PageLayoutRepository.class);
+        widgetRepository = createMock(WidgetRepository.class);
+        pageTemplateConverter = new MongoDbPageTemplateConverter();
+        pageTemplateConverter.setPageLayoutRepository(pageLayoutRepository);
+        pageTemplateConverter.setWidgetRepository(widgetRepository);
+    }
+
+    @Test
+    public void getSourceType_Valid() {
+        assertThat(pageTemplateConverter.getSourceType(), equalTo(PageTemplate.class));
+    }
+
+    @Test
+    public void hydrate_Valid() {
+        MongoDbPageTemplate mongoDbPageTemplate = new MongoDbPageTemplate();
+        PageTemplateRegion ptRegion1 = new PageTemplateRegionImpl();
+        PageTemplateRegion ptRegion2 = new PageTemplateRegionImpl();
+        PageTemplateRegion ptRegion3 = new PageTemplateRegionImpl();
+        PageTemplateRegion ptRegion4 = new PageTemplateRegionImpl();
+        List<PageTemplateRegion> pageTemplateRegions1 = Arrays.asList(
+                ptRegion1,
+                ptRegion2
+        );
+        List<PageTemplateRegion> pageTemplateRegions2 = Arrays.asList(
+                ptRegion3
+        );
+        List<PageTemplateRegion> pageTemplateRegions3 = Arrays.asList(
+                ptRegion4
+        );
+        mongoDbPageTemplate.setPageTemplateRegions(pageTemplateRegions1);
+        PageTemplateWidget widget1 = new MongoDbPageTemplateWidget();
+        PageTemplateWidget widget2 = new MongoDbPageTemplateWidget();
+        PageTemplateWidget widget3 = new MongoDbPageTemplateWidget();
+        PageTemplateWidget widget4 = new MongoDbPageTemplateWidget();
+        PageTemplateWidget widget5 = new MongoDbPageTemplateWidget();
+
+        PageTemplate template1 = new MongoDbPageTemplate();
+        PageTemplate template2 = new MongoDbPageTemplate();
+
+        List<PageTemplateWidget> pageTemplateWidgets1 = Arrays.asList(
+                widget1,
+                widget2
+        );
+        List<PageTemplateWidget> pageTemplateWidgets2 = Arrays.asList(
+                widget3
+        );
+        List<PageTemplateWidget> pageTemplateWidgets3 = Arrays.asList(
+                widget4
+        );
+        List<PageTemplateWidget> pageTemplateWidgets4 = Arrays.asList(
+                widget5
+        );
+        List<PageTemplate> pageTemplates = Arrays.asList(
+                template1,
+                template2
+        );
+        ptRegion1.setPageTemplateWidgets(pageTemplateWidgets1);
+        ptRegion2.setPageTemplateWidgets(pageTemplateWidgets2);
+        ptRegion3.setPageTemplateWidgets(pageTemplateWidgets3);
+        ptRegion4.setPageTemplateWidgets(pageTemplateWidgets4);
+        template1.setPageTemplateRegions(pageTemplateRegions2);
+        template2.setPageTemplateRegions(pageTemplateRegions3);
+        mongoDbPageTemplate.setSubPageTemplates(pageTemplates);
+
+        pageTemplateConverter.hydrate(mongoDbPageTemplate);
+
+        assertThat(mongoDbPageTemplate.getPageLayoutRepository(), is(sameInstance(pageLayoutRepository)));
+        assertThat((MongoDbPageTemplate) ptRegion1.getPageTemplate(), is(sameInstance(mongoDbPageTemplate)));
+        assertThat((MongoDbPageTemplate) ptRegion2.getPageTemplate(), is(sameInstance(mongoDbPageTemplate)));
+        assertThat(((MongoDbPageTemplateWidget)widget1).getWidgetRepository(),is(sameInstance(widgetRepository)));
+        assertThat(((MongoDbPageTemplateWidget)widget2).getWidgetRepository(),is(sameInstance(widgetRepository)));
+        assertThat(((MongoDbPageTemplateWidget)widget3).getWidgetRepository(),is(sameInstance(widgetRepository)));
+        assertThat(((MongoDbPageTemplateWidget)widget4).getWidgetRepository(),is(sameInstance(widgetRepository)));
+        assertThat(((MongoDbPageTemplateWidget)widget5).getWidgetRepository(),is(sameInstance(widgetRepository)));
+        assertThat(widget1.getPageTemplateRegion(), is(sameInstance(ptRegion1)));
+        assertThat(widget2.getPageTemplateRegion(), is(sameInstance(ptRegion1)));
+        assertThat(widget3.getPageTemplateRegion(), is(sameInstance(ptRegion2)));
+        assertThat(widget4.getPageTemplateRegion(), is(sameInstance(ptRegion3)));
+        assertThat(widget5.getPageTemplateRegion(), is(sameInstance(ptRegion4)));
+
+        assertThat((MongoDbPageTemplate) template1.getParentPageTemplate(), is(sameInstance(mongoDbPageTemplate)));
+        assertThat((MongoDbPageTemplate) template2.getParentPageTemplate(), is(sameInstance(mongoDbPageTemplate)));
+    }
+
+    @Test
+    public void hydrate_Null(){
+        pageTemplateConverter.hydrate(null);
+        assertThat(true, is(true));
+    }
+
+    @Test
+    public void convert_Valid(){ /*
+        PageTemplate pageTemplate = new PageTemplateImpl();
+        MongoDbPageTemplate mongoDbPageTemplate1 = pageTemplateConverter.convert(pageTemplate);
+
+        assertNotNull(mongoDbPageTemplate1.getId());
+        assertThat(mongoDbPageTemplate1.getName(), is(pageTemplate.getName()));
+        assertThat(mongoDbPageTemplate1.getDescription(), is(pageTemplate.getDescription()));
+        assertThat(mongoDbPageTemplate1.getPageType(), is(pageTemplate.getPageType()));
+        assertNull(mongoDbPageTemplate1.getParentPageTemplate());
+        assertThat(mongoDbPageTemplate1.getPageLayoutCode(), is(pageTemplate.getPageLayout().getCode()));
+        assertNull(mongoDbPageTemplate1.getPageLayout());
+        assertThat(mongoDbPageTemplate1.getRenderSequence(), is(pageTemplate.getRenderSequence()));
+        assertThat(mongoDbPageTemplate1.isDefaultTemplate(), is(pageTemplate.isDefaultTemplate()));*/
+
+        PageTemplate mongoPageTemplate1 = new MongoDbPageTemplate();
+        PageTemplate mongoPageTemplate2 = new MongoDbPageTemplate();
+        PageLayoutRepository tempPageLayoutRepository = createMock(PageLayoutRepository.class);
+        WidgetRepository tempWidgetRepository = createMock(WidgetRepository.class);
+        ((MongoDbPageTemplate)mongoPageTemplate1).setPageLayoutRepository(tempPageLayoutRepository);
+        ((MongoDbPageTemplate)mongoPageTemplate2).setPageLayoutRepository(tempPageLayoutRepository);
+        PageTemplateRegion pageTemplateRegion = new PageTemplateRegionImpl();
+        PageTemplateWidget pageTemplateWidget = new MongoDbPageTemplateWidget();
+        ((MongoDbPageTemplateWidget)pageTemplateWidget).setWidgetRepository(tempWidgetRepository);
+
+        //the source PageTemplate tested in the first recursion
+        ((MongoDbPageTemplate)mongoPageTemplate1).setId((long)1234);
+        mongoPageTemplate1.setName("Blah");
+        mongoPageTemplate1.setDescription("Blahty Blahty Blah");
+        mongoPageTemplate1.setPageType(PageType.get("user"));
+        MongoDbPageLayout mongoDbPageLayout1 = new MongoDbPageLayout();
+        mongoDbPageLayout1.setId((long)7777);
+        mongoDbPageLayout1.setCode("4321");
+        mongoPageTemplate1.setPageLayout(mongoDbPageLayout1);
+        mongoPageTemplate1.setRenderSequence((long)9999);
+        mongoPageTemplate1.setDefaultTemplate(true);
+
+        //the PageTemplate to be inserted into the subPageTemplates array, tested in the second recursion loop
+        ((MongoDbPageTemplate)mongoPageTemplate2).setId((long)3232);
+        mongoPageTemplate2.setName("Yeah");
+        mongoPageTemplate2.setDescription("Yeah Yeah Ya");
+        mongoPageTemplate2.setPageType(PageType.get("user"));
+        MongoDbPageLayout mongoDbPageLayout2 = new MongoDbPageLayout();
+        mongoDbPageLayout2.setId((long)8888);
+        mongoDbPageLayout2.setCode("2345");
+        mongoPageTemplate2.setPageLayout(mongoDbPageLayout2);
+        mongoPageTemplate2.setRenderSequence((long)8787);
+        mongoPageTemplate2.setDefaultTemplate(true);
+
+        //the PageTemplateWidget to be add as a field to the pageTemplateWidgets array of the PageTemplateRegion
+        ((MongoDbPageTemplateWidget)pageTemplateWidget).setId((long)3333);
+        pageTemplateWidget.setHideChrome(true);
+        pageTemplateWidget.setRenderSeq((long)3456);
+        Widget widget = new WidgetImpl();
+        ((WidgetImpl)widget).setId((long)87623876);
+        ((MongoDbPageTemplateWidget)pageTemplateWidget).setWidgetId((long)4444);
+        pageTemplateWidget.setLocked(true);
+
+        //the PageTemplateRegion to be converted
+        ((PageTemplateRegionImpl)pageTemplateRegion).setId((long) 2929);
+        pageTemplateRegion.setRenderSequence((long)56376);
+        pageTemplateRegion.setLocked(true);
+
+        //create and add subPageTemplate array to the first PageTemplate
+        List<PageTemplate> subPageTemplates = Arrays.asList(
+                (PageTemplate)mongoPageTemplate2
+        );
+        mongoPageTemplate1.setSubPageTemplates(subPageTemplates);
+
+        //create and add pageTemplateWidgets to the PageTemplateRegion
+        List<PageTemplateWidget> pageTemplateWidgets = Arrays.asList(
+              pageTemplateWidget
+        );
+         pageTemplateRegion.setPageTemplateWidgets(pageTemplateWidgets);
+
+        //create and add pageTemplateRegions to the first PageTemplate
+        List<PageTemplateRegion> pageTemplateRegions = Arrays.asList(
+            pageTemplateRegion
+        );
+        mongoPageTemplate1.setPageTemplateRegions(pageTemplateRegions);
+
+        expect(tempPageLayoutRepository.getByPageLayoutCode("4321")).andReturn(mongoDbPageLayout1);
+        expect(tempPageLayoutRepository.getByPageLayoutCode("2345")).andReturn(mongoDbPageLayout2);
+        expect(tempWidgetRepository.get(4444)).andReturn(widget);
+        replay(tempPageLayoutRepository, tempWidgetRepository);
+
+        MongoDbPageTemplate convertedTemplate = pageTemplateConverter.convert(mongoPageTemplate1);
+
+        //test convert made in first convert call
+        assertNotNull(convertedTemplate.getId());
+        assertThat(convertedTemplate.getName(), is(mongoPageTemplate1.getName()));
+        assertThat(convertedTemplate.getDescription(), is(mongoPageTemplate1.getDescription()));
+        assertThat(convertedTemplate.getPageType(), is(mongoPageTemplate1.getPageType()));
+        assertNull(convertedTemplate.getParentPageTemplate());
+        assertThat(convertedTemplate.getPageLayoutCode(), is(mongoPageTemplate1.getPageLayout().getCode()));
+        //assertNotNull(mongoDbPageTemplate2.getPageLayout());//This should be testing to see that the PageLayout is being properly set
+        assertThat(convertedTemplate.getRenderSequence(), is(mongoPageTemplate1.getRenderSequence()));
+        assertThat(convertedTemplate.isDefaultTemplate(), is(mongoPageTemplate1.isDefaultTemplate()));
+
+        //test converts made in second subPageTemplate loop
+        for(int i = 0; i< convertedTemplate.getSubPageTemplates().size(); i++){
+            PageTemplate source = mongoPageTemplate1.getSubPageTemplates().get(i);
+            PageTemplate converted = convertedTemplate.getSubPageTemplates().get(i);
+
+            assertNotNull(converted.getId());
+            assertThat(converted.getName(), is(source.getName()));
+            assertThat(converted.getDescription(), is(source.getDescription()));
+            assertThat(converted.getPageType(), is(source.getPageType()));
+            assertNull(converted.getParentPageTemplate());
+            assertThat(((MongoDbPageTemplate)converted).getPageLayoutCode(), is(source.getPageLayout().getCode()));
+            //assertNotNull(converted.getPageLayout());//This should be testing to see that the PageLayout is being properly set
+            assertThat(converted.getRenderSequence(), is(source.getRenderSequence()));
+            assertThat(converted.isDefaultTemplate(), is(source.isDefaultTemplate()));
+        }
+
+        //test converts made in the PageTemplateRegions loop
+        for(int i = 0; i< convertedTemplate.getPageTemplateRegions().size(); i++){
+            PageTemplateRegion source = mongoPageTemplate1.getPageTemplateRegions().get(i);
+            PageTemplateRegion converted = convertedTemplate.getPageTemplateRegions().get(i);
+
+            assertThat(converted.getId(), is(source.getId()));
+            assertThat(converted.getRenderSequence(), is(source.getRenderSequence()));
+            //assertNotNull(converted.getPageTemplate()); // this should test to make sure the PageTemplate was set
+            assertThat(converted.isLocked(), is(source.isLocked()));
+
+            //test converts made in the PageTemplateWidgets loop
+            for(int j = 0; j<converted.getPageTemplateWidgets().size(); j++){
+                PageTemplateWidget widgetSource = source.getPageTemplateWidgets().get(j);
+                PageTemplateWidget widgetConverted = converted.getPageTemplateWidgets().get(j);
+
+                assertThat(widgetConverted.getId(), is(widgetSource.getId()));
+                assertThat(widgetConverted.isHideChrome(), is(widgetSource.isHideChrome()));
+                assertThat(widgetConverted.getRenderSeq(), is(widgetSource.getRenderSeq()));
+                assertThat(((MongoDbPageTemplateWidget)widgetConverted).getWidgetId(), is(((MongoDbPageTemplateWidget)widgetSource).getWidgetId()));
+                //assertNotNull(widgetConverted.getWidget());//This should test to make sure the WidgetId is set
+                assertThat(widgetConverted.isLocked(), is(widgetSource.isLocked()));
+            }
+        }
+
+
+
+
+    }
+
+}