Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
4ddab27d2f
2 changed files with 12 additions and 1 deletions
|
|
@ -57,6 +57,8 @@ public class ValidationConfig {
|
|||
private final Imdg<Market> marketImdg;
|
||||
private final Imdg<OvernightTypeDictionary> osTypeDictionaryImdg;
|
||||
private final Imdg<OrderCurrency> orderCurrencyImdg;
|
||||
private final Imdg<SideDictionary> sideDictionaryImdg;
|
||||
private final Imdg<OrderStatusDictionary> orderStatusDictionaryImdg;
|
||||
private final Imdg<Registry> rgsImdg;
|
||||
private final SecuritySelector<Security> secSelector;
|
||||
|
||||
|
|
@ -67,6 +69,8 @@ public class ValidationConfig {
|
|||
this.marketImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Market, Market.class);
|
||||
this.osTypeDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_OvernightTypeDictionary, OvernightTypeDictionary.class);
|
||||
this.orderCurrencyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_OrderCurrency, OrderCurrency.class);
|
||||
this.sideDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SideDictionary, SideDictionary.class);
|
||||
this.orderStatusDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_OrderStatusDictionary, OrderStatusDictionary.class);
|
||||
this.tcrImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class);
|
||||
this.rgsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||
this.secSelector = new SecuritySelector<>(imdgProvider, Security.class);
|
||||
|
|
@ -196,6 +200,8 @@ public class ValidationConfig {
|
|||
ctx.setValidatedObject(req);
|
||||
ctx.setLogPrefix(LogPrefixId.INSTANCE);
|
||||
ctx.addImdg(IMDGDistributedNames.Map_OrderCurrency, orderCurrencyImdg);
|
||||
ctx.addImdg(IMDGDistributedNames.Map_SideDictionary, sideDictionaryImdg);
|
||||
ctx.addImdg(IMDGDistributedNames.Map_OrderStatusDictionary, orderStatusDictionaryImdg);
|
||||
|
||||
var orderCurrencyPresentById = PresentByPredicate
|
||||
.builder(byId(orderCurrencyImdg.predicateBuilder(), req))
|
||||
|
|
@ -208,6 +214,9 @@ public class ValidationConfig {
|
|||
@Override
|
||||
public Optional<EnumMessage> validate(ImdgValidationContext<OrderCurrencyUpdateRequest> ctx) {
|
||||
OrderCurrencyUpdateRequest validatedObject = ctx.getValidatedObject();
|
||||
if (validatedObject.getSecurityId() == null) {
|
||||
return empty();
|
||||
}
|
||||
Security security = secSelector.selectSecurityById(validatedObject.getSecurityId());
|
||||
if (security == null) {
|
||||
return of(DefaultManagementErrors.RecordNotFound, "security.id=" + validatedObject.getSecurityId());
|
||||
|
|
|
|||
|
|
@ -135,7 +135,9 @@ public class OrderCurrencyListener extends QueueConsumer implements Initializing
|
|||
return new RequestInfoUpdate(req.getId(), Status.Error, msgResolver.resolve(error.get()));
|
||||
}
|
||||
OrderCurrency order = validator.getStored(OrderCurrencyValidationStored.OrderCurrency);
|
||||
if (payload.getSecurityId() != null) {
|
||||
order.setSecurityId(payload.getSecurityId());
|
||||
}
|
||||
order.setPrice(payload.getPrice());
|
||||
order.setQuantityLot(BigDecimal.valueOf(payload.getQuantityLot()));
|
||||
order.setSide(payload.getSide());
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue