This is an automated email from the ASF dual-hosted git repository.

yesamer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git


The following commit(s) were added to refs/heads/main by this push:
     new d271f6747c2 [incubator-kie-issues#2260] fix date time conversion issue 
(#6789)
d271f6747c2 is described below

commit d271f6747c27ed3d6af77d3d0319d5d4c6c02365
Author: AthiraHari77 <[email protected]>
AuthorDate: Tue Jun 30 20:57:36 2026 +0530

    [incubator-kie-issues#2260] fix date time conversion issue (#6789)
    
    Co-authored-by: athira <[email protected]>
---
 .../java/org/kie/dmn/core/util/CoerceUtilTest.java | 23 +++++-----
 .../org/kie/dmn/feel/util/DateTimeEvalHelper.java  |  4 +-
 .../java/org/kie/dmn/feel/util/CoerceUtilTest.java | 51 +++++++++++-----------
 3 files changed, 39 insertions(+), 39 deletions(-)

diff --git 
a/kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java 
b/kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java
index c9a77c9ae20..ab0d5c8468d 100644
--- 
a/kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java
+++ 
b/kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java
@@ -21,15 +21,14 @@ package org.kie.dmn.core.util;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
-import java.time.LocalDateTime;
 import java.time.ZoneOffset;
-import java.time.ZonedDateTime;
 import java.util.Collections;
 
 import org.junit.jupiter.api.Test;
 import org.kie.dmn.api.core.DMNType;
 import org.kie.dmn.core.impl.SimpleTypeImpl;
 import org.kie.dmn.feel.lang.types.BuiltInType;
+import org.kie.dmn.feel.runtime.custom.FormattedZonedDateTime;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
@@ -112,14 +111,14 @@ class CoerceUtilTest {
                                                   BuiltInType.DATE_TIME);
         Object retrieved = CoerceUtil.coerceValue(requiredType, value);
         assertThat(retrieved).isNotNull();
-        assertThat(retrieved).isInstanceOf(ZonedDateTime.class);
-        ZonedDateTime zdtRetrieved = (ZonedDateTime)retrieved;
+        assertThat(retrieved).isInstanceOf(FormattedZonedDateTime.class);
+        FormattedZonedDateTime zdtRetrieved = 
(FormattedZonedDateTime)retrieved;
         assertThat(zdtRetrieved.toLocalDate()).isEqualTo(value);
         assertThat(zdtRetrieved.getOffset()).isEqualTo(ZoneOffset.UTC);
 
-         assertThat(zdtRetrieved.getHour()).isEqualTo(0);
-        assertThat(zdtRetrieved.getMinute()).isEqualTo(0);
-        assertThat(zdtRetrieved.getSecond()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getHour()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getMinute()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getSecond()).isEqualTo(0);
     }
 
     @Test
@@ -206,13 +205,13 @@ class CoerceUtilTest {
                                                   BuiltInType.DATE_TIME);
         Object retrieved = CoerceUtil.actualCoerceValue(requiredType, value);
         assertThat(retrieved).isNotNull();
-        assertThat(retrieved).isInstanceOf(ZonedDateTime.class);
-        ZonedDateTime zdtRetrieved = (ZonedDateTime)retrieved;
+        assertThat(retrieved).isInstanceOf(FormattedZonedDateTime.class);
+        FormattedZonedDateTime zdtRetrieved = 
(FormattedZonedDateTime)retrieved;
         assertThat(zdtRetrieved.toLocalDate()).isEqualTo(value);
         assertThat(zdtRetrieved.getOffset()).isEqualTo(ZoneOffset.UTC);
-        assertThat(zdtRetrieved.getHour()).isEqualTo(0);
-        assertThat(zdtRetrieved.getMinute()).isEqualTo(0);
-        assertThat(zdtRetrieved.getSecond()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getHour()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getMinute()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getSecond()).isEqualTo(0);
     }
 
     @Test
diff --git 
a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/util/DateTimeEvalHelper.java
 
b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/util/DateTimeEvalHelper.java
index ca5cd7f6fea..bbbc7625f24 100644
--- 
a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/util/DateTimeEvalHelper.java
+++ 
b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/util/DateTimeEvalHelper.java
@@ -33,8 +33,8 @@ import org.slf4j.LoggerFactory;
 public class DateTimeEvalHelper {
     public static final Logger LOG = 
LoggerFactory.getLogger(DateTimeEvalHelper.class);
 
-    public static ZonedDateTime coerceDateTime(final LocalDate value) {
-        return ZonedDateTime.of(value, LocalTime.of(0, 0, 0, 0), 
ZoneOffset.UTC);
+    public static FormattedZonedDateTime coerceDateTime(final LocalDate value) 
{
+        return FormattedZonedDateTime.of(value, LocalTime.of(0, 0, 0, 0), 
ZoneOffset.UTC);
     }
 
     public static String toParsableString(TemporalAccessor temporalAccessor) {
diff --git 
a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java 
b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java
index 5fb1630baa8..77fc33e8d7f 100644
--- 
a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java
+++ 
b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java
@@ -30,6 +30,7 @@ import java.util.Set;
 
 import org.junit.jupiter.api.Test;
 import org.kie.dmn.feel.lang.types.BuiltInType;
+import org.kie.dmn.feel.runtime.custom.FormattedZonedDateTime;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
@@ -66,13 +67,13 @@ class CoerceUtilTest {
         retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, 
expectedParameterType, actualObject);
         assertThat(retrieved).isNotNull();
         assertThat(retrieved).isPresent();
-        assertThat(retrieved.get() instanceof ZonedDateTime).isTrue();
-        ZonedDateTime zdtRetrieved = (ZonedDateTime) retrieved.get();
+        assertThat(retrieved.get() instanceof FormattedZonedDateTime).isTrue();
+        FormattedZonedDateTime zdtRetrieved = (FormattedZonedDateTime) 
retrieved.get();
         assertThat(zdtRetrieved.toLocalDate()).isEqualTo(actualObject);
         assertThat(zdtRetrieved.getOffset()).isEqualTo(ZoneOffset.UTC);
-        assertThat(zdtRetrieved.getHour()).isEqualTo(0);
-        assertThat(zdtRetrieved.getMinute()).isEqualTo(0);
-        assertThat(zdtRetrieved.getSecond()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getHour()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getMinute()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getSecond()).isEqualTo(0);
     }
 
     @Test
@@ -80,13 +81,13 @@ class CoerceUtilTest {
         Object value = LocalDate.now();
         Object retrieved = CoerceUtil.coerceParameter(BuiltInType.DATE_TIME, 
value);
         assertThat(retrieved).isNotNull();
-        assertThat(retrieved).isInstanceOf(ZonedDateTime.class);
-        ZonedDateTime zdtRetrieved = (ZonedDateTime) retrieved;
+        assertThat(retrieved).isInstanceOf(FormattedZonedDateTime.class);
+        FormattedZonedDateTime zdtRetrieved = (FormattedZonedDateTime) 
retrieved;
         assertThat(zdtRetrieved.toLocalDate()).isEqualTo(value);
         assertThat(zdtRetrieved.getOffset()).isEqualTo(ZoneOffset.UTC);
-        assertThat(zdtRetrieved.getHour()).isEqualTo(0);
-        assertThat(zdtRetrieved.getMinute()).isEqualTo(0);
-        assertThat(zdtRetrieved.getSecond()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getHour()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getMinute()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getSecond()).isEqualTo(0);
     }
 
     @Test
@@ -120,13 +121,13 @@ class CoerceUtilTest {
         assertThat(retrieved).isNotNull();
         assertThat(retrieved).isPresent();
         retrievedObjects = retrieved.get();
-        assertThat(retrievedObjects[0]).isInstanceOf(ZonedDateTime.class);
-        ZonedDateTime zdtRetrieved = (ZonedDateTime) retrievedObjects[0];
+        
assertThat(retrievedObjects[0]).isInstanceOf(FormattedZonedDateTime.class);
+        FormattedZonedDateTime zdtRetrieved = (FormattedZonedDateTime) 
retrievedObjects[0];
         assertThat(zdtRetrieved.toLocalDate()).isEqualTo(item);
         assertThat(zdtRetrieved.getOffset()).isEqualTo(ZoneOffset.UTC);
-        assertThat(zdtRetrieved.getHour()).isEqualTo(0);
-        assertThat(zdtRetrieved.getMinute()).isEqualTo(0);
-        assertThat(zdtRetrieved.getSecond()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getHour()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getMinute()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getSecond()).isEqualTo(0);
         assertThat(retrievedObjects[1]).isEqualTo(actualParams2[1]);
     }
 
@@ -138,13 +139,13 @@ class CoerceUtilTest {
         assertThat(retrieved).isNotNull();
         assertThat(retrieved).isPresent();
         Object[] retrievedObjects = retrieved.get();
-        assertThat(retrievedObjects[0]).isInstanceOf(ZonedDateTime.class);
-        ZonedDateTime zdtRetrieved = (ZonedDateTime) retrievedObjects[0];
+        
assertThat(retrievedObjects[0]).isInstanceOf(FormattedZonedDateTime.class);
+        FormattedZonedDateTime zdtRetrieved = (FormattedZonedDateTime) 
retrievedObjects[0];
         assertThat(zdtRetrieved.toLocalDate()).isEqualTo(value);
         assertThat(zdtRetrieved.getOffset()).isEqualTo(ZoneOffset.UTC);
-        assertThat(zdtRetrieved.getHour()).isEqualTo(0);
-        assertThat(zdtRetrieved.getMinute()).isEqualTo(0);
-        assertThat(zdtRetrieved.getSecond()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getHour()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getMinute()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getSecond()).isEqualTo(0);
         assertThat(retrievedObjects[1]).isEqualTo(actualParams[1]);
     }
 
@@ -169,13 +170,13 @@ class CoerceUtilTest {
         Object value = LocalDate.now();
         Object retrieved = 
CoerceUtil.actualCoerceParameter(BuiltInType.DATE_TIME, value);
         assertThat(retrieved).isNotNull();
-        assertThat(retrieved).isInstanceOf(ZonedDateTime.class);
-        ZonedDateTime zdtRetrieved = (ZonedDateTime) retrieved;
+        assertThat(retrieved).isInstanceOf(FormattedZonedDateTime.class);
+        FormattedZonedDateTime zdtRetrieved = (FormattedZonedDateTime) 
retrieved;
         assertThat(zdtRetrieved.toLocalDate()).isEqualTo(value);
         assertThat(zdtRetrieved.getOffset()).isEqualTo(ZoneOffset.UTC);
-        assertThat(zdtRetrieved.getHour()).isEqualTo(0);
-        assertThat(zdtRetrieved.getMinute()).isEqualTo(0);
-        assertThat(zdtRetrieved.getSecond()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getHour()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getMinute()).isEqualTo(0);
+        assertThat(zdtRetrieved.getZonedDateTime().getSecond()).isEqualTo(0);
     }
 
     @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to