You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2012/07/09 15:12:41 UTC
svn commit: r1359149 - in
/lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser:
classic/ flexible/standard/ flexible/standard/config/
flexible/standard/nodes/ flexible/standard/processors/
Author: rmuir
Date: Mon Jul 9 13:12:41 2012
New Revision: 1359149
URL: http://svn.apache.org/viewvc?rev=1359149&view=rev
Log:
LUCENE-4199: allow setting of tz used for date range parsing
Modified:
lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java
lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java
lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java
lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericQueryNode.java
lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/TermRangeQueryNodeProcessor.java
Modified: lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java?rev=1359149&r1=1359148&r2=1359149&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java (original)
+++ lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java Mon Jul 9 13:12:41 2012
@@ -71,6 +71,7 @@ public abstract class QueryParserBase {
float fuzzyMinSim = FuzzyQuery.defaultMinSimilarity;
int fuzzyPrefixLength = FuzzyQuery.defaultPrefixLength;
Locale locale = Locale.getDefault();
+ TimeZone timeZone = TimeZone.getDefault();
// the default date resolution
DateTools.Resolution dateResolution = null;
@@ -329,6 +330,14 @@ public abstract class QueryParserBase {
public Locale getLocale() {
return locale;
}
+
+ public void setTimeZone(TimeZone timeZone) {
+ this.timeZone = timeZone;
+ }
+
+ public TimeZone getTimeZone() {
+ return timeZone;
+ }
/**
* Sets the default date resolution used by RangeQueries for fields for which no
@@ -678,7 +687,7 @@ public abstract class QueryParserBase {
// The user can only specify the date, not the time, so make sure
// the time is set to the latest possible time of that date to really
// include all documents:
- Calendar cal = Calendar.getInstance(locale);
+ Calendar cal = Calendar.getInstance(timeZone, locale);
cal.setTime(d2);
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.MINUTE, 59);
Modified: lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java?rev=1359149&r1=1359148&r2=1359149&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java (original)
+++ lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java Mon Jul 9 13:12:41 2012
@@ -19,6 +19,7 @@ package org.apache.lucene.queryparser.fl
import java.util.Locale;
import java.util.Map;
+import java.util.TimeZone;
import java.util.TooManyListenersException;
import org.apache.lucene.analysis.Analyzer;
@@ -344,6 +345,14 @@ public class StandardQueryParser extends
return getQueryConfigHandler().get(ConfigurationKeys.LOCALE);
}
+ public void setTimeZone(TimeZone timeZone) {
+ getQueryConfigHandler().set(ConfigurationKeys.TIMEZONE, timeZone);
+ }
+
+ public TimeZone getTimeZone() {
+ return getQueryConfigHandler().get(ConfigurationKeys.TIMEZONE);
+ }
+
/**
* Sets the default slop for phrases. If zero, then exact phrase matches are
* required. Default value is zero.
Modified: lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java?rev=1359149&r1=1359148&r2=1359149&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java (original)
+++ lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java Mon Jul 9 13:12:41 2012
@@ -21,6 +21,7 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
+import java.util.TimeZone;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.document.DateTools;
@@ -101,6 +102,8 @@ public class StandardQueryConfigHandler
*/
final public static ConfigurationKey<Locale> LOCALE = ConfigurationKey.newInstance();
+ final public static ConfigurationKey<TimeZone> TIMEZONE = ConfigurationKey.newInstance();
+
/**
* Key used to set the {@link RewriteMethod} used when creating queries
*
Modified: lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericQueryNode.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericQueryNode.java?rev=1359149&r1=1359148&r2=1359149&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericQueryNode.java (original)
+++ lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/nodes/NumericQueryNode.java Mon Jul 9 13:12:41 2012
@@ -90,7 +90,7 @@ public class NumericQueryNode extends Qu
* @return the value converte to {@link String} and escaped
*/
protected CharSequence getTermEscaped(EscapeQuerySyntax escaper) {
- return escaper.escape(NumberFormat.getNumberInstance().format(this.value),
+ return escaper.escape(numberFormat.format(this.value),
Locale.ROOT, Type.NORMAL);
}
Modified: lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/TermRangeQueryNodeProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/TermRangeQueryNodeProcessor.java?rev=1359149&r1=1359148&r2=1359149&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/TermRangeQueryNodeProcessor.java (original)
+++ lucene/dev/branches/lucene4199/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/TermRangeQueryNodeProcessor.java Mon Jul 9 13:12:41 2012
@@ -22,6 +22,7 @@ import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
+import java.util.TimeZone;
import org.apache.lucene.document.DateTools;
import org.apache.lucene.document.DateTools.Resolution;
@@ -76,6 +77,12 @@ public class TermRangeQueryNodeProcessor
locale = Locale.getDefault();
}
+ TimeZone timeZone = getQueryConfigHandler().get(ConfigurationKeys.TIMEZONE);
+
+ if (timeZone == null) {
+ timeZone = TimeZone.getDefault();
+ }
+
CharSequence field = termRangeNode.getField();
String fieldStr = null;
@@ -114,7 +121,7 @@ public class TermRangeQueryNodeProcessor
// the time is set to the latest possible time of that date to
// really
// include all documents:
- Calendar cal = Calendar.getInstance(locale);
+ Calendar cal = Calendar.getInstance(timeZone, locale);
cal.setTime(d2);
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.MINUTE, 59);