r768 - in trunk: wikitty-api/src/main/java/org/nuiton/wikitty/search wikitty-api/src/main/java/org/nuiton/wikitty/search/operators wikitty-api/src/main/java/org/nuiton/wikitty/storage wikitty-api/src/test/java/org/nuiton/wikitty/api wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr
Author: jcouteau Date: 2011-04-08 13:26:05 +0200 (Fri, 08 Apr 2011) New Revision: 768 Url: http://nuiton.org/repositories/revision/wikitty/768 Log: Add True search Refactor False search Added: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/operators/True.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/RestrictionHelper.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/Search.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/operators/False.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/storage/WikittySearchEngineInMemory.java trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/Restriction2Solr.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/RestrictionHelper.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/RestrictionHelper.java 2011-04-08 10:18:32 UTC (rev 767) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/RestrictionHelper.java 2011-04-08 11:26:05 UTC (rev 768) @@ -49,6 +49,7 @@ import java.util.Locale; import java.util.TimeZone; import org.nuiton.wikitty.search.operators.In; +import org.nuiton.wikitty.search.operators.True; /** * @author "Nicolas Chapurlat" <nicolas.chapurlat@logica.com> @@ -226,14 +227,14 @@ return or; } - public static Restriction rTrue() { - Restriction rTrue = new Restriction(); + public static True rTrue() { + True rTrue = new True(); rTrue.setName(RestrictionName.TRUE); return rTrue; } - public static Restriction rFalse() { - Restriction rFalse = new Restriction(); + public static False rFalse() { + False rFalse = new False(); rFalse.setName(RestrictionName.FALSE); return rFalse; } @@ -259,12 +260,6 @@ return isNotNull; } - public static False isFalse() { - False falseRestriction = new False(); - falseRestriction.setName(RestrictionName.FALSE); - return falseRestriction; - } - static ThreadLocal<SimpleDateFormat> myFormats = new ThreadLocal<SimpleDateFormat>() { @Override protected SimpleDateFormat initialValue() { Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/Search.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/Search.java 2011-04-08 10:18:32 UTC (rev 767) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/Search.java 2011-04-08 11:26:05 UTC (rev 768) @@ -440,12 +440,22 @@ * * @return {@code this} */ - public Search isFalse() { - restrictions.add(RestrictionHelper.isFalse()); + public Search rFalse() { + restrictions.add(RestrictionHelper.rFalse()); return this; } /** + * True. + * + * @return {@code this} + */ + public Search rTrue() { + restrictions.add(RestrictionHelper.rTrue()); + return this; + } + + /** * Not (sub query). * * @return sub query Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/operators/False.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/operators/False.java 2011-04-08 10:18:32 UTC (rev 767) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/operators/False.java 2011-04-08 11:26:05 UTC (rev 768) @@ -40,7 +40,7 @@ // equals use objects that are not constant through time // then, unable to create hashCode from those objects // returning a constant hash-code - return Greater.class.hashCode(); + return False.class.hashCode(); } } \ No newline at end of file Added: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/operators/True.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/operators/True.java (rev 0) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/operators/True.java 2011-04-08 11:26:05 UTC (rev 768) @@ -0,0 +1,46 @@ +package org.nuiton.wikitty.search.operators; + +import java.io.Serializable; + +/** + * User: couteau + * Date: 08/04/11 + */ +public class True extends Restriction implements Serializable { + + // serialVersionUID is used for serialization. + private static final long serialVersionUID = 1L; + + /** + * Default constructor + */ + public True() { + super(); + } + + /** + * Equality test based attributes values + * + * @param other Value to compare + */ + public boolean equals(Object other) { + if (this == other) { + return true; + } + if (!(other instanceof True)) { + return false; + } + + final True trueOther = (True) other; + + return super.equals(trueOther); + } + + public int hashCode() { + // equals use objects that are not constant through time + // then, unable to create hashCode from those objects + // returning a constant hash-code + return True.class.hashCode(); + } + +} \ No newline at end of file Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/storage/WikittySearchEngineInMemory.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/storage/WikittySearchEngineInMemory.java 2011-04-08 10:18:32 UTC (rev 767) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/storage/WikittySearchEngineInMemory.java 2011-04-08 11:26:05 UTC (rev 768) @@ -47,6 +47,7 @@ import org.nuiton.wikitty.search.operators.BinaryOperator; import org.nuiton.wikitty.search.operators.Contains; import org.nuiton.wikitty.search.operators.Element; +import org.nuiton.wikitty.search.operators.False; import org.nuiton.wikitty.search.operators.In; import org.nuiton.wikitty.search.operators.Keyword; import org.nuiton.wikitty.search.operators.Not; @@ -54,6 +55,7 @@ import org.nuiton.wikitty.search.operators.Or; import org.nuiton.wikitty.search.operators.Restriction; import org.nuiton.wikitty.search.operators.RestrictionName; +import org.nuiton.wikitty.search.operators.True; import org.nuiton.wikitty.services.WikittyTransaction; public class WikittySearchEngineInMemory implements WikittySearchEngine { @@ -243,6 +245,10 @@ return false; + } else if (restriction instanceof True) { + return true; + } else if (restriction instanceof False) { + return false; } else if (restriction instanceof Contains) { Contains contains = (Contains) restriction; Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java 2011-04-08 10:18:32 UTC (rev 767) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java 2011-04-08 11:26:05 UTC (rev 768) @@ -458,6 +458,32 @@ } @Test + public void testFalse() throws Exception { + + Search query = Search.query().rFalse(); + + Criteria rFalse = query.criteria(); + + PagedResult<Wikitty> results = proxy.findAllByCriteria(rFalse); + + Assert.assertEquals(0, results.getAll().size()); + + } + + @Test + public void testTrue() throws Exception { + + Search query = Search.query().rTrue(); + + Criteria rTrue = query.criteria(); + + PagedResult<Wikitty> results = proxy.findAllByCriteria(rTrue); + + Assert.assertEquals(5, results.getAll().size()); + + } + + @Test public void testAnd() throws Exception { Search query = Search.query().and().bw("Product.price", "15", "25") Modified: trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/Restriction2Solr.java =================================================================== --- trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/Restriction2Solr.java 2011-04-08 10:18:32 UTC (rev 767) +++ trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/Restriction2Solr.java 2011-04-08 11:26:05 UTC (rev 768) @@ -204,7 +204,7 @@ Restriction generatedRestriction; long size = solrResults.size(); if ( size == 0 ) { - generatedRestriction = RestrictionHelper.isFalse(); + generatedRestriction = RestrictionHelper.rFalse(); } else if ( size == 1 ) { generatedRestriction = RestrictionHelper.eq( associated.getElement(), (String) solrResults.get(0).getFieldValue(WikittySolrConstant.SOLR_ID) );
participants (1)
-
jcouteau@users.nuiton.org