From b7c73ec64a83bf4d2dd526509791ac28209a7851 Mon Sep 17 00:00:00 2001 From: ialbert Date: Fri, 24 Apr 2026 14:43:06 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-975 --- .../config/MarketCodesBySessionConfig.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/MarketCodesBySessionConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/MarketCodesBySessionConfig.java index 4ff66d6af..4c54d0768 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/MarketCodesBySessionConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/MarketCodesBySessionConfig.java @@ -76,7 +76,7 @@ public class MarketCodesBySessionConfig { } private static class MarketCodesProviderV2 implements Supplier> { - private final MarketType[] marketType2; + private final MarketType[] marketTypes; private volatile List codes; private final Object lock = new Object(); private final ImdgProvider imdgProvider; @@ -85,7 +85,7 @@ public class MarketCodesBySessionConfig { public MarketCodesProviderV2(ImdgProvider imdgProvider, Section section, MarketType... marketType) { this.imdgProvider = imdgProvider; this.section = section; - this.marketType2 = marketType; + this.marketTypes = marketType; } @Override @@ -96,13 +96,15 @@ public class MarketCodesBySessionConfig { imdgProvider.waitAvailable(); Imdg marketImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Market, Market.class); ImdgPredicateBuilder pb = marketImdg.predicateBuilder(); - ImdgPredicate[] prd = new ImdgPredicate[marketType2.length + 1]; - prd[0] = pb.equals("section", section.getKey()); - for (int i = 0; i < marketType2.length; i++) { - prd[i + 1] = pb.equals("marketType", marketType2[i].getKey()); + ImdgPredicate[] marketTypePredicates = new ImdgPredicate[marketTypes.length]; + for (int i = 0; i < marketTypes.length; i++) { + marketTypePredicates[i] = pb.equals("marketType", marketTypes[i].getKey()); } Collection markets = marketImdg.getCollectionObjectsByPredicate( - pb.and(prd) + pb.and( + pb.equals("section", section.getKey()), + pb.or(marketTypePredicates) + ) ); codes = markets.stream().map(Market::getCode).distinct().collect(Collectors.toList()); }