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 3f87ede5cee4541099d88212820a14a104393bf3
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;
     }

Reply via email to