-
-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Jollyday Pojos using only regular plain old java objects for configuration #451
base: pojo
Are you sure you want to change the base?
Conversation
Hey @gandulf, Some thoughts are:
|
Hey,
I'll look into the code generation stuff as soon as there is some spare time... |
I replaced the manual code generation with a proper maven plugin generator that creates the necessary holiday config files during/before compilation automatically and puts them into /target/generated_sources that way they no longer need to be versioned by git and are always uptodate with the xml files. I also added a test case that adds an additional holiday to the existing ones in the PojoConfigurationService to prove that it is still possible to add,replace holiday configuration if necessary. It's not as convenient as with the xml files but still possible. |
926aecb
to
92d094e
Compare
I wanted to take a deeper look.
|
7eebfde
to
ea8f4cf
Compare
…rate source phase with separate plugin
…rate source phase with separate plugin
…ith plain unicode characters
…ed since pojo-generator reads xml files. add unittest for customization of java configuration via code
…e, since java is to general.
ea8f4cf
to
cdbcd07
Compare
Bumps `mockito.version` from 5.14.2 to 5.15.2. Updates `org.mockito:mockito-core` from 5.14.2 to 5.15.2 - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](mockito/mockito@v5.14.2...v5.15.2) Updates `org.mockito:mockito-junit-jupiter` from 5.14.2 to 5.15.2 - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](mockito/mockito@v5.14.2...v5.15.2) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.mockito:mockito-junit-jupiter dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]>
…mockito.version-5.15.2 build(deps): bump mockito.version from 5.14.2 to 5.15.2
Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj) from 3.27.0 to 3.27.1. - [Release notes](https://github.com/assertj/assertj/releases) - [Commits](assertj/assertj@assertj-build-3.27.0...assertj-build-3.27.1) --- updated-dependencies: - dependency-name: org.assertj:assertj-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
…tests Run Tests with Jackson and Jaxb
unify parser tests into core module
Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj) from 3.27.2 to 3.27.3. - [Release notes](https://github.com/assertj/assertj/releases) - [Commits](assertj/assertj@assertj-build-3.27.2...assertj-build-3.27.3) --- updated-dependencies: - dependency-name: org.assertj:assertj-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
…org.assertj-assertj-core-3.27.3 build(deps): bump org.assertj:assertj-core from 3.27.2 to 3.27.3
Improve readme configuration part
* Fix equals check * remove not needed parentheses * Finalize util classes
Common static analysis:
…ormance Create one HolidayManager for all checks in CalendarChecker
Hi,
I plan to use jollydays in a quarkus graalvm microservice projects where i try to keep additional dependencies especially regarding jackson/jaxb etc, to a minimum.
Therefore I made a jollyday implementation that only uses plain old java objects for configuration.
I know that this means that a change/reconfiguration of the holiday data is no longer possible but in the past years I've been using it I never needed that flexibility since the holiday definitions are rather global and consistent.
Disclaimer:
At the moment the POJOs are generated based on the xml files inside a pseudo test class "JavaGeneratorTest" that takes the JacksonConfiguration Classes and creates the POJOs SourceCode using ugly String Writer logic.
Not my proudest part of java code, but it works is only needed in case the configuration changes and needs to be recreated.