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.
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.
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 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.