V1 Notification Sender Extension Points
- Warning
-
This section covers the V1 extension points, which require additional configuration of
payment-status-notification.schema-version = 1.
The V2 extension points documentation can be found here. - NOTE
-
Any reference to
ProducedReportin this documentation page refers to the V1 classcom.iconsolutions.ipf.product.notification.api.model.ProducedReport
Additional MDS Object Handler
Currently only PAIN.001 messages are cached by the service, this gives an extension point to cache others, and is by default a no-op.
The V1 AdditionalMdsObjectHandler is contained in the com.iconsolutions.ipf.product.notification.api.handler package.
The default implementation is provided here:
public interface AdditionalMdsObjectHandler {
default CompletionStage<Void> handle(MdsObjectWrapper<?> object, ProcessingContext context) {
return CompletableFuture.completedStage(null);
}
}
Which can be overridden by any client that uses the Notification Service application.
Post Event Processor
It was added as a standalone hook to run post processing for all events, regardless of whether they are configured to run.
The V1 PostEventProcessor is contained in the com.iconsolutions.ipf.product.notification.api.processor package.
The default implementation is provided here:
public interface PostEventProcessor {
default CompletionStage<Void> handle(ProcessingContext context, ProcessFlowEvent processFlowEvent) {
return CompletableFuture.completedStage(null);
}
}
Which can be overridden by any client that uses the Notification Service application.
Message Log Enricher
It was added to provide a customised MessageLogEntryEnricher, so the function can be applied by all SendConnector(s) from the Notification Service when sending notifications.
The V1 NotificationMessageLogExtractor is contained in the com.iconsolutions.ipf.product.notification.api.messagelog package.
The default implementation is provided here:
public interface NotificationMessageLogExtractor {
default MessageLogEntryEnricher<ProducedReport> enricher() {
return (connectorMessage, messageLogEntry) -> {
//noop
};
}
}
Which can be overridden by any client that uses the Notification Service application.
Send TransportMessage Converter
It was added to provide a customised SendTransportMessageConverter, so the function can be applied by all SendConnector(s) from the Notification Service when sending notifications.
The V1 NotificationTransportMessageConvertor is contained in the com.iconsolutions.ipf.product.notification.api.mapping package.
The default implementation is provided here:
public interface NotificationTransportMessageConvertor {
default SendTransportMessageConverter<ProducedReport> convert() {
return report -> new TransportMessage(SerializationHelper.objectToString(report.getReport()));
}
}
Which can be overridden by any client that uses the Notification Service application.