added support for Query wrapping querydsl-lucene

updated version to 1.6.3
This commit is contained in:
Timo Westkämper 2010-05-12 13:35:57 +00:00
parent b595fc191a
commit 4c0abdff12
13 changed files with 65 additions and 11 deletions

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>1.6.2-SNAPSHOT</version>
<version>1.6.3</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>1.6.2-SNAPSHOT</version>
<version>1.6.3</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>1.6.2-SNAPSHOT</version>
<version>1.6.3</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>1.6.2-SNAPSHOT</version>
<version>1.6.3</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>1.6.2-SNAPSHOT</version>
<version>1.6.3</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>1.6.2-SNAPSHOT</version>
<version>1.6.3</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>1.6.2-SNAPSHOT</version>
<version>1.6.3</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -236,8 +236,10 @@ public class LuceneSerializer {
public Query toQuery(Expr<?> expr) {
if (expr instanceof Operation<?>) {
return toQuery((Operation<?>) expr);
}else if (expr instanceof QueryElement){
return ((QueryElement)expr).getQuery();
}
throw new IllegalArgumentException("expr was not of type Operation");
throw new IllegalArgumentException("expr was not of type Operation or QueryElement");
}
public Sort toSort(List<OrderSpecifier<?>> orderBys){

View File

@ -0,0 +1,40 @@
package com.mysema.query.lucene;
import org.apache.lucene.search.Query;
import com.mysema.query.types.Visitor;
import com.mysema.query.types.expr.EBoolean;
/**
* QueryElement wraps a lucene Query
*
* @author tiwe
*
*/
public class QueryElement extends EBoolean{
private static final long serialVersionUID = 470868107363840155L;
private final Query query;
public QueryElement(Query query){
this.query = query;
}
@Override
public void accept(Visitor v) {
// ?!?
}
@Override
public boolean equals(Object o) {
return o instanceof QueryElement && ((QueryElement)o).query.equals(query);
}
public Query getQuery() {
return query;
}
}

View File

@ -103,6 +103,18 @@ public class LuceneSerializerTest {
assertEquals(expectedHits, docs.totalHits);
assertEquals(expectedQuery, query.toString());
}
@Test
public void queryElement() throws Exception{
Query query1 = serializer.toQuery(author.like("Michael"));
Query query2 = serializer.toQuery(text.like("Text"));
EBoolean query = EBoolean.anyOf(
new QueryElement(query1),
new QueryElement(query2)
);
testQuery(query, "author:michael text:text", 1);
}
@Test
public void like() throws Exception {

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>1.6.2-SNAPSHOT</version>
<version>1.6.3</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>1.6.2-SNAPSHOT</version>
<version>1.6.3</version>
<name>Querydsl</name>
<description>parent project for querydsl modules</description>
<url>http://source.mysema.com/display/querydsl</url>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>1.6.2-SNAPSHOT</version>
<version>1.6.3</version>
</parent>
<groupId>com.mysema.querydsl</groupId>