-
-
Notifications
You must be signed in to change notification settings - Fork 33
Jollyday 2.0 Migration Guide
Jollyday needs Java 17 or later.
The baseline for Jollyday will be JDK 17 beginning with Jollyday 2.0.0
See #712
The Jollyday library provides holiday definitions via XML configuration files and a Java API. In previous versions, holiday XML entries often duplicated the holiday type in the descriptionPropertiesKey attribute. For example:
<ChristianHoliday type="EASTER_MONDAY" descriptionPropertiesKey="christian.EASTER_MONDAY"/>This redundancy can lead to unnecessary complexity, maintenance overhead, and potential inconsistencies in internationalization.
Issue #866 introduces an enhancement to remove redundant descriptionPropertiesKey values. The new approach recommends relying on the type attribute alone unless a custom description is explicitly needed:
<ChristianHoliday type="EASTER_MONDAY"/>This change simplifies XML configurations, reduces duplication, and makes the holiday definitions easier to maintain. Only include descriptionPropertiesKey if you need a custom label that differs from the default type-based description.
See #866
Please adapt your own jollyday.properties, if you have one, and replace
manager.impl.jp = de.focus_shift.jollyday.core.impl.JapaneseHolidayManagerwith
manager.impl.jp = de.focus_shift.jollyday.core.impl.JapaneseBridgingHolidayManagerSee #798
To clearify that this classes are configuration classes and are not an instance of a holiday, we added the postfix HolidayConfiguration.
Please adapt your own jollyday.properties, if you have one, and replace
# Configure the parsers to be used for each individual configuration type
parser.impl.de.focus_shift.jollyday.core.spi.Fixed = de.focus_shift.jollyday.core.parser.impl.FixedParser
parser.impl.de.focus_shift.jollyday.core.spi.FixedWeekdayInMonth = de.focus_shift.jollyday.core.parser.impl.FixedWeekdayInMonthParser
parser.impl.de.focus_shift.jollyday.core.spi.IslamicHoliday = de.focus_shift.jollyday.core.parser.impl.IslamicHolidayParser
parser.impl.de.focus_shift.jollyday.core.spi.ChristianHoliday = de.focus_shift.jollyday.core.parser.impl.ChristianHolidayParser
parser.impl.de.focus_shift.jollyday.core.spi.RelativeToFixed = de.focus_shift.jollyday.core.parser.impl.RelativeToFixedParser
parser.impl.de.focus_shift.jollyday.core.spi.RelativeToWeekdayInMonth = de.focus_shift.jollyday.core.parser.impl.RelativeToWeekdayInMonthParser
parser.impl.de.focus_shift.jollyday.core.spi.FixedWeekdayBetweenFixed = de.focus_shift.jollyday.core.parser.impl.FixedWeekdayBetweenFixedParser
parser.impl.de.focus_shift.jollyday.core.spi.FixedWeekdayRelativeToFixed = de.focus_shift.jollyday.core.parser.impl.FixedWeekdayRelativeToFixedParser
parser.impl.de.focus_shift.jollyday.core.spi.EthiopianOrthodoxHoliday = de.focus_shift.jollyday.core.parser.impl.EthiopianOrthodoxHolidayParser
parser.impl.de.focus_shift.jollyday.core.spi.RelativeToEasterSunday = de.focus_shift.jollyday.core.parser.impl.RelativeToEasterSundayParserwith
# Configure the parsers to be used for each individual configuration type
parser.impl.de.focus_shift.jollyday.core.spi.FixedHolidayConfiguration = de.focus_shift.jollyday.core.parser.impl.FixedParser
parser.impl.de.focus_shift.jollyday.core.spi.FixedWeekdayInMonthHolidayConfiguration = de.focus_shift.jollyday.core.parser.impl.FixedWeekdayInMonthParser
parser.impl.de.focus_shift.jollyday.core.spi.IslamicHolidayConfiguration = de.focus_shift.jollyday.core.parser.impl.IslamicHolidayParser
parser.impl.de.focus_shift.jollyday.core.spi.ChristianHolidayConfiguration = de.focus_shift.jollyday.core.parser.impl.ChristianHolidayParser
parser.impl.de.focus_shift.jollyday.core.spi.RelativeToFixedHolidayConfiguration = de.focus_shift.jollyday.core.parser.impl.RelativeToFixedParser
parser.impl.de.focus_shift.jollyday.core.spi.RelativeToWeekdayInMonthHolidayConfiguration = de.focus_shift.jollyday.core.parser.impl.RelativeToWeekdayInMonthParser
parser.impl.de.focus_shift.jollyday.core.spi.FixedWeekdayBetweenFixedHolidayConfiguration = de.focus_shift.jollyday.core.parser.impl.FixedWeekdayBetweenFixedParser
parser.impl.de.focus_shift.jollyday.core.spi.FixedWeekdayRelativeToFixedHolidayConfiguration = de.focus_shift.jollyday.core.parser.impl.FixedWeekdayRelativeToFixedParser
parser.impl.de.focus_shift.jollyday.core.spi.EthiopianOrthodoxHolidayConfiguration = de.focus_shift.jollyday.core.parser.impl.EthiopianOrthodoxHolidayParser
parser.impl.de.focus_shift.jollyday.core.spi.RelativeToEasterSundayHolidayConfiguration = de.focus_shift.jollyday.core.parser.impl.RelativeToEasterSundayParserSee #711
The jollyday-jackson module now uses Jackson 3 to take advantage of:
- Improved performance and memory efficiency
- Compatibility with modern Java features
- Reduced technical debt and better future-proofing
See #863