Documentation for a newer release is available. View Latest

Defining a Custom Single Duplicate Check Key Mapping

Esta página explica cómo definir un mapping para un single duplicate check; por ejemplo, un duplicate check a nivel de mensaje.

1. Add a mapping function

Dentro de tu proyecto MPS, agrega una Mapping Library a tu modelo. Haz clic derecho en tu modelo y elige newv2FloMapping Library.

Agrega tu función a esta librería y completa sus detalles. Los datos de entrada representan el tipo de mensaje que deseas someter a duplicate check. Los datos de salida deben ser Duplicate Check Key.

Imagen de una custom mapping function con todos los detalles completados

2. Use the mapping function within your flow

Dentro de tu MPS flow, haz clic izquierdo en la llamada a la acción checkSingleDuplicate en la que quieres usar el custom mapping.

Imagen de la domain function de duplicate check seleccionada

Pulsa Ctrl+Alt+I para abrir el Inspector. Cambia el Mapping en el inspector por tu mapping function.

Imagen del custom mapping aplicado en el inspector

3. Implement your mapping adapter

Debes proporcionar una implementación Java de tu mapping function y aportarla en tu domain declaration como un adapter.

Por ejemplo:

public class CustomDuplicateCheckMappingAdapter implements CustomDuplicateCheckMappingMappingPort {

    @Override
    public CustomSingleDuplicateMapFromPain001MappingOutput performCustomSingleDuplicateMapFromPain001(CustomSingleDuplicateMapFromPain001MappingParameters inputParameters) {
        return new CustomSingleDuplicateMapFromPain001MappingOutput(DuplicateCheckKey.builder().data(getDuplicateCheckFields(inputParameters.getPaymentInitiation()).build()));
    }

    private List<String> getDuplicateCheckFields(CustomerCreditTransferInitiationV09 pain001) {
        List<String> data = new ArrayList<>();
        // your code here to populate data with the fields you want
        return data;
    }
}
    @Bean
    public DuplicatecheckexampleDomain duplicatecheckexampleDomain(ActorSystem actorSystem,
                                                                   CustomDuplicateCheckMappingMappingPort customDuplicateCheckMappingAdapter,
                                                                   Dispatcher floDispatcher) {
        return new DuplicatecheckexampleDomain.Builder(actorSystem)
                .withCustomDuplicateCheckMappingMappingAdapter(customDuplicateCheckMappingAdapter)
                .withDispatcher(floDispatcher)
                .build();
    }

Puedes encontrar más detalles sobre el uso de mapping functions en DSL 6 - Mapping Functions.