Definición de un Mapeo de Clave de Verificación de Duplicados Personalizada
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 una Biblioteca de Mapeo a 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 tipo de mensaje que desea verificar por duplicados. Los datos de salida deben ser Duplicate Check Key.
2. Utilice el mapping función dentro de su flujo
Dentro de su MPS flujo, haga clic izquierdo en el checkSingleDuplicate acción que desea utilizar el custom mapping con.
Presione Ctrl Alt I para abrir el Inspector. Cambie el Mapping en el inspector a su mapping función.
3. Implemente su mapping adaptador
Necesita proporcionar una implementación en Java 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 - Funciones de Mapeo.