Skip to content

Commit fb6953c

Browse files
dbulahovstbischof
authored andcommitted
fix tests after refactor: replace Date with LocalDateTime in OLAP calculations
Signed-off-by: dbulahov <[email protected]>
1 parent 40b2505 commit fb6953c

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

common/src/main/java/org/eclipse/daanse/olap/fun/sort/Sorter.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
import static org.eclipse.daanse.olap.common.Util.DOUBLE_NULL;
3131
import static org.eclipse.daanse.olap.common.Util.newInternal;
3232

33+
import java.time.LocalDate;
34+
import java.time.LocalDateTime;
3335
import java.util.AbstractList;
3436
import java.util.ArrayList;
3537
import java.util.Arrays;
@@ -642,6 +644,8 @@ public static int compareValues( Object value0, Object value1 ) {
642644
( (Number) value1 ).doubleValue() );
643645
} else if ( value0 instanceof Date ) {
644646
return ( (Date) value0 ).compareTo( (Date) value1 );
647+
} else if ( value0 instanceof LocalDateTime ) {
648+
return ( (LocalDateTime) value0 ).compareTo( (LocalDateTime) value1 );
645649
} else if ( value0 instanceof OrderKey ) {
646650
return ( (OrderKey) value0 ).compareTo( value1 );
647651
} else {

common/src/main/java/org/eclipse/daanse/olap/util/Format.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@
4444
import java.text.DecimalFormatSymbols;
4545
import java.text.FieldPosition;
4646
import java.text.NumberFormat;
47+
import java.time.Instant;
48+
import java.time.LocalDateTime;
49+
import java.time.ZoneId;
4750
import java.util.ArrayList;
4851
import java.util.Calendar;
4952
import java.util.Date;
@@ -318,6 +321,14 @@ boolean isApplicableTo(double n) {
318321
boolean isApplicableTo(long n) {
319322
return true;
320323
}
324+
325+
public void format(LocalDateTime localDateTime, StringBuilder buf) {
326+
Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
327+
Date date = Date.from(instant);
328+
Calendar calendar = Calendar.getInstance();
329+
calendar.setTime(date);
330+
format(calendar, buf);
331+
}
321332
}
322333

323334
/**
@@ -2956,6 +2967,8 @@ private StringBuilder format(Object o, StringBuilder buf) {
29562967
} else if (o instanceof java.util.Date date) {
29572968
// includes java.sql.Date, java.sql.Time and java.sql.Timestamp
29582969
formatValue.format(date, buf);
2970+
} else if (o instanceof LocalDateTime date) {
2971+
formatValue.format(date, buf);
29592972
} else if (o instanceof Calendar calendar) {
29602973
formatValue.format(calendar, buf);
29612974
} else {

0 commit comments

Comments
 (0)