From 6bde4f7a355dcb4d28d2a63e6745af2ce0524471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Wed, 24 Mar 2010 12:41:27 +0000 Subject: [PATCH] added comments --- .../java/com/mysema/query/search/LuceneQuery.java | 15 +++++++++------ .../com/mysema/query/search/LuceneSerializer.java | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/querydsl-lucene/src/main/java/com/mysema/query/search/LuceneQuery.java b/querydsl-lucene/src/main/java/com/mysema/query/search/LuceneQuery.java index 2ff3d4d87..e4d1b9e35 100644 --- a/querydsl-lucene/src/main/java/com/mysema/query/search/LuceneQuery.java +++ b/querydsl-lucene/src/main/java/com/mysema/query/search/LuceneQuery.java @@ -18,6 +18,7 @@ import org.apache.lucene.search.Sort; import org.apache.lucene.search.SortField; import com.mysema.query.QueryException; +import com.mysema.query.QueryMetadata; import com.mysema.query.QueryModifiers; import com.mysema.query.SearchResults; import com.mysema.query.SimpleProjectable; @@ -94,9 +95,10 @@ public class LuceneQuery implements SimpleQuery, SimpleProjectable< @Override public List list() { - List> orderBys = queryMixin.getMetadata().getOrderBy(); - Long queryLimit = queryMixin.getMetadata().getModifiers().getLimit(); - Long queryOffset = queryMixin.getMetadata().getModifiers().getOffset(); + QueryMetadata metadata = queryMixin.getMetadata(); + List> orderBys = metadata.getOrderBy(); + Long queryLimit = metadata.getModifiers().getLimit(); + Long queryOffset = metadata.getModifiers().getOffset(); int limit; int offset = queryOffset != null ? queryOffset.intValue() : 0; try { @@ -111,7 +113,7 @@ public class LuceneQuery implements SimpleQuery, SimpleProjectable< return listSorted(orderBys, limit, offset); } - List documents = new ArrayList(); + List documents = new ArrayList(); // TODO : initialize List with proper size try { ScoreDoc[] scoreDocs = searcher.search(createQuery(), limit + offset).scoreDocs; for (int i = offset; i < scoreDocs.length; ++i) { @@ -124,8 +126,8 @@ public class LuceneQuery implements SimpleQuery, SimpleProjectable< } private List listSorted(List> orderBys, int limit, int offset) { - List documents = new ArrayList(); - List sortFields = new ArrayList(); + List documents = new ArrayList(); // TODO : initialize List with proper size + List sortFields = new ArrayList(orderBys.size()); for (OrderSpecifier orderSpecifier : orderBys) { if (!(orderSpecifier.getTarget() instanceof Path)) { throw new IllegalArgumentException("argument was not of type Path."); @@ -157,6 +159,7 @@ public class LuceneQuery implements SimpleQuery, SimpleProjectable< @Override public SearchResults listResults() { + // FIXME : SearchResults.total is number of total results, not amount of documents in paged view List documents = list(); return new SearchResults(documents, queryMixin.getMetadata().getModifiers(), documents.size()); } diff --git a/querydsl-lucene/src/main/java/com/mysema/query/search/LuceneSerializer.java b/querydsl-lucene/src/main/java/com/mysema/query/search/LuceneSerializer.java index 644c144c0..22d2396ff 100644 --- a/querydsl-lucene/src/main/java/com/mysema/query/search/LuceneSerializer.java +++ b/querydsl-lucene/src/main/java/com/mysema/query/search/LuceneSerializer.java @@ -64,7 +64,7 @@ public class LuceneSerializer { } else if (op == Ops.BETWEEN) { return between(operation); } - throw new UnsupportedOperationException(); + throw new UnsupportedOperationException("Illegal operation " + operation); } private Query toTwoHandSidedQuery(Operation operation, Occur occur) {