/** for testing DateTools support */ private String getDate(Date d, DateTools.Resolution resolution) throws Exception { if (resolution == null) { return DateField.dateToString(d); } else { return DateTools.dateToString(d, resolution); } }
/** for testing legacy DateField support */ public void testLegacyDateRange() throws Exception { String startDate = getLocalizedDate(2002, 1, 1, false); String endDate = getLocalizedDate(2002, 1, 4, false); Calendar endDateExpected = new GregorianCalendar(); endDateExpected.set(2002, 1, 4, 23, 59, 59); endDateExpected.set(Calendar.MILLISECOND, 999); assertQueryEquals( "[ " + escapeDateString(startDate) + " TO " + escapeDateString(endDate) + "]", null, "[" + getLegacyDate(startDate) + " TO " + DateField.dateToString(endDateExpected.getTime()) + "]"); assertQueryEquals( "{ " + escapeDateString(startDate) + " " + escapeDateString(endDate) + " }", null, "{" + getLegacyDate(startDate) + " TO " + getLegacyDate(endDate) + "}"); }
private static void addDateDoc( String content, int year, int month, int day, int hour, int minute, int second, IndexWriter iw) throws IOException { Document d = new Document(); d.add(new Field("f", content, Field.Store.YES, Field.Index.ANALYZED)); Calendar cal = Calendar.getInstance(Locale.ENGLISH); cal.set(year, month - 1, day, hour, minute, second); d.add( new Field( "date", DateField.dateToString(cal.getTime()), Field.Store.YES, Field.Index.NOT_ANALYZED)); iw.addDocument(d); }
/** for testing legacy DateField support */ private String getLegacyDate(String s) throws Exception { DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); return DateField.dateToString(df.parse(s)); }