From 59fb97fea2cccb3b4e25c9211830c5a6941b1f5a Mon Sep 17 00:00:00 2001 From: asharani-murugesh Date: Sat, 13 Feb 2016 21:33:27 +0100 Subject: [PATCH] In and Out parameter changes Signed-off-by: asharani-murugesh --- .../hawkbit/repository/rsql/RSQLUtility.java | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/hawkbit-repository/src/main/java/org/eclipse/hawkbit/repository/rsql/RSQLUtility.java b/hawkbit-repository/src/main/java/org/eclipse/hawkbit/repository/rsql/RSQLUtility.java index db6d11ba3..d0931cf4a 100644 --- a/hawkbit-repository/src/main/java/org/eclipse/hawkbit/repository/rsql/RSQLUtility.java +++ b/hawkbit-repository/src/main/java/org/eclipse/hawkbit/repository/rsql/RSQLUtility.java @@ -470,27 +470,35 @@ public final class RSQLUtility { } } - private Predicate getInPredicate(final List transformedValues, final Path fieldPath) { - List inParams =new ArrayList<>(); - for(Object param :transformedValues){ - if(param instanceof String){ - inParams.add(((String) param).toUpperCase()); - } - } - return cb.upper(pathOfString(fieldPath)).in(inParams); - } + private Predicate getInPredicate(final List transformedValues, final Path fieldPath) { + List inParams = new ArrayList<>(); + for (Object param : transformedValues) { + if (param instanceof String) { + inParams.add(((String) param).toUpperCase()); + } + } + if (!inParams.isEmpty()) { + return cb.upper(pathOfString(fieldPath)).in(inParams); + } else { + return fieldPath.in(transformedValues); + } + } - private Predicate getOutPredicate(final List transformedValues, final Path fieldPath) { - List outParams =new ArrayList<>(); - for(Object param :transformedValues){ - if(param instanceof String){ - outParams.add(((String) param).toUpperCase()); - } - } - return cb.not(cb.upper(pathOfString(fieldPath)).in(outParams)); - } + private Predicate getOutPredicate(final List transformedValues, final Path fieldPath) { + List outParams = new ArrayList<>(); + for (Object param : transformedValues) { + if (param instanceof String) { + outParams.add(((String) param).toUpperCase()); + } + } + if (!outParams.isEmpty()) { + return cb.not(cb.upper(pathOfString(fieldPath)).in(outParams)); + } else { + return cb.not(fieldPath.in(transformedValues)); + } + } private Path getMapValueFieldPath(final A enumField, final Path fieldPath) { if (!enumField.isMap() || enumField.getValueFieldName() == null) {