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())));
}