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 2013/09/10 03:18:59 UTC
svn commit: r1521327 - in /rave/trunk/rave-components:
rave-core/src/main/java/org/apache/rave/portal/repository/
rave-jpa/src/main/java/org/apache/rave/portal/model/
rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/
rave-jpa/src/test/java...
Author: mfranklin
Date: Tue Sep 10 01:18:59 2013
New Revision: 1521327
URL: http://svn.apache.org/r1521327
Log:
Implemented repository operations (RAVE-1054)
Modified:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageRepository.java
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java
rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageRepositoryTest.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/MongoDbPageRepository.java
rave/trunk/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java
Modified: rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageRepository.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageRepository.java?rev=1521327&r1=1521326&r2=1521327&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageRepository.java (original)
+++ rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageRepository.java Tue Sep 10 01:18:59 2013
@@ -29,7 +29,7 @@ import java.util.List;
*/
public interface PageRepository extends Repository<Page>{
/**
- * Returns all pages of a given PageType owned by the user
+ * Returns all pages of a given page type where the user is a member of the page
*
* @param userId the userId to search by
* @param pageType the pageType to search by
@@ -38,6 +38,15 @@ public interface PageRepository extends
List<Page> getAllPagesForUserType(String userId, String pageType);
/**
+ * Returns all pages of a given type where the contextId matches the specified ID
+ *
+ * @param contextId the ID of the context to match
+ * @param pageType the type of the page
+ * @return a list of all the Page objects with the specified contextId of type pageType
+ */
+ List<Page> getPagesForContextType(String contextId, String pageType);
+
+ /**
* Delete all pages for a userId of the supplied pageType
*
* @param userId the userId to search by
Modified: rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java?rev=1521327&r1=1521326&r2=1521327&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java (original)
+++ rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java Tue Sep 10 01:18:59 2013
@@ -49,7 +49,8 @@ import java.util.List;
@NamedQuery(name = JpaPage.GET_ALL, query="SELECT p FROM JpaPage p"),
@NamedQuery(name = JpaPage.GET_COUNT, query="SELECT count(p) FROM JpaPage p"),
@NamedQuery(name = JpaPage.DELETE_BY_USER_ID_AND_PAGE_TYPE, query="DELETE FROM JpaPage p WHERE p.ownerId = :userId and p.pageType = :pageType"),
- @NamedQuery(name = JpaPage.USER_HAS_PERSON_PAGE, query="SELECT count(p) FROM JpaPage p WHERE p.ownerId = :userId and p.pageType = :pageType")
+ @NamedQuery(name = JpaPage.USER_HAS_PERSON_PAGE, query="SELECT count(p) FROM JpaPage p WHERE p.ownerId = :userId and p.pageType = :pageType"),
+ @NamedQuery(name = JpaPage.GET_BY_CONTEXT_AND_PAGE_TYPE, query="SELECT p FROM JpaPage p WHERE p.contextId = :contextId and p.pageType = :pageType")
})
@Access(AccessType.FIELD)
public class JpaPage implements BasicEntity, Serializable, Page {
@@ -59,6 +60,7 @@ public class JpaPage implements BasicEnt
public static final String USER_HAS_PERSON_PAGE = "JpaPage.hasPersonPage";
public static final String GET_ALL = "JpaPage.getAll";
public static final String GET_COUNT = "JpaPage.getCount";
+ public static final String GET_BY_CONTEXT_AND_PAGE_TYPE = "JpaPage.getByContextAndPageType";
@XmlAttribute(name="id")
@Id @Column(name="entity_id")
Modified: rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java?rev=1521327&r1=1521326&r2=1521327&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java (original)
+++ rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaPageRepository.java Tue Sep 10 01:18:59 2013
@@ -84,6 +84,14 @@ public class JpaPageRepository implement
}
@Override
+ public List<Page> getPagesForContextType(String contextId, String pageType) {
+ TypedQuery<JpaPage> query = manager.createNamedQuery(JpaPage.GET_BY_CONTEXT_AND_PAGE_TYPE, JpaPage.class);
+ query.setParameter("contextId", contextId);
+ query.setParameter("pageType", pageType.toUpperCase());
+ return CollectionUtils.<Page>toBaseTypedList(query.getResultList());
+ }
+
+ @Override
public int deletePages(String userId, String pageType) {
List<Page> pages = getAllPagesForUserType(userId, pageType);
int pageCount = pages.size();
Modified: rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageRepositoryTest.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageRepositoryTest.java?rev=1521327&r1=1521326&r2=1521327&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageRepositoryTest.java (original)
+++ rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaPageRepositoryTest.java Tue Sep 10 01:18:59 2013
@@ -121,6 +121,13 @@ public class JpaPageRepositoryTest {
}
@Test
+ public void getPagesByContextAndType() {
+ List<Page> pages = repository.getPagesForContextType("foo", PageType.USER.toString());
+ assertThat(pages, is(notNullValue()));
+ assertThat(pages.size(), is(1));
+ }
+
+ @Test
public void getAllPages_validUser_validSubPagePageSet() {
List<Page> pages = repository.getAllPagesForUserType(USER_ID, PageType.SUB_PAGE.toString());
assertThat(pages, is(notNullValue()));
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=1521327&r1=1521326&r2=1521327&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 Tue Sep 10 01:18:59 2013
@@ -305,8 +305,8 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
--- Layout for user_id_1 ---
set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
-values (@page_1_id, 'Main', @user_id_1, null, @two_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, context_id, parent_page_id, page_layout_id, page_type)
+values (@page_1_id, 'Main', @user_id_1, 'foo', null, @two_col_id, 'USER');
UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
--Set up page user data
Modified: rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.java?rev=1521327&r1=1521326&r2=1521327&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.java (original)
+++ rave/trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.java Tue Sep 10 01:18:59 2013
@@ -29,6 +29,7 @@ import org.apache.rave.portal.model.impl
import org.apache.rave.portal.repository.MongoPageOperations;
import org.apache.rave.portal.repository.PageRepository;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;
@@ -54,6 +55,11 @@ public class MongoDbPageRepository imple
}
@Override
+ public List<Page> getPagesForContextType(String contextId, String pageType) {
+ return template.find(query(where("pageType").is(getString(pageType)).andOperator(where("contextId").is(contextId))));
+ }
+
+ @Override
public int deletePages(String userId, String pageType) {
Query query = query(where("pageType").is(pageType).andOperator(where("ownerId").is(userId)));
int count = (int)template.count(query);
Modified: rave/trunk/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java?rev=1521327&r1=1521326&r2=1521327&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java (original)
+++ rave/trunk/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java Tue Sep 10 01:18:59 2013
@@ -80,6 +80,27 @@ public class MongoDbPageRepositoryTest {
assertNotNull(result);
}
+ @Test
+ public void getByContext(){
+ String contextId = "1234L";
+ String userId1 = "9999L";
+ String pageType = PageType.USER.toString();
+ PageUserImpl user = new PageUserImpl();
+ user.setId("3333L");
+ user.setUserId(userId1);
+ List<Page> pages = Lists.newArrayList();
+ List<PageUser> page_users = Lists.newArrayList();
+ page_users.add(user);
+ Page page = new PageImpl();
+ page.setMembers(page_users);
+ pages.add(page);
+
+ expect(template.find(isA(Query.class))).andReturn(pages);
+ replay(template);
+
+ List<Page> result = repo.getPagesForContextType(contextId, pageType);
+ assertNotNull(result);
+ }
@Test
public void getType(){