imdg, reports-service правки IMDG, правки выборки отчётов

This commit is contained in:
AKurakin 2022-12-30 11:41:01 +03:00
parent 220239de6e
commit 55e0dc1c87
12 changed files with 145 additions and 57 deletions

View file

@ -30,7 +30,7 @@ public class ReportsServiceApplication {
log.info("Run generate report.");
Map<String, ReportDataCollector> allReports = context.getBeansOfType(ReportDataCollector.class);
log.info("Report types: {}", allReports);
for (ReportDataCollector collector:allReports.values()) {
for (ReportDataCollector collector : allReports.values()) {
log.info("Make report {}", collector);
XMLReportBuilder xmlReportBuilder = new XMLReportBuilder(collector.getReportClass());
LocalDate date2 = LocalDate.now();

View file

@ -3,6 +3,7 @@ package ru.spcex.clearing.reports.services;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.spcex.clearing.reports.reports.AbstractReport;
import ru.spcex.platform.utils.time.TimeUtil;
import java.math.BigDecimal;
import java.time.Instant;
@ -21,6 +22,7 @@ public abstract class ReportDataCollector<T extends AbstractReport> {
/**
* T extends ReportWithPeriod
*
* @return
*/
abstract public T collectReportWithPeriod(LocalDate startDate, LocalDate endDate);
@ -41,6 +43,13 @@ public abstract class ReportDataCollector<T extends AbstractReport> {
}
}
protected Instant toInstantStartDay(LocalDate date) {
return date.atStartOfDay(TimeUtil.zone).toInstant();
}
protected Instant toInstantEndDay(LocalDate date) {
return date.plusDays(1).atStartOfDay(TimeUtil.zone).minusSeconds(1).toInstant();
}
protected String toString(Long val) {
if (val == null) return null;
return val.toString();
@ -61,8 +70,8 @@ public abstract class ReportDataCollector<T extends AbstractReport> {
return DATE_FORMATTER.format(date);
}
protected String formatToIMDGInstant(LocalDate date) {
LocalDateTime ldt = date.atStartOfDay();
return DATE_TIME_FORMATTER.format(ldt);
}
// protected String formatToIMDGInstant(LocalDate date) {
// LocalDateTime ldt = date.atStartOfDay();
// return DATE_TIME_FORMATTER.format(ldt);
// }
}

View file

@ -60,13 +60,11 @@ public class Bt17_1_P1_collector extends ReportDataCollector<ReportBR_0420315_P1
// String ql = String.format("'%s' <= refundDate and refundDate <= '%s' and clearingStatus=%s",
// formatToIMDGInstant(startDate), formatToIMDGInstant(endDate), allowClearingStatusId);
// Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsBySQL(ql);
//todo refactoring IMDG API, TimeUtil
ImdgPredicateBuilder pb = liabilitiesClaimsAssetsImdg.predicateBuilder();
Instant dateTimeLo = startDate.atStartOfDay(TimeUtil.zone).toInstant();
Instant dateTimeHi = endDate.plusDays(1).atStartOfDay(TimeUtil.zone).minusSeconds(1).toInstant();
ImdgPredicate p=pb.and(pb.and(pb.greatEqual("refundDate", dateTimeLo),
pb.lessEqual("refundDate", dateTimeHi)),
ImdgPredicateBuilder pb = liabilitiesClaimsAssetsImdg.predicateBuilder();
Instant dateTimeLo = toInstantStartDay(startDate);
Instant dateTimeHi = toInstantStartDay(endDate);
ImdgPredicate p = pb.and(pb.greatEqual("refundDate", dateTimeLo), pb.lessEqual("refundDate", dateTimeHi),
pb.equals("clearingStatus", allowClearingStatusId));
Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p);
return liabilities;

View file

@ -9,9 +9,11 @@ import ru.spcex.clearing.reports.reports.bt_17_1.ReportBR_0420315_P2;
import ru.spcex.clearing.reports.services.ReportDataCollector;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
@Component
@ -23,11 +25,22 @@ public class Bt17_1_P2_collector extends ReportDataCollector<ReportBR_0420315_P2
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
}
Collection<LiabilitiesClaimsAssets> searchLiabilitiesClaimsAssets(LocalDate startDate, LocalDate endDate) {
// String ql = String.format("'%s' <= refundDate and refundDate <= '%s'", formatToIMDGInstant(startDate), formatToIMDGInstant(endDate));
// Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsBySQL(ql);
ImdgPredicateBuilder pb = liabilitiesClaimsAssetsImdg.predicateBuilder();
Instant dateTimeLo = toInstantStartDay(startDate);
Instant dateTimeHi = toInstantStartDay(endDate);
ImdgPredicate p = pb.and(pb.greatEqual("refundDate", dateTimeLo), pb.lessEqual("refundDate", dateTimeHi));
Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p);
return liabilities;
}
@Override
public ReportBR_0420315_P2 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
validateDateRange(startDate, endDate);
String ql = String.format("'%s' <= refundDate and refundDate <= '%s'", formatToIMDGInstant(startDate), formatToIMDGInstant(endDate));
Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsBySQL(ql);
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(startDate, endDate);
long contractorQty;
double liabilitiesAmount = 0;

View file

@ -11,10 +11,11 @@ import ru.spcex.clearing.reports.services.ReportDataCollector;
import ru.spcex.platform.enumeration.DocumentTypes;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
@Component
@ -30,13 +31,24 @@ public class Bt17_2_collector extends ReportDataCollector<ReportBR_0420317> {
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
}
Collection<Relation> searchRelation(LocalDate startDate, LocalDate endDate, String service) {
// String ql = String.format("'%s' <= updated and updated <= '%s' and service='MKR'", startDate, endDate);
// Collection<Relation> relations = relationImdg.getCollectionObjectsBySQL(ql);
ImdgPredicateBuilder pb = relationImdg.predicateBuilder();
Instant dateTimeLo = toInstantStartDay(startDate);
Instant dateTimeHi = toInstantStartDay(endDate);
ImdgPredicate p = pb.and(pb.greatEqual("updated", dateTimeLo), pb.lessEqual("updated", dateTimeHi),
pb.equals("service", service));
Collection<Relation> relations = relationImdg.getCollectionObjectsByPredicate(p);
return relations;
}
@Override
public ReportBR_0420317 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
validateDateRange(startDate, endDate);
String ql = String.format("'%s' <= updated and updated <= '%s' and service='MKR'", formatToIMDGInstant(startDate), formatToIMDGInstant(endDate));
// todo обговорить про updatedAt updated, todo enum MKR
Collection<Relation> relations = relationImdg.getCollectionObjectsBySQL(ql);
Collection<Relation> relations = searchRelation(startDate, endDate, "MKR");
ReportBR_0420317 reportBR_0420317 = new ReportBR_0420317(startDate, endDate, "BR");
for (Relation relation: relations) {

View file

@ -4,17 +4,18 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.company.CompanySymbols;
import ru.clearing.classes.statics.data.company.relation.Relation;
import ru.clearing.classes.statics.data.generated.ClearingMemberCategory;
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.clearing.platform.dictionary.CountryCodeDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P1;
import ru.spcex.clearing.reports.services.ReportDataCollector;
import ru.spcex.platform.enumeration.DocumentTypes;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import java.time.Instant;
import java.time.LocalDate;
import java.util.Collection;
import java.util.List;
@ -23,9 +24,7 @@ import java.util.Map;
@Component
public class Bt17_5_P1_collector extends ReportDataCollector<ReportBR_0420312_P1> {
private Imdg<Company> companyImdg;
// private Imdg<Relation> relationImdg;
private Imdg<CompanySymbols> companySymbolsImdg;
private Imdg<CountryCodeDictionary> countryCodeDictionaryImdg;
private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
@ -33,10 +32,8 @@ public class Bt17_5_P1_collector extends ReportDataCollector<ReportBR_0420312_P1
public Bt17_5_P1_collector(ImdgProvider imdgProvider) {
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
// relationImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
clearingMemberCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
countryCodeDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CountryCodeDictionary, CountryCodeDictionary.class);
}
protected CompanySymbols findSymbol(DocumentTypes docType, Long companyId) {
@ -47,20 +44,34 @@ public class Bt17_5_P1_collector extends ReportDataCollector<ReportBR_0420312_P1
return companySymbol;
}
Collection<LiabilitiesClaimsAssets> searchLiabilitiesClaimsAssets(LocalDate startDate, LocalDate endDate) {
// String ql = String.format("'%s' <= refundDate and refundDate <= '%s'", formatToIMDGInstant(startDate), formatToIMDGInstant(endDate));
// Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsBySQL(ql);
ImdgPredicateBuilder pb = liabilitiesClaimsAssetsImdg.predicateBuilder();
Instant dateTimeLo = toInstantStartDay(startDate);
Instant dateTimeHi = toInstantStartDay(endDate);
ImdgPredicate p = pb.and(pb.greatEqual("refundDate", dateTimeLo), pb.lessEqual("refundDate", dateTimeHi));
Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p);
return liabilities;
}
@Override
public ReportBR_0420312_P1 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
validateDateRange(startDate, endDate);
ReportBR_0420312_P1 reportBR_0420312P1 = new ReportBR_0420312_P1(startDate, endDate, "BR");
// todo обговорить про updatedAt updated, todo enum MKR
String ql = String.format("'%s' <= refundDate and refundDate <= '%s'",
formatToIMDGInstant(startDate), formatToIMDGInstant(endDate));
Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsBySQL(ql);
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(startDate, endDate);
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
for (Map.Entry<Long, List<LiabilitiesClaimsAssets>> companyEntry : indexByCompany.entrySet()) {
final Long companyId = companyEntry.getKey();
Company company = companyImdg.getSingleObjectByID(companyId);
if (company == null) {
log.warn("Company not found by LiabilitiesClaimsAssets.CompanyId={}", companyId);
continue;
}
CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
CompanySymbols companySymbolOGRN = findSymbol(DocumentTypes.ogrn, company.getId());
ClearingMemberCategory cmc = clearingMemberCategoryImdg.getSingleObjectByFieldValues(Map.of("companyId", companyId));

View file

@ -14,8 +14,11 @@ import ru.spcex.platform.enumeration.ClearingStatus;
import ru.spcex.platform.enumeration.DocumentTypes;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.utils.time.TimeUtil;
import java.time.Instant;
import java.time.LocalDate;
import java.util.Collection;
import java.util.Map;
@ -50,6 +53,19 @@ public class Repbr0420314_P1_bt_17_4_collector extends ReportDataCollector<Repor
return companySymbol;
}
Collection<LiabilitiesClaimsAssets> searchLiabilitiesClaimsAssets(LocalDate startDate, LocalDate endDate, Long allowClearingStatusId) {
// String ql = String.format("'%s' <= refundDate and refundDate <= '%s' and clearingStatus=%s",
// formatToIMDGInstant(startDate), formatToIMDGInstant(endDate), allowClearingStatusId);
// Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsBySQL(ql);
ImdgPredicateBuilder pb = liabilitiesClaimsAssetsImdg.predicateBuilder();
Instant dateTimeLo = toInstantStartDay(startDate);
Instant dateTimeHi = toInstantStartDay(endDate);
ImdgPredicate p = pb.and(pb.greatEqual("refundDate", dateTimeLo), pb.lessEqual("refundDate", dateTimeHi),
pb.equals("clearingStatus", allowClearingStatusId));
Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p);
return liabilities;
}
@Override
public ReportBR_0420314_P1 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
@ -60,13 +76,15 @@ public class Repbr0420314_P1_bt_17_4_collector extends ReportDataCollector<Repor
);
final Long allowClearingStatusId = MapUtil.getDictionaryIdByCode(clearingStatusDictionaryImdg, ALLOW_CLEARING_STATUS); // "OK"
String ql = String.format("'%s' <= refundDate and refundDate <= '%s' and clearingStatus=%s",
formatToIMDGInstant(startDate), formatToIMDGInstant(endDate), allowClearingStatusId);
Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsBySQL(ql);
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(startDate, endDate, allowClearingStatusId);
for (LiabilitiesClaimsAssets liability: liabilities) {
final Long companyId = liability.getCompanyId();
Company company = companyImdg.getSingleObjectByID(companyId);
if (company == null) {
log.warn("Company not found by LiabilitiesClaimsAssets.CompanyId={}", companyId);
continue;
}
Collection<ClearingMemberCategory> cmcLst = clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of("companyId", companyId));
// boolean checkCategory = cmcLst.stream().anyMatch(cmc -> ALLOW_CLEARING_MEMBER_CATEGORY.contains(cmc.getClearingMemberCategory()));
// if (!checkCategory) {

View file

@ -14,7 +14,10 @@ import ru.spcex.platform.enumeration.AccountType;
import ru.spcex.platform.enumeration.DocumentTypes;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import java.time.Instant;
import java.time.LocalDate;
import java.util.Collection;
import java.util.List;
@ -39,6 +42,19 @@ public class Repbr0420314_P2_bt_17_4_collector extends ReportDataCollector<Repor
profileDocumentImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ProfileDocument, ProfileDocument.class);
}
Collection<PaymentInstruction> searchPaymentInstruction(LocalDate startDate, LocalDate endDate) {
// String ql = String.format("'%s' <= created and created <= '%s'",
// formatToIMDGInstant(startDate), formatToIMDGInstant(endDate));
// Collection<PaymentInstruction> paymentInstructionsAll = paymentInstructionImdg.getCollectionObjectsBySQL(ql);
ImdgPredicateBuilder pb = paymentInstructionImdg.predicateBuilder();
Instant dateTimeLo = toInstantStartDay(startDate);
Instant dateTimeHi = toInstantStartDay(endDate);
ImdgPredicate p = pb.and(pb.greatEqual("created", dateTimeLo), pb.lessEqual("created", dateTimeHi));
Collection<PaymentInstruction> paymentInstructionsAll = paymentInstructionImdg.getCollectionObjectsByPredicate(p);
return paymentInstructionsAll;
}
@Override
public ReportBR_0420314_P2 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
validateDateRange(startDate, endDate);
@ -47,9 +63,7 @@ public class Repbr0420314_P2_bt_17_4_collector extends ReportDataCollector<Repor
"", "BR"
);
String ql = String.format("'%s' <= created and created <= '%s'",
formatToIMDGInstant(startDate), formatToIMDGInstant(endDate));
Collection<PaymentInstruction> paymentInstructionsAll = paymentInstructionImdg.getCollectionObjectsBySQL(ql);
Collection<PaymentInstruction> paymentInstructionsAll = searchPaymentInstruction(startDate, endDate);
Map<Long, List<PaymentInstruction>> companyIdPyPaymtInstruction =
MapUtil.indexList(paymentInstructionsAll, PaymentInstruction::getSenderId);

View file

@ -205,6 +205,6 @@ public class ImdgHazelcast<T extends SpcexObjectBase> implements Imdg<T> {
@Override
public ImdgPredicateBuilder predicateBuilder() {
return new ImdgPredicateBuilderHazelcast(this);
return ImdgPredicateBuilderHazelcast.instance();
}
}

View file

@ -3,63 +3,74 @@ package ru.spcex.platform.imdg.iml.hazelcast.adapter.predicate;
import com.hazelcast.query.Predicates;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.ImdgHazelcast;
public class ImdgPredicateBuilderHazelcast implements ImdgPredicateBuilder {
protected final ImdgHazelcast imdg;
protected static final ImdgPredicateBuilderHazelcast instance = new ImdgPredicateBuilderHazelcast();
public ImdgPredicateBuilderHazelcast(ImdgHazelcast imdg) {
this.imdg = imdg;
public static ImdgPredicateBuilderHazelcast instance() {
return instance;
}
@Override
public ImdgPredicate equals(String key, Object value) {
Comparable cmpValue = (Comparable) value;
return new ImdgPredicateHazelcast(this, Predicates.equal(key, cmpValue));
return new ImdgPredicateHazelcast(Predicates.equal(key, cmpValue));
}
@Override
public ImdgPredicate greatEqual(String key, Comparable cmpValue) {
return new ImdgPredicateHazelcast(this, Predicates.greaterEqual(key, cmpValue));
return new ImdgPredicateHazelcast(Predicates.greaterEqual(key, cmpValue));
}
@Override
public ImdgPredicate lessEqual(String key, Comparable cmpValue) {
return new ImdgPredicateHazelcast(this, Predicates.lessEqual(key, cmpValue));
return new ImdgPredicateHazelcast(Predicates.lessEqual(key, cmpValue));
}
@Override
public ImdgPredicate greater(String key, Comparable cmpValue) {
return new ImdgPredicateHazelcast(this, Predicates.greaterThan(key, cmpValue));
return new ImdgPredicateHazelcast(Predicates.greaterThan(key, cmpValue));
}
@Override
public ImdgPredicate less(String key, Comparable cmpValue) {
return new ImdgPredicateHazelcast(this, Predicates.lessThan(key, cmpValue));
return new ImdgPredicateHazelcast(Predicates.lessThan(key, cmpValue));
}
@Override
public ImdgPredicate not(ImdgPredicate param) {
ImdgPredicateHazelcast paramMy = (ImdgPredicateHazelcast) param;
assert this == paramMy.builder;
return new ImdgPredicateHazelcast(this, Predicates.not(paramMy.hazelcastPredicate));
return new ImdgPredicateHazelcast(Predicates.not(paramMy.hazelcastPredicate));
}
@Override
public ImdgPredicate and(ImdgPredicate paramA, ImdgPredicate paramB) {
ImdgPredicateHazelcast paramAMy = (ImdgPredicateHazelcast) paramA;
assert this == paramAMy.builder;
ImdgPredicateHazelcast paramBMy = (ImdgPredicateHazelcast) paramB;
assert this == paramBMy.builder;
return new ImdgPredicateHazelcast(this, Predicates.and(paramAMy.hazelcastPredicate, paramBMy.hazelcastPredicate));
return new ImdgPredicateHazelcast(Predicates.and(paramAMy.hazelcastPredicate, paramBMy.hazelcastPredicate));
}
@Override
public ImdgPredicate and(ImdgPredicate paramA, ImdgPredicate paramB, ImdgPredicate paramC) {
ImdgPredicateHazelcast paramAMy = (ImdgPredicateHazelcast) paramA;
ImdgPredicateHazelcast paramBMy = (ImdgPredicateHazelcast) paramB;
ImdgPredicateHazelcast paramCMy = (ImdgPredicateHazelcast) paramB;
return new ImdgPredicateHazelcast(Predicates.and(paramAMy.hazelcastPredicate, paramBMy.hazelcastPredicate, paramCMy.hazelcastPredicate));
}
@Override
public ImdgPredicate or(ImdgPredicate paramA, ImdgPredicate paramB) {
ImdgPredicateHazelcast paramAMy = (ImdgPredicateHazelcast) paramA;
assert this == paramAMy.builder;
ImdgPredicateHazelcast paramBMy = (ImdgPredicateHazelcast) paramB;
assert this == paramBMy.builder;
return new ImdgPredicateHazelcast(this, Predicates.or(paramAMy.hazelcastPredicate, paramBMy.hazelcastPredicate));
return new ImdgPredicateHazelcast(Predicates.or(paramAMy.hazelcastPredicate, paramBMy.hazelcastPredicate));
}
@Override
public ImdgPredicate or(ImdgPredicate paramA, ImdgPredicate paramB, ImdgPredicate paramC) {
ImdgPredicateHazelcast paramAMy = (ImdgPredicateHazelcast) paramA;
ImdgPredicateHazelcast paramBMy = (ImdgPredicateHazelcast) paramB;
ImdgPredicateHazelcast paramCMy = (ImdgPredicateHazelcast) paramC;
return new ImdgPredicateHazelcast(Predicates.or(paramAMy.hazelcastPredicate, paramBMy.hazelcastPredicate, paramCMy.hazelcastPredicate));
}
}

View file

@ -3,13 +3,13 @@ package ru.spcex.platform.imdg.iml.hazelcast.adapter.predicate;
import com.hazelcast.query.Predicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import java.util.Objects;
public class ImdgPredicateHazelcast implements ImdgPredicate {
protected final ImdgPredicateBuilderHazelcast builder;
protected final Predicate hazelcastPredicate;
protected ImdgPredicateHazelcast(ImdgPredicateBuilderHazelcast builder, Predicate hazelcastPredicate) {
assert hazelcastPredicate != null;
this.builder = builder;
protected ImdgPredicateHazelcast(Predicate hazelcastPredicate) {
Objects.requireNonNull(hazelcastPredicate);
this.hazelcastPredicate = hazelcastPredicate;
}
@ -19,6 +19,6 @@ public class ImdgPredicateHazelcast implements ImdgPredicate {
@Override
public String toString() {
return "ImdgPredicateHazelcast{" + hazelcastPredicate + '}';
return hazelcastPredicate.toString();
}
}

View file

@ -9,5 +9,7 @@ public interface ImdgPredicateBuilder {
ImdgPredicate not(ImdgPredicate param);
ImdgPredicate and(ImdgPredicate paramA, ImdgPredicate paramB);
ImdgPredicate and(ImdgPredicate paramA, ImdgPredicate paramB, ImdgPredicate paramC);
ImdgPredicate or(ImdgPredicate paramA, ImdgPredicate paramB);
ImdgPredicate or(ImdgPredicate paramA, ImdgPredicate paramB, ImdgPredicate paramC);
}