You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by er...@apache.org on 2013/07/26 17:06:31 UTC
svn commit: r1507343 - 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-mongodb/src/main/...
Author: erinnp
Date: Fri Jul 26 15:06:30 2013
New Revision: 1507343
URL: http://svn.apache.org/r1507343
Log:
RAVE-999, RAVE-1000. Add ResourceRepository Interface for common methods needed for rest resources. Implemented on PageRepository, following model of widgetrepository.
Modified:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/PageRepository.java
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/WidgetRepository.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-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.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=1507343&r1=1507342&r2=1507343&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 Fri Jul 26 15:06:30 2013
@@ -20,13 +20,14 @@ package org.apache.rave.portal.repositor
import org.apache.rave.repository.Repository;
import org.apache.rave.model.*;
+import org.apache.rave.repository.ResourceRepository;
import java.util.List;
/**
* Provides persistence operations for the {@link org.apache.rave.model.Page} class
*/
-public interface PageRepository extends Repository<Page> {
+public interface PageRepository extends Repository<Page>, ResourceRepository<Page> {
/**
* Returns all pages of a given PageType owned by the user
*
Modified: rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/WidgetRepository.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/WidgetRepository.java?rev=1507343&r1=1507342&r2=1507343&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/WidgetRepository.java (original)
+++ rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/WidgetRepository.java Fri Jul 26 15:06:30 2013
@@ -21,34 +21,13 @@ package org.apache.rave.portal.repositor
import org.apache.rave.repository.Repository;
import org.apache.rave.model.*;
import org.apache.rave.portal.model.util.WidgetStatistics;
+import org.apache.rave.repository.ResourceRepository;
import java.util.List;
import java.util.Map;
-public interface WidgetRepository extends Repository<Widget> {
- /**
- * Gets a list of <strong>all</strong> widgets in the repository
- *
- * @return a valid List
- */
- List<Widget> getAll();
-
- /**
- * List of Widgets with the same condition as in {@link #getAll()}
- * but with a limited amount of Widgets.
- *
- * @param offset start point within the total resultset
- * @param pageSize maximum number of items to be returned (for paging)
- * @return a List of widgets with of at most the number of items in pageSize
- */
- List<Widget> getLimitedList(int offset, int pageSize);
-
- /**
- * @return the total number of {@link org.apache.rave.model.Widget}'s in the repository. Useful for paging.
- */
- int getCountAll();
-
+public interface WidgetRepository extends Repository<Widget>, ResourceRepository<Widget> {
/**
* Gets a List of {@link Widget}'s by performing a free text search
*
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=1507343&r1=1507342&r2=1507343&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 Fri Jul 26 15:06:30 2013
@@ -46,6 +46,8 @@ import java.util.List;
@XmlAccessorType(XmlAccessType.NONE)
@Table(name="page", uniqueConstraints={@UniqueConstraint(columnNames={"owner_id","name","page_type"})})
@NamedQueries({
+ @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")
})
@@ -55,6 +57,8 @@ public class JpaPage implements BasicEnt
public static final String DELETE_BY_USER_ID_AND_PAGE_TYPE = "JpaPage.deleteByUserIdAndPageType";
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";
@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=1507343&r1=1507342&r2=1507343&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 Fri Jul 26 15:06:30 2013
@@ -29,10 +29,12 @@ import org.springframework.stereotype.Re
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
import javax.persistence.TypedQuery;
import java.util.ArrayList;
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
@@ -253,4 +255,22 @@ public class JpaPageRepository implement
return pages;
}
+ @Override
+ public List<Page> getAll() {
+ TypedQuery<Page> query = manager.createNamedQuery(JpaPage.GET_ALL, Page.class);
+ return CollectionUtils.<Page>toBaseTypedList(query.getResultList());
+ }
+
+ @Override
+ public List<Page> getLimitedList(int offset, int limit) {
+ TypedQuery<Page> query = manager.createNamedQuery(JpaPage.GET_ALL, Page.class);
+ return CollectionUtils.<Page>toBaseTypedList(getPagedResultList(query, offset, limit));
+ }
+
+ @Override
+ public int getCountAll() {
+ Query query = manager.createNamedQuery(JpaWidget.WIDGET_COUNT_ALL);
+ Number countResult = (Number) query.getSingleResult();
+ return countResult.intValue();
+ }
}
\ No newline at end of file
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=1507343&r1=1507342&r2=1507343&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 Fri Jul 26 15:06:30 2013
@@ -266,4 +266,18 @@ public class MongoDbPageRepository imple
}
+ @Override
+ public List<Page> getAll() {
+ return template.find(new Query());
+ }
+
+ @Override
+ public List<Page> getLimitedList(int offset, int pageSize) {
+ return template.find(new Query().skip(offset).limit(pageSize));
+ }
+
+ @Override
+ public int getCountAll() {
+ return (int) template.count(new Query());
+ }
}