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 2014/07/03 18:46:01 UTC

[07/50] git commit: Updated repository to use Operations model (RAVE-1062)

Updated repository to use Operations model (RAVE-1062)

git-svn-id: https://svn.apache.org/repos/asf/rave/trunk@1529722 13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/rave/repo
Commit: http://git-wip-us.apache.org/repos/asf/rave/commit/f13f14be
Tree: http://git-wip-us.apache.org/repos/asf/rave/tree/f13f14be
Diff: http://git-wip-us.apache.org/repos/asf/rave/diff/f13f14be

Branch: refs/heads/angular
Commit: f13f14bead70a3f534e9512988b88645bd29831c
Parents: 3f4f52a
Author: Matthew B. Franklin <mf...@apache.org>
Authored: Mon Oct 7 00:06:49 2013 +0000
Committer: Matthew B. Franklin <mf...@apache.org>
Committed: Mon Oct 7 00:06:49 2013 +0000

----------------------------------------------------------------------
 .../repository/MongoPageTemplateOperations.java |  5 +++
 .../impl/MongoDbPageTemplateRepository.java     | 44 ++++++--------------
 .../impl/MongoPageTemplateTemplate.java         | 17 ++++++++
 .../impl/MongoDbPageTemplateRepositoryTest.java | 31 +++++---------
 4 files changed, 44 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/rave/blob/f13f14be/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageTemplateOperations.java
----------------------------------------------------------------------
diff --git a/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageTemplateOperations.java b/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageTemplateOperations.java
new file mode 100644
index 0000000..f351f2d
--- /dev/null
+++ b/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageTemplateOperations.java
@@ -0,0 +1,5 @@
+package org.apache.rave.portal.repository;
+
+import org.apache.rave.model.PageTemplate;
+
+public interface MongoPageTemplateOperations extends MongoModelOperations<PageTemplate> {}

http://git-wip-us.apache.org/repos/asf/rave/blob/f13f14be/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java
----------------------------------------------------------------------
diff --git a/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java b/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java
index 2ef1aa8..2678f3b 100644
--- a/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java
+++ b/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java
@@ -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.mongodb.core.query.Criteria.where;
 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 MongoDbPageTemplateRepository implements PageTemplateRepository {
 
     @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;
     }
 }

http://git-wip-us.apache.org/repos/asf/rave/blob/f13f14be/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplateTemplate.java
----------------------------------------------------------------------
diff --git a/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplateTemplate.java b/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplateTemplate.java
new file mode 100644
index 0000000..0919143
--- /dev/null
+++ b/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplateTemplate.java
@@ -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);
+    }
+}

http://git-wip-us.apache.org/repos/asf/rave/blob/f13f14be/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepositoryTest.java
----------------------------------------------------------------------
diff --git a/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepositoryTest.java b/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepositoryTest.java
index 55b59d0..e4233a7 100644
--- a/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepositoryTest.java
+++ b/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepositoryTest.java
@@ -24,6 +24,7 @@ import org.apache.rave.model.PageTemplate;
 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.mongodb.core.query.Criteria.where;
 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 MongoDbPageTemplateRepositoryTest {
     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 MongoDbPageTemplateRepositoryTest {
         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)));