Commit 4af1a1bb authored by Liang Ding's avatar Liang Ding

c

parent 2afd5b47
...@@ -29,6 +29,7 @@ import org.b3log.latke.annotation.RequestProcessing; ...@@ -29,6 +29,7 @@ import org.b3log.latke.annotation.RequestProcessing;
import org.b3log.latke.annotation.RequestProcessor; import org.b3log.latke.annotation.RequestProcessor;
import org.b3log.latke.model.User; import org.b3log.latke.model.User;
import org.b3log.latke.repository.FilterOperator; import org.b3log.latke.repository.FilterOperator;
import org.b3log.latke.repository.PropertyFilter;
import org.b3log.latke.repository.Query; import org.b3log.latke.repository.Query;
import org.b3log.latke.repository.SortDirection; import org.b3log.latke.repository.SortDirection;
import org.b3log.latke.servlet.HTTPRequestContext; import org.b3log.latke.servlet.HTTPRequestContext;
...@@ -125,7 +126,7 @@ public final class FeedProcessor { ...@@ -125,7 +126,7 @@ public final class FeedProcessor {
final Query query = new Query().setCurrentPageNum(1). final Query query = new Query().setCurrentPageNum(1).
setPageSize(ENTRY_OUTPUT_CNT). setPageSize(ENTRY_OUTPUT_CNT).
addFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true). setFilter(new PropertyFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true)).
addSort(Article.ARTICLE_UPDATE_DATE, SortDirection.DESCENDING). addSort(Article.ARTICLE_UPDATE_DATE, SortDirection.DESCENDING).
setPageCount(1); setPageCount(1);
...@@ -335,7 +336,7 @@ public final class FeedProcessor { ...@@ -335,7 +336,7 @@ public final class FeedProcessor {
final Query query = new Query().setCurrentPageNum(1). final Query query = new Query().setCurrentPageNum(1).
setPageSize(ENTRY_OUTPUT_CNT). setPageSize(ENTRY_OUTPUT_CNT).
addFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true). setFilter(new PropertyFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true)).
addSort(Article.ARTICLE_UPDATE_DATE, SortDirection.DESCENDING). addSort(Article.ARTICLE_UPDATE_DATE, SortDirection.DESCENDING).
setPageCount(1); setPageCount(1);
......
...@@ -26,6 +26,7 @@ import org.b3log.latke.Keys; ...@@ -26,6 +26,7 @@ import org.b3log.latke.Keys;
import org.b3log.latke.annotation.RequestProcessing; import org.b3log.latke.annotation.RequestProcessing;
import org.b3log.latke.annotation.RequestProcessor; import org.b3log.latke.annotation.RequestProcessor;
import org.b3log.latke.repository.FilterOperator; import org.b3log.latke.repository.FilterOperator;
import org.b3log.latke.repository.PropertyFilter;
import org.b3log.latke.repository.Query; import org.b3log.latke.repository.Query;
import org.b3log.latke.repository.SortDirection; import org.b3log.latke.repository.SortDirection;
import org.b3log.latke.servlet.HTTPRequestContext; import org.b3log.latke.servlet.HTTPRequestContext;
...@@ -131,7 +132,7 @@ public final class SitemapProcessor { ...@@ -131,7 +132,7 @@ public final class SitemapProcessor {
// XXX: query all articles? // XXX: query all articles?
final Query query = new Query().setCurrentPageNum(1). final Query query = new Query().setCurrentPageNum(1).
addFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true). setFilter(new PropertyFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true)).
addSort(Article.ARTICLE_CREATE_DATE, SortDirection.DESCENDING); addSort(Article.ARTICLE_CREATE_DATE, SortDirection.DESCENDING);
// Closes cache avoid Java heap space out of memory while caching // Closes cache avoid Java heap space out of memory while caching
......
...@@ -39,9 +39,7 @@ import org.b3log.latke.model.Pagination; ...@@ -39,9 +39,7 @@ import org.b3log.latke.model.Pagination;
import org.b3log.latke.model.Plugin; import org.b3log.latke.model.Plugin;
import org.b3log.latke.model.User; import org.b3log.latke.model.User;
import org.b3log.latke.plugin.ViewLoadEventData; import org.b3log.latke.plugin.ViewLoadEventData;
import org.b3log.latke.repository.FilterOperator; import org.b3log.latke.repository.*;
import org.b3log.latke.repository.Query;
import org.b3log.latke.repository.SortDirection;
import org.b3log.latke.service.ServiceException; import org.b3log.latke.service.ServiceException;
import org.b3log.latke.util.*; import org.b3log.latke.util.*;
import org.b3log.latke.util.freemarker.Templates; import org.b3log.latke.util.freemarker.Templates;
...@@ -154,7 +152,7 @@ public final class Filler { ...@@ -154,7 +152,7 @@ public final class Filler {
final int pageCount = (int) Math.ceil((double) publishedArticleCnt / (double) pageSize); final int pageCount = (int) Math.ceil((double) publishedArticleCnt / (double) pageSize);
final Query query = new Query().setCurrentPageNum(currentPageNum).setPageSize(pageSize).setPageCount(pageCount). final Query query = new Query().setCurrentPageNum(currentPageNum).setPageSize(pageSize).setPageCount(pageCount).
addFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, PUBLISHED). setFilter(new PropertyFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, PUBLISHED)).
addSort(Article.ARTICLE_PUT_TOP, SortDirection.DESCENDING). addSort(Article.ARTICLE_PUT_TOP, SortDirection.DESCENDING).
index(Article.ARTICLE_PERMALINK); index(Article.ARTICLE_PERMALINK);
......
...@@ -16,12 +16,8 @@ ...@@ -16,12 +16,8 @@
package org.b3log.solo.repository.impl; package org.b3log.solo.repository.impl;
import org.b3log.latke.Keys; import org.b3log.latke.Keys;
import org.b3log.latke.repository.AbstractRepository; import org.b3log.latke.repository.*;
import org.b3log.latke.repository.FilterOperator;
import org.b3log.latke.repository.Query;
import org.b3log.solo.model.Article; import org.b3log.solo.model.Article;
import org.b3log.latke.repository.RepositoryException;
import org.b3log.latke.repository.SortDirection;
import org.b3log.solo.model.ArchiveDate; import org.b3log.solo.model.ArchiveDate;
import org.b3log.solo.repository.ArchiveDateArticleRepository; import org.b3log.solo.repository.ArchiveDateArticleRepository;
import org.json.JSONArray; import org.json.JSONArray;
...@@ -45,8 +41,8 @@ public final class ArchiveDateArticleRepositoryImpl extends AbstractRepository i ...@@ -45,8 +41,8 @@ public final class ArchiveDateArticleRepositoryImpl extends AbstractRepository i
@Override @Override
public JSONObject getByArchiveDateId(final String archiveDateId, final int currentPageNum, final int pageSize) public JSONObject getByArchiveDateId(final String archiveDateId, final int currentPageNum, final int pageSize)
throws RepositoryException { throws RepositoryException {
final Query query = new Query().addFilter(ArchiveDate.ARCHIVE_DATE + "_" + Keys.OBJECT_ID, final Query query = new Query().setFilter(new PropertyFilter(ArchiveDate.ARCHIVE_DATE + "_" + Keys.OBJECT_ID,
FilterOperator.EQUAL, archiveDateId). FilterOperator.EQUAL, archiveDateId)).
addSort(Article.ARTICLE + "_" + Keys.OBJECT_ID, addSort(Article.ARTICLE + "_" + Keys.OBJECT_ID,
SortDirection.DESCENDING). SortDirection.DESCENDING).
setCurrentPageNum(currentPageNum). setCurrentPageNum(currentPageNum).
...@@ -59,7 +55,7 @@ public final class ArchiveDateArticleRepositoryImpl extends AbstractRepository i ...@@ -59,7 +55,7 @@ public final class ArchiveDateArticleRepositoryImpl extends AbstractRepository i
@Override @Override
public JSONObject getByArticleId(final String articleId) throws RepositoryException { public JSONObject getByArticleId(final String articleId) throws RepositoryException {
final Query query = new Query(); final Query query = new Query();
query.addFilter(Article.ARTICLE + "_" + Keys.OBJECT_ID, FilterOperator.EQUAL, articleId); query.setFilter(new PropertyFilter(Article.ARTICLE + "_" + Keys.OBJECT_ID, FilterOperator.EQUAL, articleId));
final JSONObject result = get(query); final JSONObject result = get(query);
final JSONArray array = result.optJSONArray(Keys.RESULTS); final JSONArray array = result.optJSONArray(Keys.RESULTS);
......
...@@ -21,11 +21,7 @@ import java.util.List; ...@@ -21,11 +21,7 @@ import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.b3log.latke.Keys; import org.b3log.latke.Keys;
import org.b3log.latke.repository.AbstractRepository; import org.b3log.latke.repository.*;
import org.b3log.latke.repository.FilterOperator;
import org.b3log.latke.repository.Query;
import org.b3log.latke.repository.RepositoryException;
import org.b3log.latke.repository.SortDirection;
import org.b3log.latke.util.CollectionUtils; import org.b3log.latke.util.CollectionUtils;
import org.b3log.solo.model.ArchiveDate; import org.b3log.solo.model.ArchiveDate;
import org.b3log.solo.repository.ArchiveDateRepository; import org.b3log.solo.repository.ArchiveDateRepository;
...@@ -61,7 +57,7 @@ public final class ArchiveDateRepositoryImpl extends AbstractRepository implemen ...@@ -61,7 +57,7 @@ public final class ArchiveDateRepositoryImpl extends AbstractRepository implemen
} }
final Query query = new Query(); final Query query = new Query();
query.addFilter(ArchiveDate.ARCHIVE_TIME, FilterOperator.EQUAL, time).setPageCount(1); query.setFilter(new PropertyFilter(ArchiveDate.ARCHIVE_TIME, FilterOperator.EQUAL, time)).setPageCount(1);
final JSONObject result = get(query); final JSONObject result = get(query);
final JSONArray array = result.optJSONArray(Keys.RESULTS); final JSONArray array = result.optJSONArray(Keys.RESULTS);
......
...@@ -54,8 +54,9 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A ...@@ -54,8 +54,9 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A
@Override @Override
public JSONObject getByAuthorEmail(final String authorEmail, final int currentPageNum, final int pageSize) public JSONObject getByAuthorEmail(final String authorEmail, final int currentPageNum, final int pageSize)
throws RepositoryException { throws RepositoryException {
final Query query = new Query().addFilter(Article.ARTICLE_AUTHOR_EMAIL, FilterOperator.EQUAL, authorEmail). final Query query = new Query().setFilter(CompositeFilterOperator.and(
addFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true). new PropertyFilter(Article.ARTICLE_AUTHOR_EMAIL, FilterOperator.EQUAL, authorEmail),
new PropertyFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true))).
addSort(Article.ARTICLE_UPDATE_DATE, SortDirection.DESCENDING). addSort(Article.ARTICLE_UPDATE_DATE, SortDirection.DESCENDING).
setCurrentPageNum(currentPageNum).setPageSize(pageSize).setPageCount(1); setCurrentPageNum(currentPageNum).setPageSize(pageSize).setPageCount(1);
...@@ -64,7 +65,8 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A ...@@ -64,7 +65,8 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A
@Override @Override
public JSONObject getByPermalink(final String permalink) throws RepositoryException { public JSONObject getByPermalink(final String permalink) throws RepositoryException {
final Query query = new Query().addFilter(Article.ARTICLE_PERMALINK, FilterOperator.EQUAL, permalink). final Query query = new Query().setFilter(
new PropertyFilter(Article.ARTICLE_PERMALINK, FilterOperator.EQUAL, permalink)).
setPageCount(1); setPageCount(1);
final JSONObject result = get(query); final JSONObject result = get(query);
...@@ -80,7 +82,7 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A ...@@ -80,7 +82,7 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A
@Override @Override
public List<JSONObject> getRecentArticles(final int fetchSize) throws RepositoryException { public List<JSONObject> getRecentArticles(final int fetchSize) throws RepositoryException {
final Query query = new Query(); final Query query = new Query();
query.addFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true); query.setFilter(new PropertyFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true));
query.addSort(Article.ARTICLE_UPDATE_DATE, SortDirection.DESCENDING); query.addSort(Article.ARTICLE_UPDATE_DATE, SortDirection.DESCENDING);
query.setCurrentPageNum(1); query.setCurrentPageNum(1);
query.setPageSize(fetchSize); query.setPageSize(fetchSize);
...@@ -96,7 +98,7 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A ...@@ -96,7 +98,7 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A
public List<JSONObject> getMostCommentArticles(final int num) throws RepositoryException { public List<JSONObject> getMostCommentArticles(final int num) throws RepositoryException {
final Query query = new Query().addSort(Article.ARTICLE_COMMENT_COUNT, SortDirection.DESCENDING). final Query query = new Query().addSort(Article.ARTICLE_COMMENT_COUNT, SortDirection.DESCENDING).
addSort(Article.ARTICLE_UPDATE_DATE, SortDirection.DESCENDING). addSort(Article.ARTICLE_UPDATE_DATE, SortDirection.DESCENDING).
addFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true). setFilter(new PropertyFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true)).
setCurrentPageNum(1).setPageSize(num).setPageCount(1); setCurrentPageNum(1).setPageSize(num).setPageCount(1);
final JSONObject result = get(query); final JSONObject result = get(query);
...@@ -110,7 +112,7 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A ...@@ -110,7 +112,7 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A
final Query query = new Query(); final Query query = new Query();
query.addSort(Article.ARTICLE_VIEW_COUNT, SortDirection.DESCENDING). query.addSort(Article.ARTICLE_VIEW_COUNT, SortDirection.DESCENDING).
addSort(Article.ARTICLE_UPDATE_DATE, SortDirection.DESCENDING); addSort(Article.ARTICLE_UPDATE_DATE, SortDirection.DESCENDING);
query.addFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true); query.setFilter(new PropertyFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true));
query.setCurrentPageNum(1); query.setCurrentPageNum(1);
query.setPageSize(num); query.setPageSize(num);
query.setPageCount(1); query.setPageCount(1);
...@@ -126,8 +128,10 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A ...@@ -126,8 +128,10 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A
final JSONObject currentArticle = get(articleId); final JSONObject currentArticle = get(articleId);
final Date currentArticleCreateDate = (Date) currentArticle.opt(Article.ARTICLE_CREATE_DATE); final Date currentArticleCreateDate = (Date) currentArticle.opt(Article.ARTICLE_CREATE_DATE);
final Query query = new Query().addFilter(Article.ARTICLE_CREATE_DATE, FilterOperator.LESS_THAN, currentArticleCreateDate). final Query query = new Query().setFilter(
addFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true). CompositeFilterOperator.and(
new PropertyFilter(Article.ARTICLE_CREATE_DATE, FilterOperator.LESS_THAN, currentArticleCreateDate),
new PropertyFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true))).
addSort(Article.ARTICLE_CREATE_DATE, SortDirection.DESCENDING).setCurrentPageNum(1). addSort(Article.ARTICLE_CREATE_DATE, SortDirection.DESCENDING).setCurrentPageNum(1).
setPageSize(1).setPageCount(1). setPageSize(1).setPageCount(1).
addProjection(Article.ARTICLE_TITLE, String.class). addProjection(Article.ARTICLE_TITLE, String.class).
...@@ -158,8 +162,10 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A ...@@ -158,8 +162,10 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A
final JSONObject currentArticle = get(articleId); final JSONObject currentArticle = get(articleId);
final Date currentArticleCreateDate = (Date) currentArticle.opt(Article.ARTICLE_CREATE_DATE); final Date currentArticleCreateDate = (Date) currentArticle.opt(Article.ARTICLE_CREATE_DATE);
final Query query = new Query().addFilter(Article.ARTICLE_CREATE_DATE, FilterOperator.GREATER_THAN, currentArticleCreateDate). final Query query = new Query().setFilter(
addFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true). CompositeFilterOperator.and(
new PropertyFilter(Article.ARTICLE_CREATE_DATE, FilterOperator.GREATER_THAN, currentArticleCreateDate),
new PropertyFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true))).
addSort(Article.ARTICLE_CREATE_DATE, SortDirection.ASCENDING).setCurrentPageNum(1). addSort(Article.ARTICLE_CREATE_DATE, SortDirection.ASCENDING).setCurrentPageNum(1).
setPageSize(1).setPageCount(1). setPageSize(1).setPageCount(1).
addProjection(Article.ARTICLE_TITLE, String.class). addProjection(Article.ARTICLE_TITLE, String.class).
...@@ -207,9 +213,10 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A ...@@ -207,9 +213,10 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A
LOGGER.log(Level.FINEST, "Random mid[{0}]", mid); LOGGER.log(Level.FINEST, "Random mid[{0}]", mid);
Query query = new Query(); Query query = new Query();
query.addFilter(Article.ARTICLE_RANDOM_DOUBLE, FilterOperator.GREATER_THAN_OR_EQUAL, mid); query.setFilter(CompositeFilterOperator.and(
query.addFilter(Article.ARTICLE_RANDOM_DOUBLE, FilterOperator.LESS_THAN_OR_EQUAL, mid); new PropertyFilter(Article.ARTICLE_RANDOM_DOUBLE, FilterOperator.GREATER_THAN_OR_EQUAL, mid),
query.addFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true); new PropertyFilter(Article.ARTICLE_RANDOM_DOUBLE, FilterOperator.LESS_THAN_OR_EQUAL, mid),
new PropertyFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true)));
query.setCurrentPageNum(1); query.setCurrentPageNum(1);
query.setPageSize(fetchSize); query.setPageSize(fetchSize);
query.setPageCount(1); query.setPageCount(1);
...@@ -223,9 +230,10 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A ...@@ -223,9 +230,10 @@ public final class ArticleRepositoryImpl extends AbstractRepository implements A
final int reminingSize = fetchSize - array1.length(); final int reminingSize = fetchSize - array1.length();
if (0 != reminingSize) { // Query for remains if (0 != reminingSize) { // Query for remains
query = new Query(); query = new Query();
query.addFilter(Article.ARTICLE_RANDOM_DOUBLE, FilterOperator.GREATER_THAN_OR_EQUAL, 0D); query.setFilter(CompositeFilterOperator.and(
query.addFilter(Article.ARTICLE_RANDOM_DOUBLE, FilterOperator.LESS_THAN_OR_EQUAL, mid); new PropertyFilter(Article.ARTICLE_RANDOM_DOUBLE, FilterOperator.GREATER_THAN_OR_EQUAL, 0D),
query.addFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true); new PropertyFilter(Article.ARTICLE_RANDOM_DOUBLE, FilterOperator.LESS_THAN_OR_EQUAL, mid),
new PropertyFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true)));
query.setCurrentPageNum(1); query.setCurrentPageNum(1);
query.setPageSize(reminingSize); query.setPageSize(reminingSize);
query.setPageCount(1); query.setPageCount(1);
......
...@@ -22,11 +22,7 @@ import java.util.logging.Level; ...@@ -22,11 +22,7 @@ import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.b3log.latke.Keys; import org.b3log.latke.Keys;
import org.b3log.latke.cache.Cache; import org.b3log.latke.cache.Cache;
import org.b3log.latke.repository.AbstractRepository; import org.b3log.latke.repository.*;
import org.b3log.latke.repository.FilterOperator;
import org.b3log.latke.repository.Query;
import org.b3log.latke.repository.RepositoryException;
import org.b3log.latke.repository.SortDirection;
import org.b3log.solo.model.Comment; import org.b3log.solo.model.Comment;
import org.b3log.solo.repository.CommentRepository; import org.b3log.solo.repository.CommentRepository;
import org.b3log.latke.util.CollectionUtils; import org.b3log.latke.util.CollectionUtils;
...@@ -79,7 +75,7 @@ public final class CommentRepositoryImpl extends AbstractRepository implements C ...@@ -79,7 +75,7 @@ public final class CommentRepositoryImpl extends AbstractRepository implements C
public List<JSONObject> getComments(final String onId, final int currentPageNum, final int pageSize) public List<JSONObject> getComments(final String onId, final int currentPageNum, final int pageSize)
throws RepositoryException { throws RepositoryException {
final Query query = new Query().addSort(Keys.OBJECT_ID, SortDirection.DESCENDING). final Query query = new Query().addSort(Keys.OBJECT_ID, SortDirection.DESCENDING).
addFilter(Comment.COMMENT_ON_ID, FilterOperator.EQUAL, onId). setFilter(new PropertyFilter(Comment.COMMENT_ON_ID, FilterOperator.EQUAL, onId)).
setCurrentPageNum(currentPageNum). setCurrentPageNum(currentPageNum).
setPageSize(pageSize). setPageSize(pageSize).
setPageCount(1); setPageCount(1);
......
...@@ -17,11 +17,7 @@ package org.b3log.solo.repository.impl; ...@@ -17,11 +17,7 @@ package org.b3log.solo.repository.impl;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.b3log.latke.Keys; import org.b3log.latke.Keys;
import org.b3log.latke.repository.AbstractRepository; import org.b3log.latke.repository.*;
import org.b3log.latke.repository.FilterOperator;
import org.b3log.latke.repository.Query;
import org.b3log.latke.repository.RepositoryException;
import org.b3log.latke.repository.SortDirection;
import org.b3log.solo.model.Link; import org.b3log.solo.model.Link;
import org.b3log.solo.repository.LinkRepository; import org.b3log.solo.repository.LinkRepository;
import org.json.JSONArray; import org.json.JSONArray;
...@@ -47,7 +43,8 @@ public final class LinkRepositoryImpl extends AbstractRepository implements Link ...@@ -47,7 +43,8 @@ public final class LinkRepositoryImpl extends AbstractRepository implements Link
@Override @Override
public JSONObject getByAddress(final String address) throws RepositoryException { public JSONObject getByAddress(final String address) throws RepositoryException {
final Query query = new Query().addFilter(Link.LINK_ADDRESS, FilterOperator.EQUAL, address). final Query query = new Query().setFilter(
new PropertyFilter(Link.LINK_ADDRESS, FilterOperator.EQUAL, address)).
setPageCount(1); setPageCount(1);
final JSONObject result = get(query); final JSONObject result = get(query);
...@@ -78,7 +75,7 @@ public final class LinkRepositoryImpl extends AbstractRepository implements Link ...@@ -78,7 +75,7 @@ public final class LinkRepositoryImpl extends AbstractRepository implements Link
@Override @Override
public JSONObject getByOrder(final int order) throws RepositoryException { public JSONObject getByOrder(final int order) throws RepositoryException {
final Query query = new Query(); final Query query = new Query();
query.addFilter(Link.LINK_ORDER, FilterOperator.EQUAL, order); query.setFilter(new PropertyFilter(Link.LINK_ORDER, FilterOperator.EQUAL, order));
final JSONObject result = get(query); final JSONObject result = get(query);
final JSONArray array = result.optJSONArray(Keys.RESULTS); final JSONArray array = result.optJSONArray(Keys.RESULTS);
...@@ -98,7 +95,8 @@ public final class LinkRepositoryImpl extends AbstractRepository implements Link ...@@ -98,7 +95,8 @@ public final class LinkRepositoryImpl extends AbstractRepository implements Link
} }
final Query query = new Query(); final Query query = new Query();
query.addFilter(Link.LINK_ORDER, FilterOperator.LESS_THAN, link.optInt(Link.LINK_ORDER)). query.setFilter(
new PropertyFilter(Link.LINK_ORDER, FilterOperator.LESS_THAN, link.optInt(Link.LINK_ORDER))).
addSort(Link.LINK_ORDER, SortDirection.DESCENDING); addSort(Link.LINK_ORDER, SortDirection.DESCENDING);
query.setCurrentPageNum(1); query.setCurrentPageNum(1);
query.setPageSize(1); query.setPageSize(1);
...@@ -121,7 +119,7 @@ public final class LinkRepositoryImpl extends AbstractRepository implements Link ...@@ -121,7 +119,7 @@ public final class LinkRepositoryImpl extends AbstractRepository implements Link
} }
final Query query = new Query(); final Query query = new Query();
query.addFilter(Link.LINK_ORDER, FilterOperator.GREATER_THAN, link.optInt(Link.LINK_ORDER)). query.setFilter(new PropertyFilter(Link.LINK_ORDER, FilterOperator.GREATER_THAN, link.optInt(Link.LINK_ORDER))).
addSort(Link.LINK_ORDER, SortDirection.ASCENDING); addSort(Link.LINK_ORDER, SortDirection.ASCENDING);
query.setCurrentPageNum(1); query.setCurrentPageNum(1);
query.setPageSize(1); query.setPageSize(1);
......
...@@ -18,11 +18,7 @@ package org.b3log.solo.repository.impl; ...@@ -18,11 +18,7 @@ package org.b3log.solo.repository.impl;
import java.util.List; import java.util.List;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.b3log.latke.Keys; import org.b3log.latke.Keys;
import org.b3log.latke.repository.AbstractRepository; import org.b3log.latke.repository.*;
import org.b3log.latke.repository.FilterOperator;
import org.b3log.latke.repository.Query;
import org.b3log.latke.repository.RepositoryException;
import org.b3log.latke.repository.SortDirection;
import org.b3log.latke.util.CollectionUtils; import org.b3log.latke.util.CollectionUtils;
import org.b3log.solo.model.Page; import org.b3log.solo.model.Page;
import org.b3log.solo.repository.PageRepository; import org.b3log.solo.repository.PageRepository;
...@@ -49,7 +45,8 @@ public final class PageRepositoryImpl extends AbstractRepository implements Page ...@@ -49,7 +45,8 @@ public final class PageRepositoryImpl extends AbstractRepository implements Page
@Override @Override
public JSONObject getByPermalink(final String permalink) throws RepositoryException { public JSONObject getByPermalink(final String permalink) throws RepositoryException {
final Query query = new Query().addFilter(Page.PAGE_PERMALINK, FilterOperator.EQUAL, permalink). final Query query = new Query().setFilter(
new PropertyFilter(Page.PAGE_PERMALINK, FilterOperator.EQUAL, permalink)).
setPageCount(1); setPageCount(1);
final JSONObject result = get(query); final JSONObject result = get(query);
final JSONArray array = result.optJSONArray(Keys.RESULTS); final JSONArray array = result.optJSONArray(Keys.RESULTS);
...@@ -82,7 +79,8 @@ public final class PageRepositoryImpl extends AbstractRepository implements Page ...@@ -82,7 +79,8 @@ public final class PageRepositoryImpl extends AbstractRepository implements Page
return null; return null;
} }
final Query query = new Query().addFilter(Page.PAGE_ORDER, FilterOperator.LESS_THAN, page.optInt(Page.PAGE_ORDER)). final Query query = new Query().setFilter(
new PropertyFilter(Page.PAGE_ORDER, FilterOperator.LESS_THAN, page.optInt(Page.PAGE_ORDER))).
addSort(Page.PAGE_ORDER, SortDirection.DESCENDING). addSort(Page.PAGE_ORDER, SortDirection.DESCENDING).
setCurrentPageNum(1).setPageSize(1).setPageCount(1); setCurrentPageNum(1).setPageSize(1).setPageCount(1);
...@@ -103,7 +101,8 @@ public final class PageRepositoryImpl extends AbstractRepository implements Page ...@@ -103,7 +101,8 @@ public final class PageRepositoryImpl extends AbstractRepository implements Page
return null; return null;
} }
final Query query = new Query().addFilter(Page.PAGE_ORDER, FilterOperator.GREATER_THAN, page.optInt(Page.PAGE_ORDER)). final Query query = new Query().setFilter(
new PropertyFilter(Page.PAGE_ORDER, FilterOperator.GREATER_THAN, page.optInt(Page.PAGE_ORDER))).
addSort(Page.PAGE_ORDER, SortDirection.ASCENDING).setCurrentPageNum(1). addSort(Page.PAGE_ORDER, SortDirection.ASCENDING).setCurrentPageNum(1).
setPageSize(1). setPageSize(1).
setPageCount(1); setPageCount(1);
...@@ -120,7 +119,8 @@ public final class PageRepositoryImpl extends AbstractRepository implements Page ...@@ -120,7 +119,8 @@ public final class PageRepositoryImpl extends AbstractRepository implements Page
@Override @Override
public JSONObject getByOrder(final int order) throws RepositoryException { public JSONObject getByOrder(final int order) throws RepositoryException {
final Query query = new Query().addFilter(Page.PAGE_ORDER, FilterOperator.EQUAL, order). final Query query = new Query().setFilter(
new PropertyFilter(Page.PAGE_ORDER, FilterOperator.EQUAL, order)).
setPageCount(1); setPageCount(1);
final JSONObject result = get(query); final JSONObject result = get(query);
final JSONArray array = result.optJSONArray(Keys.RESULTS); final JSONArray array = result.optJSONArray(Keys.RESULTS);
......
...@@ -21,11 +21,7 @@ import org.b3log.solo.model.Article; ...@@ -21,11 +21,7 @@ import org.b3log.solo.model.Article;
import org.b3log.solo.model.Tag; import org.b3log.solo.model.Tag;
import org.b3log.solo.repository.TagArticleRepository; import org.b3log.solo.repository.TagArticleRepository;
import org.b3log.latke.Keys; import org.b3log.latke.Keys;
import org.b3log.latke.repository.AbstractRepository; import org.b3log.latke.repository.*;
import org.b3log.latke.repository.FilterOperator;
import org.b3log.latke.repository.Query;
import org.b3log.latke.repository.RepositoryException;
import org.b3log.latke.repository.SortDirection;
import org.b3log.latke.util.CollectionUtils; import org.b3log.latke.util.CollectionUtils;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
...@@ -50,7 +46,8 @@ public final class TagArticleRepositoryImpl extends AbstractRepository implement ...@@ -50,7 +46,8 @@ public final class TagArticleRepositoryImpl extends AbstractRepository implement
@Override @Override
public List<JSONObject> getByArticleId(final String articleId) throws RepositoryException { public List<JSONObject> getByArticleId(final String articleId) throws RepositoryException {
final Query query = new Query().addFilter(Article.ARTICLE + "_" + Keys.OBJECT_ID, FilterOperator.EQUAL, articleId). final Query query = new Query().setFilter(
new PropertyFilter(Article.ARTICLE + "_" + Keys.OBJECT_ID, FilterOperator.EQUAL, articleId)).
setPageCount(1); setPageCount(1);
final JSONObject result = get(query); final JSONObject result = get(query);
...@@ -62,7 +59,8 @@ public final class TagArticleRepositoryImpl extends AbstractRepository implement ...@@ -62,7 +59,8 @@ public final class TagArticleRepositoryImpl extends AbstractRepository implement
@Override @Override
public JSONObject getByTagId(final String tagId, final int currentPageNum, final int pageSize) public JSONObject getByTagId(final String tagId, final int currentPageNum, final int pageSize)
throws RepositoryException { throws RepositoryException {
final Query query = new Query().addFilter(Tag.TAG + "_" + Keys.OBJECT_ID, FilterOperator.EQUAL, tagId). final Query query = new Query().setFilter(
new PropertyFilter(Tag.TAG + "_" + Keys.OBJECT_ID, FilterOperator.EQUAL, tagId)).
addSort(Article.ARTICLE + "_" + Keys.OBJECT_ID, SortDirection.DESCENDING). addSort(Article.ARTICLE + "_" + Keys.OBJECT_ID, SortDirection.DESCENDING).
setCurrentPageNum(currentPageNum). setCurrentPageNum(currentPageNum).
setPageSize(pageSize). setPageSize(pageSize).
......
...@@ -21,11 +21,7 @@ import java.util.logging.Logger; ...@@ -21,11 +21,7 @@ import java.util.logging.Logger;
import org.b3log.solo.model.Tag; import org.b3log.solo.model.Tag;
import org.b3log.solo.repository.TagRepository; import org.b3log.solo.repository.TagRepository;
import org.b3log.latke.Keys; import org.b3log.latke.Keys;
import org.b3log.latke.repository.AbstractRepository; import org.b3log.latke.repository.*;
import org.b3log.latke.repository.FilterOperator;
import org.b3log.latke.repository.Query;
import org.b3log.latke.repository.RepositoryException;
import org.b3log.latke.repository.SortDirection;
import org.b3log.latke.util.CollectionUtils; import org.b3log.latke.util.CollectionUtils;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
...@@ -54,7 +50,8 @@ public final class TagRepositoryImpl extends AbstractRepository implements TagRe ...@@ -54,7 +50,8 @@ public final class TagRepositoryImpl extends AbstractRepository implements TagRe
@Override @Override
public JSONObject getByTitle(final String tagTitle) throws RepositoryException { public JSONObject getByTitle(final String tagTitle) throws RepositoryException {
final Query query = new Query().addFilter(Tag.TAG_TITLE, FilterOperator.EQUAL, tagTitle). final Query query = new Query().setFilter(
new PropertyFilter(Tag.TAG_TITLE, FilterOperator.EQUAL, tagTitle)).
setPageCount(1); setPageCount(1);
final JSONObject result = get(query); final JSONObject result = get(query);
......
...@@ -19,10 +19,7 @@ import java.util.logging.Logger; ...@@ -19,10 +19,7 @@ import java.util.logging.Logger;
import org.b3log.latke.Keys; import org.b3log.latke.Keys;
import org.b3log.latke.model.Role; import org.b3log.latke.model.Role;
import org.b3log.latke.model.User; import org.b3log.latke.model.User;
import org.b3log.latke.repository.AbstractRepository; import org.b3log.latke.repository.*;
import org.b3log.latke.repository.FilterOperator;
import org.b3log.latke.repository.Query;
import org.b3log.latke.repository.RepositoryException;
import org.b3log.solo.repository.UserRepository; import org.b3log.solo.repository.UserRepository;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
...@@ -48,7 +45,8 @@ public final class UserRepositoryImpl extends AbstractRepository implements User ...@@ -48,7 +45,8 @@ public final class UserRepositoryImpl extends AbstractRepository implements User
@Override @Override
public JSONObject getByEmail(final String email) throws RepositoryException { public JSONObject getByEmail(final String email) throws RepositoryException {
final Query query = new Query().setPageCount(1); final Query query = new Query().setPageCount(1);
query.addFilter(User.USER_EMAIL, FilterOperator.EQUAL, email.toLowerCase().trim()); query.setFilter(
new PropertyFilter(User.USER_EMAIL, FilterOperator.EQUAL, email.toLowerCase().trim()));
final JSONObject result = get(query); final JSONObject result = get(query);
final JSONArray array = result.optJSONArray(Keys.RESULTS); final JSONArray array = result.optJSONArray(Keys.RESULTS);
...@@ -62,7 +60,8 @@ public final class UserRepositoryImpl extends AbstractRepository implements User ...@@ -62,7 +60,8 @@ public final class UserRepositoryImpl extends AbstractRepository implements User
@Override @Override
public JSONObject getAdmin() throws RepositoryException { public JSONObject getAdmin() throws RepositoryException {
final Query query = new Query().addFilter(User.USER_ROLE, FilterOperator.EQUAL, Role.ADMIN_ROLE).setPageCount(1); final Query query = new Query().setFilter(
new PropertyFilter(User.USER_ROLE, FilterOperator.EQUAL, Role.ADMIN_ROLE)).setPageCount(1);
final JSONObject result = get(query); final JSONObject result = get(query);
final JSONArray array = result.optJSONArray(Keys.RESULTS); final JSONArray array = result.optJSONArray(Keys.RESULTS);
......
...@@ -35,7 +35,7 @@ import java.util.List; ...@@ -35,7 +35,7 @@ import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.b3log.latke.Keys; import org.b3log.latke.Keys;
import org.b3log.latke.repository.RepositoryException; import org.b3log.latke.repository.*;
import org.b3log.latke.service.ServiceException; import org.b3log.latke.service.ServiceException;
import org.b3log.latke.util.CollectionUtils; import org.b3log.latke.util.CollectionUtils;
import org.b3log.latke.util.Paginator; import org.b3log.latke.util.Paginator;
...@@ -258,7 +258,8 @@ public final class ArticleQueryService { ...@@ -258,7 +258,8 @@ public final class ArticleQueryService {
setPageSize(pageSize). setPageSize(pageSize).
addSort(ARTICLE_PUT_TOP, SortDirection.DESCENDING). addSort(ARTICLE_PUT_TOP, SortDirection.DESCENDING).
addSort(ARTICLE_CREATE_DATE, SortDirection.DESCENDING). addSort(ARTICLE_CREATE_DATE, SortDirection.DESCENDING).
addFilter(ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, articleIsPublished); setFilter(
new PropertyFilter(ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, articleIsPublished));
int articleCount = statistics.getBlogArticleCount(); int articleCount = statistics.getBlogArticleCount();
if (!articleIsPublished) { if (!articleIsPublished) {
...@@ -335,7 +336,8 @@ public final class ArticleQueryService { ...@@ -335,7 +336,8 @@ public final class ArticleQueryService {
final List<JSONObject> ret = new ArrayList<JSONObject>(); final List<JSONObject> ret = new ArrayList<JSONObject>();
final Query query = new Query().addFilter(Keys.OBJECT_ID, FilterOperator.IN, articleIds). final Query query = new Query().setFilter(
new PropertyFilter(Keys.OBJECT_ID, FilterOperator.IN, articleIds)).
setPageCount(1).index(Article.ARTICLE_PERMALINK); setPageCount(1).index(Article.ARTICLE_PERMALINK);
result = articleRepository.get(query); result = articleRepository.get(query);
final JSONArray articles = result.getJSONArray(Keys.RESULTS); final JSONArray articles = result.getJSONArray(Keys.RESULTS);
...@@ -389,7 +391,8 @@ public final class ArticleQueryService { ...@@ -389,7 +391,8 @@ public final class ArticleQueryService {
final List<JSONObject> ret = new ArrayList<JSONObject>(); final List<JSONObject> ret = new ArrayList<JSONObject>();
final Query query = new Query().addFilter(Keys.OBJECT_ID, FilterOperator.IN, articleIds). final Query query = new Query().setFilter(
new PropertyFilter(Keys.OBJECT_ID, FilterOperator.IN, articleIds)).
setPageCount(1).index(Article.ARTICLE_PERMALINK); setPageCount(1).index(Article.ARTICLE_PERMALINK);
result = articleRepository.get(query); result = articleRepository.get(query);
final JSONArray articles = result.getJSONArray(Keys.RESULTS); final JSONArray articles = result.getJSONArray(Keys.RESULTS);
......
...@@ -27,10 +27,7 @@ import javax.servlet.http.HttpServletRequest; ...@@ -27,10 +27,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import org.b3log.solo.model.Article; import org.b3log.solo.model.Article;
import org.b3log.latke.Keys; import org.b3log.latke.Keys;
import org.b3log.latke.repository.FilterOperator; import org.b3log.latke.repository.*;
import org.b3log.latke.repository.Query;
import org.b3log.latke.repository.RepositoryException;
import org.b3log.latke.repository.SortDirection;
import org.b3log.latke.service.ServiceException; import org.b3log.latke.service.ServiceException;
import org.b3log.latke.user.UserService; import org.b3log.latke.user.UserService;
import org.b3log.latke.user.UserServiceFactory; import org.b3log.latke.user.UserServiceFactory;
...@@ -261,7 +258,8 @@ public final class Articles { ...@@ -261,7 +258,8 @@ public final class Articles {
final Map<String, SortDirection> sorts = new HashMap<String, SortDirection>(); final Map<String, SortDirection> sorts = new HashMap<String, SortDirection>();
sorts.put(Article.ARTICLE_CREATE_DATE, SortDirection.DESCENDING); sorts.put(Article.ARTICLE_CREATE_DATE, SortDirection.DESCENDING);
sorts.put(Article.ARTICLE_PUT_TOP, SortDirection.DESCENDING); sorts.put(Article.ARTICLE_PUT_TOP, SortDirection.DESCENDING);
final Query query = new Query().addFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true); final Query query = new Query().setFilter(
new PropertyFilter(Article.ARTICLE_IS_PUBLISHED, FilterOperator.EQUAL, true));
final JSONObject result = articleRepository.get(query); final JSONObject result = articleRepository.get(query);
final JSONArray articles = result.getJSONArray(Keys.RESULTS); final JSONArray articles = result.getJSONArray(Keys.RESULTS);
......
...@@ -19,6 +19,7 @@ import org.b3log.latke.Keys; ...@@ -19,6 +19,7 @@ import org.b3log.latke.Keys;
import org.b3log.latke.model.Role; import org.b3log.latke.model.Role;
import org.b3log.latke.model.User; import org.b3log.latke.model.User;
import org.b3log.latke.repository.FilterOperator; import org.b3log.latke.repository.FilterOperator;
import org.b3log.latke.repository.PropertyFilter;
import org.b3log.latke.repository.Query; import org.b3log.latke.repository.Query;
import org.b3log.latke.repository.Transaction; import org.b3log.latke.repository.Transaction;
import org.b3log.solo.AbstractTestCase; import org.b3log.solo.AbstractTestCase;
...@@ -82,9 +83,8 @@ public final class UserRepositoryImplTestCase extends AbstractTestCase { ...@@ -82,9 +83,8 @@ public final class UserRepositoryImplTestCase extends AbstractTestCase {
Assert.assertEquals("test", admin.optString(User.USER_NAME)); Assert.assertEquals("test", admin.optString(User.USER_NAME));
final JSONObject result = final JSONObject result =
userRepository.get(new Query().addFilter(User.USER_NAME, userRepository.get(new Query().setFilter(
FilterOperator.EQUAL, new PropertyFilter(User.USER_NAME, FilterOperator.EQUAL, "test1")));
"test1"));
final JSONArray users = result.getJSONArray(Keys.RESULTS); final JSONArray users = result.getJSONArray(Keys.RESULTS);
Assert.assertEquals(users.length(), 1); Assert.assertEquals(users.length(), 1);
......
#
# Copyright (C) 2009, 2010, 2011, B3log Team
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# Description: ease skin (mock for test).
# Version: 1.0.0.0, Jun 27, 2012
# Author: Liang Ding
#
name=ease
version=1.0.1
forSolo=0.4.6
memo=\u56de\u5f52\u606c\u9759
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
Description: B3log Solo parent POM. Description: B3log Solo parent POM.
Version: 2.0.2.0, Jun 19, 2012 Version: 2.0.2.1, Jun 27, 2012
Author: Liang Ding Author: Liang Ding
--> -->
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns="http://maven.apache.org/POM/4.0.0"
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<org.b3log.latke.version>0.5.0-SNAPSHOT</org.b3log.latke.version> <org.b3log.latke.version>0.5.0-SNAPSHOT</org.b3log.latke.version>
<org.b3log.latke-gae.version>0.5.0-SNAPSHOT</org.b3log.latke-gae.version> <org.b3log.latke-gae.version>0.5.0-SNAPSHOT</org.b3log.latke-gae.version>
<org.b3log.latke-repository-mysql.version>0.5.0-SNAPSHOT</org.b3log.latke-repository-mysql.version> <org.b3log.latke-repository-mysql.version>0.5.0-SNAPSHOT</org.b3log.latke-repository-mysql.version>
<gae.version>1.6.5</gae.version> <gae.version>1.7.0</gae.version>
<freemarker-gae.version>2.3.19</freemarker-gae.version> <freemarker-gae.version>2.3.19</freemarker-gae.version>
<jsoup.version>1.5.2</jsoup.version> <jsoup.version>1.5.2</jsoup.version>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment