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 2013/10/07 02:06:50 UTC

svn commit: r1529722 - in /rave/trunk/rave-components/rave-mongodb/src: main/java/org/apache/rave/portal/repository/ main/java/org/apache/rave/portal/repository/impl/ test/java/org/apache/rave/portal/repository/impl/

Author: mfranklin
Date: Mon Oct  7 00:06:49 2013
New Revision: 1529722

URL: http://svn.apache.org/r1529722
Log:
Updated repository to use Operations model (RAVE-1062)

Added:
    rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageTemplateOperations.java
    rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplateTemplate.java
Modified:
    rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java
    rave/trunk/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepositoryTest.java

Added: rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageTemplateOperations.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageTemplateOperations.java?rev=1529722&view=auto
==============================================================================
--- rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageTemplateOperations.java (added)
+++ rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageTemplateOperations.java Mon Oct  7 00:06:49 2013
@@ -0,0 +1,5 @@
+package org.apache.rave.portal.repository;
+
+import org.apache.rave.model.PageTemplate;
+
+public interface MongoPageTemplateOperations extends MongoModelOperations<PageTemplate> {}

Modified: rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java?rev=1529722&r1=1529721&r2=1529722&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java (original)
+++ rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java Mon Oct  7 00:06:49 2013
@@ -19,21 +19,18 @@
 
 package org.apache.rave.portal.repository.impl;
 
-import org.apache.rave.portal.model.MongoDbPageTemplate;
 import org.apache.rave.model.PageTemplate;
-import org.apache.rave.portal.model.conversion.HydratingConverterFactory;
+import org.apache.rave.portal.repository.MongoPageTemplateOperations;
 import org.apache.rave.portal.repository.PageTemplateRepository;
-import org.apache.rave.util.CollectionUtils;
 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;
 import sun.reflect.generics.reflectiveObjects.NotImplementedException;
 
 import java.util.List;
 
-import static org.apache.rave.portal.repository.util.CollectionNames.PAGE_TEMPLATE_COLLECTION;
 import static org.springframework.data.mongodb.core.query.Criteria.where;
+import static org.springframework.data.mongodb.core.query.Query.query;
 
 /**
  */
@@ -41,41 +38,31 @@ import static org.springframework.data.m
 public class MongoDbPageTemplateRepository implements PageTemplateRepository {
 
     @Autowired
-    private HydratingConverterFactory converter;
-
-    @Autowired
-    private MongoOperations template;
+    private MongoPageTemplateOperations template;
 
     @Override
     public List<PageTemplate> getAll() {
-        List<MongoDbPageTemplate> templates = template.findAll(MongoDbPageTemplate.class, PAGE_TEMPLATE_COLLECTION);
-        for(MongoDbPageTemplate temp : templates) {
-            converter.hydrate(temp, PageTemplate.class);
-        }
-        return CollectionUtils.<PageTemplate>toBaseTypedList(templates);
+        return template.find(new Query());
     }
 
     @Override
     public List<PageTemplate> getLimitedList(int offset, int limit) {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
+        return template.find(new Query().limit(limit).skip(offset));
     }
 
     @Override
     public int getCountAll() {
-        return 0;
+        return (int)template.count(new Query());
     }
 
     @Override
     public List<PageTemplate> getAllForType(String pageType) {
-
-        return null;
+        return template.find(query(where("pageType").is(pageType.toUpperCase())));
     }
 
     @Override
     public PageTemplate getDefaultPage(String pageType) {
-        PageTemplate temp = template.findOne(new Query(where("pageType").is(pageType.toUpperCase()).andOperator(where("defaultTemplate").is(true))), MongoDbPageTemplate.class, PAGE_TEMPLATE_COLLECTION);
-        converter.hydrate(temp, PageTemplate.class);
-        return temp;
+        return template.findOne(new Query(where("pageType").is(pageType.toUpperCase()).andOperator(where("defaultTemplate").is(true))));
     }
 
     @Override
@@ -85,27 +72,20 @@ public class MongoDbPageTemplateReposito
 
     @Override
     public PageTemplate get(String id) {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
+        return template.get(id);
     }
 
     @Override
     public PageTemplate save(PageTemplate pageTemplate) {
-        MongoDbPageTemplate converted = converter.convert(pageTemplate, PageTemplate.class);
-        template.save(converted, PAGE_TEMPLATE_COLLECTION);
-        converter.hydrate(converted, PageTemplate.class);
-        return converted;
+        return template.save(pageTemplate);
     }
 
     @Override
     public void delete(PageTemplate item) {
-        throw new NotImplementedException();
-    }
-
-    public void setConverter(HydratingConverterFactory converter) {
-        this.converter = converter;
+        template.remove(query(where("_id").is(item.getId())));
     }
 
-    public void setTemplate(MongoOperations template) {
+    public void setTemplate(MongoPageTemplateOperations template) {
         this.template = template;
     }
 }

Added: rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplateTemplate.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplateTemplate.java?rev=1529722&view=auto
==============================================================================
--- rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplateTemplate.java (added)
+++ rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplateTemplate.java Mon Oct  7 00:06:49 2013
@@ -0,0 +1,17 @@
+package org.apache.rave.portal.repository.impl;
+
+import org.apache.rave.model.PageTemplate;
+import org.apache.rave.portal.model.MongoDbPageTemplate;
+import org.apache.rave.portal.repository.MongoPageTemplateOperations;
+
+import static org.apache.rave.portal.repository.util.CollectionNames.PAGE_TEMPLATE_COLLECTION;
+
+/**
+ * MongoModelTemplate for the PageTemplate class
+ */
+public class MongoPageTemplateTemplate extends MongoModelTemplate<PageTemplate, MongoDbPageTemplate> implements MongoPageTemplateOperations {
+
+    public MongoPageTemplateTemplate() {
+        super(PageTemplate.class, MongoDbPageTemplate.class, PAGE_TEMPLATE_COLLECTION);
+    }
+}

Modified: rave/trunk/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepositoryTest.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepositoryTest.java?rev=1529722&r1=1529721&r2=1529722&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepositoryTest.java (original)
+++ rave/trunk/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepositoryTest.java Mon Oct  7 00:06:49 2013
@@ -24,6 +24,7 @@ import org.apache.rave.model.PageTemplat
 import org.apache.rave.model.PageType;
 import org.apache.rave.portal.model.conversion.HydratingConverterFactory;
 import org.apache.rave.portal.model.impl.PageTemplateImpl;
+import org.apache.rave.portal.repository.MongoPageTemplateOperations;
 import org.apache.rave.portal.repository.util.CollectionNames;
 import org.apache.rave.util.CollectionUtils;
 import org.junit.Before;
@@ -48,30 +49,24 @@ import static org.springframework.data.m
 public class MongoDbPageTemplateRepositoryTest {
 
     private MongoDbPageTemplateRepository templateRepository;
-    private HydratingConverterFactory converter;
-    private MongoOperations template;
+    private MongoPageTemplateOperations template;
 
     @Before
     public void setup(){
         templateRepository = new MongoDbPageTemplateRepository();
-        converter = createMock(HydratingConverterFactory.class);
-        template = createMock(MongoOperations.class);
+        template = createMock(MongoPageTemplateOperations.class);
         templateRepository.setTemplate(template);
-        templateRepository.setConverter(converter);
     }
 
     @Test
     public void getAll_Valid() {
-        List<MongoDbPageTemplate> templates = new ArrayList<MongoDbPageTemplate>();
+        List<PageTemplate> templates = new ArrayList<PageTemplate>();
         PageTemplate temp = new MongoDbPageTemplate();
         templates.add((MongoDbPageTemplate)temp);
-        expect(template.findAll(MongoDbPageTemplate.class, CollectionNames.PAGE_TEMPLATE_COLLECTION)).andReturn(templates);
-        converter.hydrate(temp, PageTemplate.class);
-        expectLastCall();
-        replay(template, converter);
+        expect(template.find(new Query())).andReturn(templates);
+        replay(template);
 
         List<PageTemplate> returned = templateRepository.getAll();
-        verify(converter);
         assertThat(returned, is(sameInstance(CollectionUtils.<PageTemplate>toBaseTypedList(templates))));
     }
 
@@ -79,10 +74,8 @@ public class MongoDbPageTemplateReposito
     public void getDefaultPage_Valid(){
         PageType pageType = PageType.get("user");
         MongoDbPageTemplate found = new MongoDbPageTemplate();
-        expect(template.findOne(new Query(where("pageType").is(pageType.getPageType().toUpperCase()).andOperator(where("defaultTemplate").is(true))), MongoDbPageTemplate.class, CollectionNames.PAGE_TEMPLATE_COLLECTION)).andReturn(found);
-        converter.hydrate(found, PageTemplate.class);
-        expectLastCall();
-        replay(converter, template);
+        expect(template.findOne(new Query(where("pageType").is(pageType.getPageType().toUpperCase()).andOperator(where("defaultTemplate").is(true))))).andReturn(found);
+        replay(template);
 
         PageTemplate returned = templateRepository.getDefaultPage(pageType.toString());
 
@@ -94,12 +87,8 @@ public class MongoDbPageTemplateReposito
         PageTemplate pageTemplate = new PageTemplateImpl();
         MongoDbPageTemplate converted = new MongoDbPageTemplate();
 
-        expect(converter.convert(pageTemplate, PageTemplate.class)).andReturn(converted);
-        template.save(converted, CollectionNames.PAGE_TEMPLATE_COLLECTION);
-        expectLastCall();
-        converter.hydrate(converted, PageTemplate.class);
-        expectLastCall();
-        replay(converter, template);
+        expect(template.save(eq(converted))).andReturn(converted);
+        replay(template);
 
         PageTemplate saved = templateRepository.save(pageTemplate);
         assertThat(converted, is(sameInstance(saved)));