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:05 UTC

[11/50] git commit: Updated JPA version of PageTemplateRepository (RAVE-1062)

Updated JPA version of PageTemplateRepository (RAVE-1062)

git-svn-id: https://svn.apache.org/repos/asf/rave/trunk@1530735 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/98feb348
Tree: http://git-wip-us.apache.org/repos/asf/rave/tree/98feb348
Diff: http://git-wip-us.apache.org/repos/asf/rave/diff/98feb348

Branch: refs/heads/angular
Commit: 98feb34831e4f49a878e7044f60b1c2511ad4b23
Parents: c811035
Author: Matthew B. Franklin <mf...@apache.org>
Authored: Wed Oct 9 17:57:02 2013 +0000
Committer: Matthew B. Franklin <mf...@apache.org>
Committed: Wed Oct 9 17:57:02 2013 +0000

----------------------------------------------------------------------
 .../repository/PageTemplateRepository.java      |  2 +-
 .../impl/DefaultPageTemplatesResourceTest.java  |  2 +-
 .../rave/portal/model/JpaPageTemplate.java      |  6 +++--
 .../impl/JpaPageTemplateRepository.java         | 16 +++++++-----
 .../impl/JpaPageTemplateRepositoryTest.java     | 27 +++++++++++++++++---
 .../rave-jpa/src/test/resources/test_data.sql   | 26 +++++++++++++++++++
 .../impl/MongoDbPageTemplateRepository.java     |  2 +-
 7 files changed, 66 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/rave/blob/98feb348/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageTemplateRepository.java
----------------------------------------------------------------------
diff --git a/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageTemplateRepository.java b/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageTemplateRepository.java
index 5ec2d59..b06865d 100644
--- a/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageTemplateRepository.java
+++ b/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageTemplateRepository.java
@@ -34,7 +34,7 @@ public interface PageTemplateRepository extends Repository<PageTemplate> {
      * @param pageType the page type used to filter templates
      * @return a list of all page templates for the type in the repository
      */
-    List<PageTemplate> getAllForType(String pageType);
+    List<PageTemplate> getAll(String pageType);
 
     /**
      * Gets the default page template for the given type

http://git-wip-us.apache.org/repos/asf/rave/blob/98feb348/rave-components/rave-core/src/test/java/org/apache/rave/rest/impl/DefaultPageTemplatesResourceTest.java
----------------------------------------------------------------------
diff --git a/rave-components/rave-core/src/test/java/org/apache/rave/rest/impl/DefaultPageTemplatesResourceTest.java b/rave-components/rave-core/src/test/java/org/apache/rave/rest/impl/DefaultPageTemplatesResourceTest.java
index ef1f2e0..03daecb 100644
--- a/rave-components/rave-core/src/test/java/org/apache/rave/rest/impl/DefaultPageTemplatesResourceTest.java
+++ b/rave-components/rave-core/src/test/java/org/apache/rave/rest/impl/DefaultPageTemplatesResourceTest.java
@@ -65,7 +65,7 @@ public class DefaultPageTemplatesResourceTest {
         int count = 4;
         String context = "context";
         List<PageTemplate> answer = getRepositoryTemplates(count);
-        expect(repository.getAllForType(context)).andReturn(answer);
+        expect(repository.getAll(context)).andReturn(answer);
         replay(repository);
 
         SearchResult< org.apache.rave.rest.model.PageTemplate> result = resource.getAllForContext(context);

http://git-wip-us.apache.org/repos/asf/rave/blob/98feb348/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
----------------------------------------------------------------------
diff --git a/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java b/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
index e4b6417..66dc464 100644
--- a/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
+++ b/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
@@ -34,8 +34,9 @@ import java.util.List;
 @Entity
 @Table(name="page_template")
 @NamedQueries({
-        @NamedQuery(name = JpaPageTemplate.PAGE_TEMPLATE_GET_ALL, query = "SELECT p FROM JpaPageTemplate p ORDER BY p.renderSequence"),
-        @NamedQuery(name = JpaPageTemplate.PAGE_TEMPLATE_GET_DEFAULT_PAGE_BY_TYPE, query = "SELECT p FROM JpaPageTemplate p WHERE p.defaultTemplate = true and p.pageType = :pageType")
+        @NamedQuery(name = JpaPageTemplate.PAGE_TEMPLATE_GET_ALL, query = "SELECT p FROM JpaPageTemplate p WHERE p.pageType <> 'SUB_PAGE' ORDER BY p.renderSequence"),
+        @NamedQuery(name = JpaPageTemplate.PAGE_TEMPLATE_GET_DEFAULT_PAGE_BY_TYPE, query = "SELECT p FROM JpaPageTemplate p WHERE p.defaultTemplate = true and p.pageType = :pageType"),
+        @NamedQuery(name = JpaPageTemplate.PAGE_TEMPLATE_GET_ALL_FOR_TYPE, query = "SELECT p FROM JpaPageTemplate p WHERE p.pageType = :pageType")
 })
 @Access(AccessType.FIELD)
 public class JpaPageTemplate implements BasicEntity, Serializable, PageTemplate {
@@ -43,6 +44,7 @@ public class JpaPageTemplate implements BasicEntity, Serializable, PageTemplate
     private static final long serialVersionUID = 1L;
     public static final String PAGE_TEMPLATE_GET_ALL = "PageTemplate.getAll";
     public static final String PAGE_TEMPLATE_GET_DEFAULT_PAGE_BY_TYPE = "PageTemplate.getDefaultPage";
+    public static final String PAGE_TEMPLATE_GET_ALL_FOR_TYPE = "PageTemplate.getAllByType";
 
     @Id
     @Column(name="entity_id")

http://git-wip-us.apache.org/repos/asf/rave/blob/98feb348/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepository.java
----------------------------------------------------------------------
diff --git a/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepository.java b/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepository.java
index 63415cf..48a523f 100644
--- a/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepository.java
+++ b/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepository.java
@@ -31,6 +31,7 @@ import javax.persistence.PersistenceContext;
 import javax.persistence.TypedQuery;
 import java.util.List;
 
+import static org.apache.rave.persistence.jpa.util.JpaUtil.getPagedResultList;
 import static org.apache.rave.persistence.jpa.util.JpaUtil.saveOrUpdate;
 
 @Repository
@@ -47,17 +48,20 @@ public class JpaPageTemplateRepository implements PageTemplateRepository {
 
     @Override
     public List<PageTemplate> getLimitedList(int offset, int limit) {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
+        TypedQuery<JpaPageTemplate> query = manager.createNamedQuery(JpaPageTemplate.PAGE_TEMPLATE_GET_ALL, JpaPageTemplate.class);
+        return CollectionUtils.<PageTemplate>toBaseTypedList(getPagedResultList(query, offset, limit));
     }
 
     @Override
     public int getCountAll() {
-        return 0;  //To change body of implemented methods use File | Settings | File Templates.
+        return getAll().size();
     }
 
     @Override
-    public List<PageTemplate> getAllForType(String pageType) {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
+    public List<PageTemplate> getAll(String pageType) {
+        TypedQuery<JpaPageTemplate> query = manager.createNamedQuery(JpaPageTemplate.PAGE_TEMPLATE_GET_ALL_FOR_TYPE, JpaPageTemplate.class);
+        query.setParameter("pageType", pageType);
+        return CollectionUtils.<PageTemplate>toBaseTypedList(query.getResultList());
     }
 
     @Override
@@ -74,7 +78,7 @@ public class JpaPageTemplateRepository implements PageTemplateRepository {
 
     @Override
     public PageTemplate get(String id) {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
+        return manager.find(JpaPageTemplate.class, id);
     }
 
     @Override
@@ -84,6 +88,6 @@ public class JpaPageTemplateRepository implements PageTemplateRepository {
 
     @Override
     public void delete(PageTemplate item) {
-        throw new NotImplementedException();
+        manager.remove(JpaConverter.getInstance().convert(item, PageTemplate.class));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/rave/blob/98feb348/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepositoryTest.java
----------------------------------------------------------------------
diff --git a/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepositoryTest.java b/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepositoryTest.java
index ea78d8d..1c959ad 100644
--- a/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepositoryTest.java
+++ b/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepositoryTest.java
@@ -35,10 +35,9 @@ import javax.persistence.EntityManager;
 import javax.persistence.PersistenceContext;
 import java.util.List;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.*;
 
 @Transactional(readOnly=true)
 @RunWith(SpringJUnit4ClassRunner.class)
@@ -64,7 +63,27 @@ public class JpaPageTemplateRepositoryTest {
     @Test
     public void getAll_valid(){
         List<PageTemplate> pageTemplateList = pageTemplateRepository.getAll();
+        assertThat(pageTemplateList.size(), is(equalTo(3)));
+    }
+
+    @Test
+    public void getAll_forType_valid(){
+        List<PageTemplate> pageTemplateList = pageTemplateRepository.getAll("PERSON_PROFILE");
+        assertThat(pageTemplateList.size(), is(equalTo(2)));
+    }
+
+    @Test
+    public void getAll_limited(){
+        List<PageTemplate> pageTemplateList = pageTemplateRepository.getLimitedList(0, 1);
+        assertThat(pageTemplateList.size(), is(equalTo(1)));
+    }
+
+    @Test
+    public void get_valid(){
+        PageTemplate pageTemplateList = pageTemplateRepository.get("1");
         assertNotNull(pageTemplateList);
+        assertThat(pageTemplateList.getId(), is(equalTo("1")));
+        assertThat(pageTemplateList.getPageType(), is(equalTo("PERSON_PROFILE")));
     }
     
     @Test

http://git-wip-us.apache.org/repos/asf/rave/blob/98feb348/rave-components/rave-jpa/src/test/resources/test_data.sql
----------------------------------------------------------------------
diff --git a/rave-components/rave-jpa/src/test/resources/test_data.sql b/rave-components/rave-jpa/src/test/resources/test_data.sql
index beb606b..735d42b 100644
--- a/rave-components/rave-jpa/src/test/resources/test_data.sql
+++ b/rave-components/rave-jpa/src/test/resources/test_data.sql
@@ -1173,6 +1173,32 @@ insert into page_template_widget (entity_id, page_template_region_id, render_seq
 values (@next_person_profile_subpage2_template_widget_id, @person_profile_subpage2_template_region_id, 0, @my_activity_widget_id, true);
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_widget_seq;
 
+----------------------------------------
+-- secondary person profile parent page templates
+----------------------------------------
+-- page
+set @person_profile_page_template_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_seq);
+insert into page_template (entity_id, page_type, page_layout_id, name, description, parent_page_template_id, render_sequence, default_template)
+values (@person_profile_page_template_id, 'PERSON_PROFILE', @person_profile_layout_id, 'Person Profile 2', 'Template for person profile pages', null, 0, false);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_seq;
+
+-- regions
+set @person_profile_page_template_region_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_region_seq);
+insert into page_template_region (entity_id, render_sequence, page_template_id, locked)
+values (@person_profile_page_template_region_id, 0, @person_profile_page_template_id, true);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_region_seq;
+
+-- widgets
+set @next_person_profile_page_template_widget_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_widget_seq);
+insert into page_template_widget (entity_id, page_template_region_id, render_sequence, widget_id, locked)
+values (@next_person_profile_page_template_widget_id, @person_profile_page_template_region_id, 0, @my_groups_widget_id, true);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_widget_seq;
+
+set @next_person_profile_page_template_widget_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_template_widget_seq);
+insert into page_template_widget (entity_id, page_template_region_id, render_sequence, widget_id, locked)
+values (@next_person_profile_page_template_widget_id, @person_profile_page_template_region_id, 1, @work_experience_widget_id, true);
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_template_widget_seq;
+
 
 ----------------------------------------
 -- user page template

http://git-wip-us.apache.org/repos/asf/rave/blob/98feb348/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 2678f3b..be0bdb3 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
@@ -56,7 +56,7 @@ public class MongoDbPageTemplateRepository implements PageTemplateRepository {
     }
 
     @Override
-    public List<PageTemplate> getAllForType(String pageType) {
+    public List<PageTemplate> getAll(String pageType) {
         return template.find(query(where("pageType").is(pageType.toUpperCase())));
     }