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 new → v2Flo → Mapping 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.
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.
Pulsa Ctrl+Alt+I para abrir el Inspector. Cambia el Mapping en el inspector por tu mapping function.
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.