Bugfix: export property start not calling uninitialized supplier

master
Markus Kreth 6 years ago
parent cb8901fe7d
commit ca46824dc9
  1. 8
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/commands/ExportCalendarMonthCommand.java
  2. 8
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/commands/ExportCalendarYearCommand.java

@ -21,12 +21,12 @@ public class ExportCalendarMonthCommand extends AbstractExportAction {
private transient DateTimeFormatter dfMonth = DateTimeFormatter.ofPattern("MMMM uuuu"); private transient DateTimeFormatter dfMonth = DateTimeFormatter.ofPattern("MMMM uuuu");
private ZonedDateTime start; private Supplier<ZonedDateTime> startTime;
public ExportCalendarMonthCommand(Supplier<ZonedDateTime> startTime, Supplier<ZonedDateTime> endTime, public ExportCalendarMonthCommand(Supplier<ZonedDateTime> startTime, Supplier<ZonedDateTime> endTime,
ClubEventProvider dataProvider, BiConsumer<String, JasperPrint> printConsumer) { ClubEventProvider dataProvider, BiConsumer<String, JasperPrint> printConsumer) {
super(startTime, endTime, dataProvider, printConsumer); super(startTime, endTime, dataProvider, printConsumer);
this.start = startTime.get(); this.startTime = startTime;
} }
@Override @Override
@ -41,12 +41,12 @@ public class ExportCalendarMonthCommand extends AbstractExportAction {
@Override @Override
protected String getTitle() { protected String getTitle() {
return dfMonth.format(start); return dfMonth.format(startTime.get());
} }
@Override @Override
protected JasperPrint createPrint(Map<LocalDate, StringBuilder> values, List<LocalDate> holidays) protected JasperPrint createPrint(Map<LocalDate, StringBuilder> values, List<LocalDate> holidays)
throws JRException { throws JRException {
return CalendarCreator.createCalendar(new Date(start.toInstant().toEpochMilli()), values, holidays); return CalendarCreator.createCalendar(new Date(startTime.get().toInstant().toEpochMilli()), values, holidays);
} }
} }

@ -17,13 +17,13 @@ import net.sf.jasperreports.engine.JasperPrint;
public class ExportCalendarYearCommand extends AbstractExportAction { public class ExportCalendarYearCommand extends AbstractExportAction {
private ZonedDateTime start; private Supplier<ZonedDateTime> startTime;
public ExportCalendarYearCommand(Supplier<ZonedDateTime> startTime, Supplier<ZonedDateTime> endTime, public ExportCalendarYearCommand(Supplier<ZonedDateTime> startTime, Supplier<ZonedDateTime> endTime,
ClubEventProvider dataProvider, BiConsumer<String, JasperPrint> printConsumer) { ClubEventProvider dataProvider, BiConsumer<String, JasperPrint> printConsumer) {
super(() -> startTime.get().withDayOfYear(1), () -> startTime.get().withMonth(12).withDayOfMonth(31), super(() -> startTime.get().withDayOfYear(1), () -> startTime.get().withMonth(12).withDayOfMonth(31),
dataProvider, printConsumer); dataProvider, printConsumer);
this.start = startTime.get().withDayOfYear(1); this.startTime = startTime;
} }
@Override @Override
@ -38,12 +38,12 @@ public class ExportCalendarYearCommand extends AbstractExportAction {
@Override @Override
protected String getTitle() { protected String getTitle() {
return "Jahr " + start.getYear(); return "Jahr " + startTime.get().getYear();
} }
@Override @Override
protected JasperPrint createPrint(Map<LocalDate, StringBuilder> values, List<LocalDate> holidays) protected JasperPrint createPrint(Map<LocalDate, StringBuilder> values, List<LocalDate> holidays)
throws JRException { throws JRException {
return CalendarCreator.createYearCalendar(start.getYear(), values, holidays); return CalendarCreator.createYearCalendar(startTime.get().getYear(), values, holidays);
} }
} }

Loading…
Cancel
Save