This is an automated email from the ASF dual-hosted git repository.
jkevan pushed a commit to branch UNOMI-225-ES7
in repository https://gitbox.apache.org/repos/asf/unomi.git
The following commit(s) were added to refs/heads/UNOMI-225-ES7 by this push:
new 015a103 adapt PropertyConditionEvaluator.getDate to Joda ES7 parser
015a103 is described below
commit 015a103603f67694af8c84372f8d24de3ee9e598
Author: Kevan <[email protected]>
AuthorDate: Thu Nov 21 16:04:16 2019 +0100
adapt PropertyConditionEvaluator.getDate to Joda ES7 parser
---
.../baseplugin/conditions/PropertyConditionEvaluator.java | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java
index a2096a0..6a46c54 100644
---
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java
+++
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java
@@ -30,6 +30,9 @@ import
org.apache.unomi.persistence.elasticsearch.conditions.ConditionContextHel
import
org.apache.unomi.persistence.elasticsearch.conditions.ConditionEvaluator;
import
org.apache.unomi.persistence.elasticsearch.conditions.ConditionEvaluatorDispatcher;
import org.apache.unomi.persistence.spi.PropertyHelper;
+import org.elasticsearch.ElasticsearchParseException;
+import org.elasticsearch.common.joda.Joda;
+import org.elasticsearch.common.joda.JodaDateMathParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -384,18 +387,12 @@ public class PropertyConditionEvaluator implements
ConditionEvaluator {
if (value instanceof Date) {
return ((Date) value);
} else {
- /* ES7
- DateMathParser parser = new
DateMathParser(DateFieldMapper.DEFAULT_DATE_TIME_FORMATTER);
+ JodaDateMathParser parser = new
JodaDateMathParser(Joda.forPattern("strictDateOptionalTime||epoch_millis"));
try {
- return new Date(parser.parse(value.toString(), new
LongSupplier() {
- public long getAsLong() {
- return System.currentTimeMillis();
- }
- }));
+ return new Date(parser.parse(value.toString(),
System::currentTimeMillis).getEpochSecond());
} catch (ElasticsearchParseException e) {
logger.warn("unable to parse date " + value.toString(), e);
}
- */
}
return null;
}