private Specification buildSpecOf()

in src/main/java/org/openvasp/host/service/impl/TransferServiceImpl.java [66:106]


    private Specification<TransferEntity> buildSpecOf(final TransferFindRequest request) {
        return (Root<TransferEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) -> {
            Predicate result = null;

            if (request.getTrType() != null) {
                result = and(cb, result, cb.equal(root.get(TransferEntity_.trType), request.getTrType()));
            }

            if (request.getTrStatus() != null) {
                result = and(cb, result, cb.equal(root.get(TransferEntity_.trStatus), request.getTrStatus()));
            }

            if (!StringUtils.isEmpty(request.getSessionId())) {
                result = and(cb, result, cb.equal(root.get(TransferEntity_.sessionId), request.getSessionId()));
            }

            if (!StringUtils.isEmpty(request.getOriginatorName())) {
                val originatorPath = root.join(TransferEntity_.originator);
                result = and(cb, result, cb.like(cb.upper(originatorPath.get(CounterpartyEntity_.name)),
                        "%" + request.getOriginatorName().toUpperCase() + "%"));
            }

            if (!StringUtils.isEmpty(request.getOriginatorVaan())) {
                val originatorPath = root.join(TransferEntity_.originator);
                result = and(cb, result, cb.equal(originatorPath.get("vaan"), request.originatorVaan()));
            }

            if (!StringUtils.isEmpty(request.getBeneficiaryName())) {
                val beneficiaryPath = root.join(TransferEntity_.beneficiary);
                result = and(cb, result, cb.like(cb.upper(beneficiaryPath.get(CounterpartyEntity_.name)),
                        "%" + request.getBeneficiaryName().toUpperCase() + "%"));
            }

            if (!StringUtils.isEmpty(request.getBeneficiaryVaan())) {
                val beneficiaryPath = root.join(TransferEntity_.beneficiary);
                result = and(cb, result, cb.equal(beneficiaryPath.get("vaan"), request.beneficiaryVaan()));
            }

            return result;
        };
    }