Author: bleny Date: 2010-08-06 16:41:51 +0200 (Fri, 06 Aug 2010) New Revision: 240 Url: http://nuiton.org/repositories/revision/wikitty/240 Log: fixing WikittyUtil date pattern using a pattern compatible with solr + test Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java trunk/wikitty-solr-impl/src/test/java/org/nuiton/wikitty/solr/test/SolrSearchTest.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java 2010-08-06 13:23:30 UTC (rev 239) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java 2010-08-06 14:41:51 UTC (rev 240) @@ -52,7 +52,7 @@ public static final String DEFAULT_VERSION = "0.0"; - public static final String DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'Z"; + public static final String DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSSZ'Z'"; public static final String[] DATE_FORMAT_ALLOWED = { DATE_FORMAT, new SimpleDateFormat().toPattern(), Modified: trunk/wikitty-solr-impl/src/test/java/org/nuiton/wikitty/solr/test/SolrSearchTest.java =================================================================== --- trunk/wikitty-solr-impl/src/test/java/org/nuiton/wikitty/solr/test/SolrSearchTest.java 2010-08-06 13:23:30 UTC (rev 239) +++ trunk/wikitty-solr-impl/src/test/java/org/nuiton/wikitty/solr/test/SolrSearchTest.java 2010-08-06 14:41:51 UTC (rev 240) @@ -4,6 +4,8 @@ import static junit.framework.Assert.assertTrue; import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; import java.util.List; import org.apache.commons.logging.Log; @@ -410,4 +412,31 @@ list = result.getAll(); assertEquals(0, list.size()); } + + /** test that doing a search with a date criteria is possible */ + @Test + public void testSearchByDate() throws Exception { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.DAY_OF_MONTH, 20); + cal.set(Calendar.MONTH, 9); + cal.set(Calendar.YEAR, 2009); + + // this must return a date in a format understandable for solr + // pattern in WikittyUtil has to be compatible + String dateString = WikittyUtil.formatDate(cal.getTime()); + + Criteria criteria = Search.query() + .gt("Test.buildDate", dateString) + .criteria() + .setFirstIndex(0).setEndIndex(Criteria.ALL_ELEMENTS); + + // If an exception is thrown, check that the pattern in WikittyUtil + // is compatible with solr, in particular that the trailing Z + // is present and respect http://wiki.apache.org/solr/IndexingDates + PagedResult<String> result = ws.findAllByCriteria(null, criteria); + + + List<String> list = result.getAll(); + assertEquals(1, list.size()); + } }