Contains some general supporting functionality for Access Points. This is a utility component for phase4 common Access Point implementation components. It will grow over time.
This library uses Java 17 as the baseline.
It is licensed under the Apache 2.0 license.
It consists of the following submodules:
- peppol-ap-support
- peppol-reporting-support
Contains a Business Card cache, that makes sure Business Card of a Peppol Participant are locally cached and not always queried remotely.
The Peppol Reporting support library offers simple ways to validate, store and send Peppol TSR and EUSR reports.
It support different backends based on the IPeppolReportStorage interface.
Custom forms of this interface may be created and used.
Allows to store data in collections peppol-reports and peppol-reporting-sending-reports.
You may either use the same database as you use for Peppol Reporting (see the peppol-reporting project) or define explicit parameters.
For Peppol Report storage SQL backend supports the following configuration properties:
peppol.report.jdbc.database-type: the SQL database type to operate on. Currently supported arepostgresqlandmysql. The value is case-insensitive.peppol.report.jdbc.driver: contains the fully qualified class name of the JDBC driver to be used. E.g.org.postgresql.Driverfor PostgreSQL orcom.mysql.cj.jdbc.Driverfor MySQLpeppol.report.jdbc.url: contains the full JDBC connection URL to connect to the databasepeppol.report.jdbc.user(optional): the database username to usepeppol.report.jdbc.password(optional): the database password to usepeppol.report.jdbc.schema(optional): the database schema to usepeppol.report.jdbc.execution-time-warning.enabled(optional): iftrueenables warning logging if an SQL command takes too long to execute. Defaults totrue.peppol.report.jdbc.execution-time-warning.ms(optional): the number of milliseconds after the which an SQL execution will trigger an execution time warning. Defaults to1000which is one second.peppol.report.jdbc.debug.connections(optional): iftrueenables logging of SQL connection handling. Defaults tofalse.peppol.report.jdbc.debug.transactions(optional): iftrueenables logging of SQL transactions. Defaults tofalse.peppol.report.jdbc.debug.sql(optional): iftrueenables logging of SQL statements. Defaults tofalse.
Database change management is done with the Open Source version of Flyway. All the Flyway DDL scripts are available in the folder https://github.com/phax/peppol-ap-support/tree/main/peppol-reporting-support/src/main/resources/db
It can be configured as followed:
peppol.report.flyway.enabled:trueif Flyway should be enabled,falseif not. Defaults totrue.peppol.report.flyway.jdbc.url(optional): allows a specific JDBC URL for usage with Flyway. If none is provided, the value ofpeppol.report.jdbc.urlis used instead.peppol.report.flyway.jdbc.user(optional): allows a specific JDBC username for usage with Flyway. If none is provided, the value ofpeppol.report.jdbc.useris used instead.peppol.report.flyway.jdbc.password(optional): allows a specific JDBC password for usage with Flyway. If none is provided, the value ofpeppol.report.jdbc.passwordis used instead.peppol.report.flyway.jdbc.schema-create(optional):trueif the DB schema as defined inpeppol.report.jdbc.schemashould be automatically created by Flyway. Defaults tofalse.peppol.report.flyway.baseline.version(optional): the Flyway baseline version to use. Defaults to0.
Allows to store Peppol Reports as well as Peppol Reporting Sending reports on disk, in a customizable folder structure. All information are stored in a custom XML format.
v2.1.0 - 2025-11-16
- Updated to ph-commons 12.1.0
- Using JSpecify annotations
v2.0.2 - 2025-10-27
- Enforcing the usage of DNS NAPTR lookup - no more configuration possible
v2.0.1 - 2025-09-19
- [SQL] Updated to ph-db 8.0.1
v2.0.0 - 2025-08-27
- Requires Java 17 as the minimum version
- Updated to ph-commons 12.0.0
- [SQL] Updated to Flyway 11.x
v1.0.2 - 2025-05-11
- Updated to peppol-commons 10.3.2
- Added new class
MLRSupportCacheto check if business document senders support MLR document type or not - Added new class
MLSSupportCacheto check if business document senders support MLS document type or not
v1.0.1 - 2025-04-12
- Make sure, the created timestamps only use millisecond precision
v1.0.0 - 2025-04-12
- Initial version extracted from peppol-commons module as submodule peppol-ap-support
- The initial package is now
com.helper.peppol.apsupportto clearly differentiate from the old one
My personal Coding Styleguide | It is appreciated if you star the GitHub project if you like it.