Author: mfranklin
Date: Wed Oct  9 17:57:02 2013
New Revision: 1530735

URL: http://svn.apache.org/r1530735
Log:
Updated JPA version of PageTemplateRepository (RAVE-1062)

Modified:
    
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageTemplateRepository.java
    
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/rest/impl/DefaultPageTemplatesResourceTest.java
    
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
    
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepository.java
    
rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepositoryTest.java
    rave/trunk/rave-components/rave-jpa/src/test/resources/test_data.sql
    
rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageTemplateRepository.java

Modified: 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageTemplateRepository.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageTemplateRepository.java?rev=1530735&r1=1530734&r2=1530735&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageTemplateRepository.java
 (original)
+++ 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageTemplateRepository.java
 Wed Oct  9 17:57:02 2013
@@ -34,7 +34,7 @@ public interface PageTemplateRepository 
      * @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

Modified: 
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/rest/impl/DefaultPageTemplatesResourceTest.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/rest/impl/DefaultPageTemplatesResourceTest.java?rev=1530735&r1=1530734&r2=1530735&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/rest/impl/DefaultPageTemplatesResourceTest.java
 (original)
+++ 
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/rest/impl/DefaultPageTemplatesResourceTest.java
 Wed Oct  9 17:57:02 2013
@@ -65,7 +65,7 @@ public class DefaultPageTemplatesResourc
         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);

Modified: 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java?rev=1530735&r1=1530734&r2=1530735&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
 (original)
+++ 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
 Wed Oct  9 17:57:02 2013
@@ -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 
     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")

Modified: 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepository.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepository.java?rev=1530735&r1=1530734&r2=1530735&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepository.java
 (original)
+++ 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepository.java
 Wed Oct  9 17:57:02 2013
@@ -31,6 +31,7 @@ import javax.persistence.PersistenceCont
 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 i
 
     @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 i
 
     @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 i
 
     @Override
     public void delete(PageTemplate item) {
-        throw new NotImplementedException();
+        manager.remove(JpaConverter.getInstance().convert(item, 
PageTemplate.class));
     }
 }
\ No newline at end of file

Modified: 
rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepositoryTest.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepositoryTest.java?rev=1530735&r1=1530734&r2=1530735&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepositoryTest.java
 (original)
+++ 
rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageTemplateRepositoryTest.java
 Wed Oct  9 17:57:02 2013
@@ -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 JpaPageTemplateRepositoryTe
     @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

Modified: rave/trunk/rave-components/rave-jpa/src/test/resources/test_data.sql
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/test/resources/test_data.sql?rev=1530735&r1=1530734&r2=1530735&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-jpa/src/test/resources/test_data.sql 
(original)
+++ rave/trunk/rave-components/rave-jpa/src/test/resources/test_data.sql Wed 
Oct  9 17:57:02 2013
@@ -1173,6 +1173,32 @@ insert into page_template_widget (entity
 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

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=1530735&r1=1530734&r2=1530735&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
 Wed Oct  9 17:57:02 2013
@@ -56,7 +56,7 @@ public class MongoDbPageTemplateReposito
     }
 
     @Override
-    public List<PageTemplate> getAllForType(String pageType) {
+    public List<PageTemplate> getAll(String pageType) {
         return 
template.find(query(where("pageType").is(pageType.toUpperCase())));
     }
 


Reply via email to