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