This is an automated email from the ASF dual-hosted git repository. shuber pushed a commit to branch UNOMI-225-ES7 in repository https://gitbox.apache.org/repos/asf/unomi.git
commit b89b9d36799822ee12258dea334d3ac9454efbde 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; }
