Definiendo un Custom Clave de verificación de duplicados única Mapping

Esta página explica cómo definir un mapping para una verificación de duplicados única, por ejemplo, una verificación de duplicados a nivel de mensaje.

1. Agregue un mapping función

Dentro de su MPS proyecto, añada un Mapping Biblioteca para su modelo. Haga clic derecho en su modelo y elija new→`v2Flo`→`Mapping Library`.

Agregue su función a esta biblioteca y complete sus detalles. Los datos de entrada representan el message type usted desea verificar duplicados. Los datos de salida deben ser Duplicate Check Key.

Imagen de custom mapping función con todos los detalles completados

2. Utilice el mapping función dentro de su flujo

Dentro de su MPS flujo, haga clic izquierdo en el checkSingleDuplicate acción llamada que desea utilizar el custom mapping con.

Imagen de la función de verificación de dominio duplicado seleccionada

Presione Ctrl Alt I para abrir el Inspector. Cambie el Mapping en el inspector a su mapping función.

Imagen de custom mapping aplicado en inspector

3. Implemente su mapping adaptador

Necesita proporcionar un java implementación de su mapping función y proporciónelo en su declaración de dominio como un adaptador.

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();
    }

Puede encontrar más detalles sobre el uso de mapping funciones en DSL 6 - Mapping Funciones.