diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/calendar/WeeksOfMonth.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/calendar/WeeksOfMonth.java new file mode 100644 index 0000000..0682674 --- /dev/null +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/calendar/WeeksOfMonth.java @@ -0,0 +1,74 @@ +package de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.calendar; + +import java.time.DayOfWeek; +import java.time.LocalDate; +import java.time.Month; +import java.time.YearMonth; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class WeeksOfMonth { + + private static final List ORDERED_WEEKDAY = Arrays.asList(DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY, DayOfWeek.THURSDAY, DayOfWeek.FRIDAY, DayOfWeek.SATURDAY, DayOfWeek.SUNDAY); + private final YearMonth yearMonth; + private final List> weeks; + + public WeeksOfMonth(Month month, int year) { + this(YearMonth.of(year, month)); + } + + public WeeksOfMonth(YearMonth month) { + this.yearMonth = month; + weeks = Collections.unmodifiableList(createWeeks()); + } + + private List> createWeeks() { + LocalDate day = yearMonth.atDay(1); + + List> result = new ArrayList<>(); + Map currentWeek = new HashMap<>(); + + int monthValue = yearMonth.getMonthValue(); + while (day.getMonthValue() == monthValue) { + + for (DayOfWeek d: ORDERED_WEEKDAY) { + if (d.equals(day.getDayOfWeek()) && day.getMonthValue() == monthValue) { + currentWeek.put(d, day.getDayOfMonth()); + day = day.plusDays(1); + } else { + currentWeek.put(d, null); + } + } + result.add(Collections.unmodifiableMap(currentWeek)); + currentWeek = new HashMap<>(); + } + return result; + } + + public int dayCount() { + return yearMonth.lengthOfMonth(); + } + + /** + * Week in Month >=0 && < {@link #weekCount()} depending on day count and weekday order. + * @param index + * @return + */ + public Map getWeek(int index) { + return weeks.get(index); + } + + /** + * Count of week (parts) in this month. + * @return + */ + public int weekCount() { + return weeks.size(); + } + + +} diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/calendar/Year.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/calendar/Year.java index 486f31f..a08b090 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/calendar/Year.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/calendar/Year.java @@ -4,16 +4,15 @@ import java.time.DayOfWeek; import java.time.LocalDate; import java.time.Month; import java.time.format.TextStyle; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; +import java.util.HashMap; import java.util.Locale; -import java.util.Queue; +import java.util.Map; public class Year { private final LocalDate date; private final Locale locale; + private final Map monthWeeks; public Year(int year) { this(year, Locale.getDefault()); @@ -25,6 +24,10 @@ public class Year { } this.date = LocalDate.of(year, 1, 1); this.locale = locale; + this.monthWeeks = new HashMap<>(); + for (Month m: Month.values()) { + monthWeeks.put(m, new WeeksOfMonth(m, year)); + } } public int getYear() { @@ -35,26 +38,18 @@ public class Year { return month.getDisplayName(TextStyle.FULL_STANDALONE, locale); } - List days = Arrays.asList(null, null, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,28,30,31,32); - Queue queue = new LinkedList<>(days); - /** * Day of month, numeric for the specified by parameters. * @param month month of the day - * @param week 1-5th week of the month + * @param week 1-6th week of the month * @param dayOfWeek weekday of the week in the month. * @return numeric value of the day of the month. */ public String getDay(Month month, short week, DayOfWeek dayOfWeek) { - if (queue.isEmpty()) { - queue.addAll(days); - } - Integer poll = queue.poll(); - if (poll != null) { - return poll.toString(); - } else { - return ""; - } + Integer res = monthWeeks.get(month).getWeek(week - 1).get(dayOfWeek); + + return res == null ? "" : res.toString(); + } } diff --git a/src/main/resources/jasper/calendar_year.jrxml b/src/main/resources/jasper/calendar_year.jrxml index ddf0f7e..e30530e 100644 --- a/src/main/resources/jasper/calendar_year.jrxml +++ b/src/main/resources/jasper/calendar_year.jrxml @@ -33,7 +33,7 @@ - <band height="505"> + <band height="507"> <textField pattern="MMMM"> <reportElement isPrintRepeatedValues="false" x="0" y="0" width="286" height="25" uuid="21293131-3839-43aa-b449-b19867eee2da"/> <box> @@ -157,7 +157,7 @@ <text><![CDATA[Sonntag]]></text> </staticText> <frame> - <reportElement mode="Transparent" x="0" y="38" width="41" height="50" backcolor="#F7C86F" uuid="7621d880-6dae-4cfb-9d99-6c4c83dd1983"> + <reportElement mode="Transparent" x="0" y="37" width="41" height="50" backcolor="#F7C86F" uuid="7621d880-6dae-4cfb-9d99-6c4c83dd1983"> <property name="com.jaspersoft.studio.unit.x" value="pixel"/> <property name="com.jaspersoft.studio.unit.y" value="pixel"/> <property name="com.jaspersoft.studio.unit.width" value="pixel"/> @@ -191,7 +191,7 @@ </textField> </frame> <frame> - <reportElement mode="Transparent" x="41" y="38" width="41" height="50" backcolor="#F7C86F" uuid="7e44315b-20e3-43bf-9014-e0d0aa6072f3"> + <reportElement mode="Transparent" x="41" y="37" width="41" height="50" backcolor="#F7C86F" uuid="7e44315b-20e3-43bf-9014-e0d0aa6072f3"> <property name="com.jaspersoft.studio.unit.x" value="pixel"/> <property name="com.jaspersoft.studio.unit.y" value="pixel"/> <property name="com.jaspersoft.studio.unit.width" value="pixel"/> @@ -225,7 +225,7 @@ </textField> </frame> <frame> - <reportElement mode="Transparent" x="41" y="90" width="41" height="50" backcolor="#F7C86F" uuid="55a1c7f6-7ce3-4824-9d1b-fb0290572f7c"> + <reportElement mode="Transparent" x="0" y="87" width="41" height="50" backcolor="#F7C86F" uuid="55a1c7f6-7ce3-4824-9d1b-fb0290572f7c"> <property name="com.jaspersoft.studio.unit.x" value="pixel"/> <property name="com.jaspersoft.studio.unit.y" value="pixel"/> <property name="com.jaspersoft.studio.unit.width" value="pixel"/> @@ -259,7 +259,7 @@ </textField> </frame> <frame> - <reportElement mode="Transparent" x="0" y="90" width="41" height="50" backcolor="#F7C86F" uuid="f72aa4b4-fc79-4ee5-bb8e-51df4c08d0b4"> + <reportElement mode="Transparent" x="41" y="87" width="41" height="50" backcolor="#F7C86F" uuid="f72aa4b4-fc79-4ee5-bb8e-51df4c08d0b4"> <property name="com.jaspersoft.studio.unit.x" value="pixel"/> <property name="com.jaspersoft.studio.unit.y" value="pixel"/> <property name="com.jaspersoft.studio.unit.width" value="pixel"/> @@ -292,6 +292,1320 @@ <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> </textField> </frame> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="84" y="37" width="41" height="10" isRemoveLineWhenBlank="true" uuid="2dd4053e-588c-4c00-9df2-316bfa291d8f"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)1, java.time.DayOfWeek.WEDNESDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="84" y="47" width="41" height="40" isRemoveLineWhenBlank="true" uuid="94478d6f-7946-4993-928e-c7019de62b19"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="84" y="97" width="41" height="40" isRemoveLineWhenBlank="true" uuid="d7442624-a38a-4b80-9f0c-c2d0edcb9afa"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="84" y="87" width="41" height="10" isRemoveLineWhenBlank="true" uuid="f3fc9fa9-addb-4f7f-82a1-9028f4bb8b8e"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)2, java.time.DayOfWeek.WEDNESDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="84" y="147" width="41" height="40" isRemoveLineWhenBlank="true" uuid="2a646b63-0e6d-4dbe-a095-e0fbb48c3980"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="84" y="137" width="41" height="10" isRemoveLineWhenBlank="true" uuid="7d36e885-2c0c-4516-823e-8c415cdd80e1"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)3, java.time.DayOfWeek.WEDNESDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="84" y="197" width="41" height="40" isRemoveLineWhenBlank="true" uuid="da8474e8-63b5-47f0-ba6c-054634f975d9"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="84" y="187" width="41" height="10" isRemoveLineWhenBlank="true" uuid="e5704c34-68f2-49d2-b9d0-3f6bd1746826"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)5, java.time.DayOfWeek.WEDNESDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="126" y="37" width="41" height="10" isRemoveLineWhenBlank="true" uuid="efc94058-ece9-4159-894d-9f67bddb7bd1"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)1, java.time.DayOfWeek.THURSDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="126" y="47" width="41" height="40" isRemoveLineWhenBlank="true" uuid="6674d997-a5b8-4314-870b-fbaee1fe3f8c"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="126" y="97" width="41" height="40" isRemoveLineWhenBlank="true" uuid="bc22775c-431d-42cc-a715-21cbec6797ff"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="126" y="87" width="41" height="10" isRemoveLineWhenBlank="true" uuid="6f6e03a2-3051-43c0-9a76-4f6af22dc685"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)2, java.time.DayOfWeek.THURSDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="126" y="147" width="41" height="40" isRemoveLineWhenBlank="true" uuid="b01a91cd-fe5b-48ee-8347-3d97ddb4d8d2"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="126" y="137" width="41" height="10" isRemoveLineWhenBlank="true" uuid="8d811950-7e33-41df-8651-f415f3689972"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)3, java.time.DayOfWeek.THURSDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="126" y="197" width="41" height="40" isRemoveLineWhenBlank="true" uuid="60302fe9-35d9-4942-8216-6a9159ddce3d"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="126" y="187" width="41" height="10" isRemoveLineWhenBlank="true" uuid="a6742f22-88d9-4057-a20d-a7d01236b01b"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)5, java.time.DayOfWeek.THURSDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="168" y="37" width="41" height="10" isRemoveLineWhenBlank="true" uuid="11ec9e2a-24e9-4a9d-b57b-2931446590cd"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)1, java.time.DayOfWeek.FRIDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="168" y="47" width="41" height="40" isRemoveLineWhenBlank="true" uuid="ee2ca9ff-3ab5-4393-a2fe-0451125ebe2a"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="168" y="97" width="41" height="40" isRemoveLineWhenBlank="true" uuid="ec800d57-ce1f-4ef5-8c21-b5bda550d244"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="168" y="87" width="41" height="10" isRemoveLineWhenBlank="true" uuid="641b77a3-a426-43d9-9aa8-1391ed18bef1"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)2, java.time.DayOfWeek.FRIDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="168" y="147" width="41" height="40" isRemoveLineWhenBlank="true" uuid="f6544cd6-dac6-48a5-a514-cc3fcd213cd1"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="168" y="137" width="41" height="10" isRemoveLineWhenBlank="true" uuid="d8840403-2cfd-4dbf-bf4f-82c61f79ec82"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)3, java.time.DayOfWeek.FRIDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="168" y="197" width="41" height="40" isRemoveLineWhenBlank="true" uuid="8432de8c-b8c5-4afd-9bee-204d3bbb30e0"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="168" y="187" width="41" height="10" isRemoveLineWhenBlank="true" uuid="bc0930ec-7ea2-41be-8708-134158e5b5b7"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)5, java.time.DayOfWeek.FRIDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="210" y="37" width="41" height="10" isRemoveLineWhenBlank="true" uuid="0cf53bce-cc45-403d-833c-e20c481afee3"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)1, java.time.DayOfWeek.SATURDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="210" y="47" width="41" height="40" isRemoveLineWhenBlank="true" uuid="12054388-33dc-4d3a-a418-06b29af4c76b"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="210" y="97" width="41" height="40" isRemoveLineWhenBlank="true" uuid="0cadcefa-339b-4272-a5c7-a6fdf424c9fb"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="210" y="87" width="41" height="10" isRemoveLineWhenBlank="true" uuid="04c30d84-9400-4d35-9ace-fa7e2a58e5c1"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)2, java.time.DayOfWeek.SATURDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="210" y="147" width="41" height="40" isRemoveLineWhenBlank="true" uuid="bfcc6688-d813-48ab-b4b6-7c2e6003ece2"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="210" y="137" width="41" height="10" isRemoveLineWhenBlank="true" uuid="0c2c719f-6bfc-4144-b828-ef6a2bad8f7f"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)3, java.time.DayOfWeek.SATURDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="210" y="197" width="41" height="40" isRemoveLineWhenBlank="true" uuid="4c18439e-4924-4d8f-b39c-f01db72bdbe0"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="210" y="187" width="41" height="10" isRemoveLineWhenBlank="true" uuid="802bd569-323f-49ca-a96c-c2d4c1c17180"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)5, java.time.DayOfWeek.SATURDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="252" y="37" width="41" height="10" isRemoveLineWhenBlank="true" uuid="5589f962-7266-45bb-b276-614e3c8f3719"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)1, java.time.DayOfWeek.SUNDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="252" y="47" width="41" height="40" isRemoveLineWhenBlank="true" uuid="7c62a5b4-3b12-4abc-adab-4ee1a820458a"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="252" y="97" width="41" height="40" isRemoveLineWhenBlank="true" uuid="b0f95e9d-d3e2-40b9-9182-01764cfaae28"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="252" y="87" width="41" height="10" isRemoveLineWhenBlank="true" uuid="c616e701-f0a3-4d5c-9b61-9672e10b9bc3"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)2, java.time.DayOfWeek.SUNDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="252" y="147" width="41" height="40" isRemoveLineWhenBlank="true" uuid="bf37b88a-3e0d-4a1f-b2bb-f8b3b80223af"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="252" y="137" width="41" height="10" isRemoveLineWhenBlank="true" uuid="c27d4b40-e590-4077-8b2d-00f6ee740f22"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)3, java.time.DayOfWeek.SUNDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="252" y="197" width="41" height="40" isRemoveLineWhenBlank="true" uuid="a3d83aad-1ffe-4bae-b3b6-a7489214b4de"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="252" y="187" width="41" height="10" isRemoveLineWhenBlank="true" uuid="d10dc7ed-6730-4bd8-bcad-78dbb602cb4c"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.JANUARY, (short)5, java.time.DayOfWeek.SUNDAY )]]></textFieldExpression> + </textField> + <textField pattern="MMMM"> + <reportElement isPrintRepeatedValues="false" x="276" y="237" width="286" height="25" uuid="4ed96d0b-1450-44d0-b851-221fa7522a50"/> + <box> + <topPen lineWidth="1.0"/> + <leftPen lineWidth="1.0"/> + <rightPen lineWidth="1.0"/> + </box> + <textElement textAlignment="Center"> + <font size="16" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[java.time.Month.APRIL.getDisplayName(java.time.format.TextStyle.FULL_STANDALONE, java.util.Locale.getDefault())]]></textFieldExpression> + </textField> + <staticText> + <reportElement mode="Opaque" x="276" y="263" width="41" height="10" forecolor="#FFFCFC" backcolor="#403D3D" uuid="f471374f-0231-413e-96da-2a8385ab80b0"> + <property name="com.jaspersoft.studio.unit.y" value="pixel"/> + </reportElement> + <box> + <pen lineColor="#000000"/> + <leftPen lineWidth="1.0"/> + <bottomPen lineWidth="1.0"/> + </box> + <textElement textAlignment="Center" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + </textElement> + <text><![CDATA[Montag]]></text> + </staticText> + <staticText> + <reportElement mode="Opaque" x="318" y="263" width="41" height="10" forecolor="#FFFCFC" backcolor="#403D3D" uuid="b500ba77-300c-44d1-9806-afe9ec8e1b11"> + <property name="com.jaspersoft.studio.unit.y" value="pixel"/> + </reportElement> + <box> + <pen lineColor="#000000"/> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Center" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + </textElement> + <text><![CDATA[Dienstag]]></text> + </staticText> + <staticText> + <reportElement mode="Opaque" x="360" y="263" width="41" height="10" forecolor="#FFFCFC" backcolor="#403D3D" uuid="4b78c4be-013f-49fb-b263-bd6b1574f171"> + <property name="com.jaspersoft.studio.unit.y" value="pixel"/> + </reportElement> + <box> + <pen lineColor="#000000"/> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Center" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + </textElement> + <text><![CDATA[Mittwoch]]></text> + </staticText> + <staticText> + <reportElement mode="Opaque" x="402" y="263" width="41" height="10" forecolor="#FFFCFC" backcolor="#403D3D" uuid="c0dfb975-c68c-4615-833e-a247769e91f8"> + <property name="com.jaspersoft.studio.unit.y" value="pixel"/> + </reportElement> + <box> + <pen lineColor="#000000"/> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Center" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + </textElement> + <text><![CDATA[Donnerstag]]></text> + </staticText> + <staticText> + <reportElement mode="Opaque" x="444" y="263" width="41" height="10" forecolor="#FFFCFC" backcolor="#403D3D" uuid="a2f39446-6ebc-43ae-ab10-4ef1b048f87a"> + <property name="com.jaspersoft.studio.unit.y" value="pixel"/> + </reportElement> + <box> + <pen lineColor="#000000"/> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Center" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + </textElement> + <text><![CDATA[Freitag]]></text> + </staticText> + <staticText> + <reportElement mode="Opaque" x="486" y="263" width="41" height="10" forecolor="#FFFCFC" backcolor="#403D3D" uuid="98b1e8b7-73e7-4548-8e63-456d77d4e64b"> + <property name="com.jaspersoft.studio.unit.y" value="pixel"/> + </reportElement> + <box> + <pen lineColor="#000000"/> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Center" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + </textElement> + <text><![CDATA[Samstag]]></text> + </staticText> + <staticText> + <reportElement mode="Opaque" x="528" y="263" width="41" height="10" forecolor="#FFFCFC" backcolor="#403D3D" uuid="b163cdba-6a0c-42b3-8a68-0acead58e798"> + <property name="com.jaspersoft.studio.unit.y" value="pixel"/> + </reportElement> + <box> + <pen lineColor="#000000"/> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Center" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + </textElement> + <text><![CDATA[Sonntag]]></text> + </staticText> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="360" y="274" width="41" height="10" isRemoveLineWhenBlank="true" uuid="3229200a-b8b4-4cad-b6fd-2c48bc3ef149"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)1, java.time.DayOfWeek.WEDNESDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="360" y="284" width="41" height="40" isRemoveLineWhenBlank="true" uuid="e9c9bd1e-f7c8-49da-b5a8-13cf5a98d195"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="360" y="334" width="41" height="40" isRemoveLineWhenBlank="true" uuid="dcb58660-c4e2-4a22-9dea-e05a00bfec26"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="360" y="324" width="41" height="10" isRemoveLineWhenBlank="true" uuid="0bfcf91a-03d1-4d89-a78f-949bd9dcc013"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)2, java.time.DayOfWeek.WEDNESDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="360" y="384" width="41" height="40" isRemoveLineWhenBlank="true" uuid="20390ce3-1f98-439e-aad9-6c8f50cc0d19"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="360" y="374" width="41" height="10" isRemoveLineWhenBlank="true" uuid="73505f46-ef0c-4499-8cd2-9e4739775c22"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)3, java.time.DayOfWeek.WEDNESDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="360" y="434" width="41" height="16" isRemoveLineWhenBlank="true" uuid="074a3141-4b4a-4293-9298-ae33374ae4ab"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="360" y="424" width="41" height="10" isRemoveLineWhenBlank="true" uuid="de3c4b57-62fe-461a-8818-a0aab51347e0"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)5, java.time.DayOfWeek.WEDNESDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="402" y="274" width="41" height="10" isRemoveLineWhenBlank="true" uuid="dc0b809e-1053-4c39-8291-7bb2c3e80e96"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)1, java.time.DayOfWeek.THURSDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="402" y="284" width="41" height="40" isRemoveLineWhenBlank="true" uuid="f822be1e-f079-4507-9223-2e70ab00dfca"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="402" y="334" width="41" height="40" isRemoveLineWhenBlank="true" uuid="5e1a084a-74c2-4d5c-bc57-f2ad6d778f4b"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="402" y="324" width="41" height="10" isRemoveLineWhenBlank="true" uuid="c4f58456-74f2-47e3-8f05-5dc106006573"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)2, java.time.DayOfWeek.THURSDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="402" y="384" width="41" height="40" isRemoveLineWhenBlank="true" uuid="b8389079-f6a8-42f8-bb6d-c927eec0dea6"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="402" y="374" width="41" height="10" isRemoveLineWhenBlank="true" uuid="5b84171a-3685-4885-9fb8-d38451eccfb6"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)3, java.time.DayOfWeek.THURSDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="402" y="434" width="41" height="16" isRemoveLineWhenBlank="true" uuid="bffc352f-c10c-4d27-b1fb-258873c3af61"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="402" y="424" width="41" height="10" isRemoveLineWhenBlank="true" uuid="eb0bb72c-3711-4ef7-a783-bdd97be61892"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)5, java.time.DayOfWeek.THURSDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="444" y="274" width="41" height="10" isRemoveLineWhenBlank="true" uuid="ba820bc9-073e-4fa4-8367-f8d167b18e7c"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)1, java.time.DayOfWeek.FRIDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="444" y="284" width="41" height="40" isRemoveLineWhenBlank="true" uuid="5ba8cc09-c507-4dc6-9f35-e9d2235ca0fa"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="444" y="334" width="41" height="40" isRemoveLineWhenBlank="true" uuid="76f1c735-dd41-4d3b-aa36-40e0b3318c2d"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="444" y="324" width="41" height="10" isRemoveLineWhenBlank="true" uuid="e1a21ea4-747d-4ef7-99f3-0efaa5afc540"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)2, java.time.DayOfWeek.FRIDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="444" y="384" width="41" height="40" isRemoveLineWhenBlank="true" uuid="c0ec90c2-c820-4f91-abfe-ca0f359506c1"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="444" y="374" width="41" height="10" isRemoveLineWhenBlank="true" uuid="11d116ed-016f-4559-a2fa-f52041a79304"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)3, java.time.DayOfWeek.FRIDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="444" y="434" width="41" height="16" isRemoveLineWhenBlank="true" uuid="05ec84cf-0471-40e4-8504-d6dbaf9b02d3"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="444" y="424" width="41" height="10" isRemoveLineWhenBlank="true" uuid="a06222b0-48aa-4b39-9c43-4929f3ec1384"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)5, java.time.DayOfWeek.FRIDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="486" y="274" width="41" height="10" isRemoveLineWhenBlank="true" uuid="c08a5810-ce59-4178-a6dc-617160c8a97e"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)1, java.time.DayOfWeek.SATURDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="486" y="284" width="41" height="40" isRemoveLineWhenBlank="true" uuid="5200309b-41c0-4e8f-a460-d522b78fa07e"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="486" y="334" width="41" height="40" isRemoveLineWhenBlank="true" uuid="a9b82a96-dce6-4dae-868a-6d4589baec8c"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="486" y="324" width="41" height="10" isRemoveLineWhenBlank="true" uuid="b95a8bca-49fb-44f3-a62b-26778ad8d9eb"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)2, java.time.DayOfWeek.SATURDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="486" y="384" width="41" height="40" isRemoveLineWhenBlank="true" uuid="f42e0065-f2b6-44cf-a5cb-812d995275e0"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="486" y="374" width="41" height="10" isRemoveLineWhenBlank="true" uuid="5193e9a6-b373-4172-a113-34f2dd89ac17"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)3, java.time.DayOfWeek.SATURDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="486" y="434" width="41" height="16" isRemoveLineWhenBlank="true" uuid="eb7be37a-949a-49ad-bc63-346872c41782"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="486" y="424" width="41" height="10" isRemoveLineWhenBlank="true" uuid="89111f66-c71a-47a8-b319-0bb35c38ec79"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)5, java.time.DayOfWeek.SATURDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="528" y="274" width="41" height="10" isRemoveLineWhenBlank="true" uuid="20e8802d-9aca-47c4-8aab-eba00ce4a029"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)1, java.time.DayOfWeek.SUNDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="528" y="284" width="41" height="40" isRemoveLineWhenBlank="true" uuid="8cc7fb05-5f13-4aba-a77b-ca998242df24"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="528" y="334" width="41" height="40" isRemoveLineWhenBlank="true" uuid="dc9c455d-c2cc-4286-a187-bf67b4063834"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="528" y="324" width="41" height="10" isRemoveLineWhenBlank="true" uuid="50ab0447-77eb-4584-ad74-074b2b028fb1"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)2, java.time.DayOfWeek.SUNDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="528" y="384" width="41" height="40" isRemoveLineWhenBlank="true" uuid="4af61fc3-4812-4b3c-80f0-ae57868d9e1b"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="528" y="374" width="41" height="10" isRemoveLineWhenBlank="true" uuid="4c3acf21-5e6b-40e9-b7a6-81fa1721f9a7"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)3, java.time.DayOfWeek.SUNDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="528" y="434" width="41" height="16" isRemoveLineWhenBlank="true" uuid="8f32c036-aa28-448b-b523-81322a4e3782"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement> + <font size="4"/> + </textElement> + <textFieldExpression><![CDATA[$F{Field_Value}]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="528" y="424" width="41" height="10" isRemoveLineWhenBlank="true" uuid="36c52bbf-0103-4404-8afd-6cca1c34f6c1"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)5, java.time.DayOfWeek.SUNDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="276" y="274" width="41" height="10" isRemoveLineWhenBlank="true" uuid="14336fcc-63c7-4ba2-bf72-5d6f9dfe0c11"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)1, java.time.DayOfWeek.MONDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="318" y="274" width="41" height="10" isRemoveLineWhenBlank="true" uuid="3f888b2d-e50c-467a-81ff-8b1b3bdf2a9a"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)1, java.time.DayOfWeek.TUESDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="276" y="424" width="41" height="10" isRemoveLineWhenBlank="true" uuid="8e1b7d01-326d-4e41-a6c1-df0e455a7142"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)4, java.time.DayOfWeek.MONDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="318" y="424" width="41" height="10" isRemoveLineWhenBlank="true" uuid="6ab9bd8c-c559-411a-8b59-38cb6610dc81"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)4, java.time.DayOfWeek.TUESDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="318" y="450" width="41" height="10" isRemoveLineWhenBlank="true" uuid="3bdc809f-6e7e-431f-b624-4231462ac5c0"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)5, java.time.DayOfWeek.TUESDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="276" y="450" width="41" height="10" isRemoveLineWhenBlank="true" uuid="14300b2d-182e-404c-be4a-4f6421893f48"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)5, java.time.DayOfWeek.MONDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="318" y="470" width="41" height="10" isRemoveLineWhenBlank="true" uuid="83ef4161-c4f8-4d7d-8480-d123c21f1e64"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)6, java.time.DayOfWeek.TUESDAY )]]></textFieldExpression> + </textField> + <textField> + <reportElement style="Style_Calendar_Day_Number" mode="Opaque" x="276" y="470" width="41" height="10" isRemoveLineWhenBlank="true" uuid="b14d81fb-fbf1-4427-956a-d94051714bff"/> + <box> + <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="6" isBold="true"/> + <paragraph rightIndent="1"/> + </textElement> + <textFieldExpression><![CDATA[$P{Year}.getDay( java.time.Month.APRIL, (short)6, java.time.DayOfWeek.MONDAY )]]></textFieldExpression> + </textField> </band> diff --git a/src/test/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/calendar/WeeksOfMonthTest.java b/src/test/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/calendar/WeeksOfMonthTest.java new file mode 100644 index 0000000..71cc061 --- /dev/null +++ b/src/test/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/calendar/WeeksOfMonthTest.java @@ -0,0 +1,54 @@ +package de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.calendar; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; + +import java.time.DayOfWeek; +import java.time.Month; +import java.util.Map; + +import org.junit.jupiter.api.Test; + +class WeeksOfMonthTest { + + @Test + void test2018November() { + WeeksOfMonth november = new WeeksOfMonth(Month.NOVEMBER, 2018); + assertNotNull(november); + assertEquals(30, november.dayCount()); + assertEquals(5, november.weekCount()); + Map week = november.getWeek(0); + assertNotNull(week); + assertEquals(7, week.size()); + assertNull(week.get(DayOfWeek.MONDAY)); + assertNull(week.get(DayOfWeek.TUESDAY)); + assertNull(week.get(DayOfWeek.WEDNESDAY)); + assertEquals(1, week.get(DayOfWeek.THURSDAY).intValue()); + assertEquals(2, week.get(DayOfWeek.FRIDAY).intValue()); + assertEquals(4, week.get(DayOfWeek.SUNDAY).intValue()); + + week = november.getWeek(4); + assertEquals(26, week.get(DayOfWeek.MONDAY).intValue()); + assertEquals(27, week.get(DayOfWeek.TUESDAY).intValue()); + assertEquals(28, week.get(DayOfWeek.WEDNESDAY).intValue()); + assertEquals(29, week.get(DayOfWeek.THURSDAY).intValue()); + assertEquals(30, week.get(DayOfWeek.FRIDAY).intValue()); + assertNull(week.get(DayOfWeek.SATURDAY)); + assertNull(week.get(DayOfWeek.SUNDAY)); + } + + @Test + void testLastDayOfMonthIsMonday() { + WeeksOfMonth april = new WeeksOfMonth(Month.APRIL, 2018); + assertEquals(6, april.weekCount()); + + Map week = april.getWeek(0); + assertNull(week.get(DayOfWeek.SATURDAY)); + assertEquals(1, week.get(DayOfWeek.SUNDAY).intValue()); + week = april.getWeek(5); + assertEquals(30, week.get(DayOfWeek.MONDAY).intValue()); + assertNull(week.get(DayOfWeek.TUESDAY)); + + } +}