Skip to content

Commit

Permalink
[WIP]
Browse files Browse the repository at this point in the history
  • Loading branch information
vkhrystiuk-ks committed Dec 9, 2024
1 parent 47f5f06 commit 348ecfc
Show file tree
Hide file tree
Showing 23 changed files with 1,042 additions and 712 deletions.
6 changes: 6 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,12 @@
<scope>test</scope>
</dependency>

<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>62.1</version>
</dependency>

</dependencies>

<build>
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/liqp/TemplateParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import liqp.filters.Filters;
import liqp.filters.date.BasicDateParser;
import liqp.filters.date.Parser;
import liqp.filters.date.fuzzy.FuzzyDateParser;
import liqp.parser.Flavor;
import liqp.parser.LiquidSupport;
import liqp.tags.Tag;
Expand Down Expand Up @@ -425,7 +426,7 @@ public TemplateParser build() {
}

if (dateParser == null) {
dateParser = new Parser();
dateParser = new FuzzyDateParser();
}

return new TemplateParser(strictVariables, showExceptionsFromInclude, evaluateMode, renderTransformer, locale, defaultTimeZone, environmentMapConfigurator, errorMode, fl, stripSpacesAroundTags, stripSingleLine, mapper,
Expand Down
42 changes: 17 additions & 25 deletions src/main/java/liqp/filters/date/BasicDateParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalAccessor;
import java.time.temporal.TemporalField;
import java.time.temporal.TemporalQueries;
Expand Down Expand Up @@ -70,33 +71,24 @@ public static ZonedDateTime getZonedDateTimeFromTemporalAccessor(TemporalAccesso

ZoneId zoneId = temporal.query(TemporalQueries.zone());
if (zoneId == null) {
LocalDate date = temporal.query(TemporalQueries.localDate());
LocalTime time = temporal.query(TemporalQueries.localTime());
zoneId = defaultZone;
}

if (date == null) {
date = LocalDate.now(defaultZone);
}
if (time == null) {
time = LocalTime.now(defaultZone);
}
return ZonedDateTime.of(date, time, defaultZone);
} else {
LocalDateTime now = LocalDateTime.now(zoneId);
TemporalField[] copyThese = new TemporalField[]{
YEAR,
MONTH_OF_YEAR,
DAY_OF_MONTH,
HOUR_OF_DAY,
MINUTE_OF_HOUR,
SECOND_OF_MINUTE,
NANO_OF_SECOND
};
for (TemporalField tf: copyThese) {
if (temporal.isSupported(tf)) {
now = now.with(tf, temporal.get(tf));
}
LocalDateTime now = LocalDateTime.now(zoneId);
TemporalField[] copyThese = new TemporalField[]{
YEAR,
MONTH_OF_YEAR,
DAY_OF_MONTH,
HOUR_OF_DAY,
MINUTE_OF_HOUR,
SECOND_OF_MINUTE,
NANO_OF_SECOND
};
for (TemporalField tf: copyThese) {
if (temporal.isSupported(tf)) {
now = now.with(tf, temporal.get(tf));
}
return now.atZone(zoneId);
}
return now.atZone(zoneId);
}
}
Loading

0 comments on commit 348ecfc

Please sign in to comment.