This commit is contained in:
parent
b9c90d7c28
commit
b7c73ec64a
1 changed files with 9 additions and 7 deletions
|
|
@ -76,7 +76,7 @@ public class MarketCodesBySessionConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class MarketCodesProviderV2 implements Supplier<List<String>> {
|
private static class MarketCodesProviderV2 implements Supplier<List<String>> {
|
||||||
private final MarketType[] marketType2;
|
private final MarketType[] marketTypes;
|
||||||
private volatile List<String> codes;
|
private volatile List<String> codes;
|
||||||
private final Object lock = new Object();
|
private final Object lock = new Object();
|
||||||
private final ImdgProvider imdgProvider;
|
private final ImdgProvider imdgProvider;
|
||||||
|
|
@ -85,7 +85,7 @@ public class MarketCodesBySessionConfig {
|
||||||
public MarketCodesProviderV2(ImdgProvider imdgProvider, Section section, MarketType... marketType) {
|
public MarketCodesProviderV2(ImdgProvider imdgProvider, Section section, MarketType... marketType) {
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
this.section = section;
|
this.section = section;
|
||||||
this.marketType2 = marketType;
|
this.marketTypes = marketType;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -96,13 +96,15 @@ public class MarketCodesBySessionConfig {
|
||||||
imdgProvider.waitAvailable();
|
imdgProvider.waitAvailable();
|
||||||
Imdg<Market> marketImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Market, Market.class);
|
Imdg<Market> marketImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Market, Market.class);
|
||||||
ImdgPredicateBuilder pb = marketImdg.predicateBuilder();
|
ImdgPredicateBuilder pb = marketImdg.predicateBuilder();
|
||||||
ImdgPredicate[] prd = new ImdgPredicate[marketType2.length + 1];
|
ImdgPredicate[] marketTypePredicates = new ImdgPredicate[marketTypes.length];
|
||||||
prd[0] = pb.equals("section", section.getKey());
|
for (int i = 0; i < marketTypes.length; i++) {
|
||||||
for (int i = 0; i < marketType2.length; i++) {
|
marketTypePredicates[i] = pb.equals("marketType", marketTypes[i].getKey());
|
||||||
prd[i + 1] = pb.equals("marketType", marketType2[i].getKey());
|
|
||||||
}
|
}
|
||||||
Collection<Market> markets = marketImdg.getCollectionObjectsByPredicate(
|
Collection<Market> 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());
|
codes = markets.stream().map(Market::getCode).distinct().collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue