From a59110d14792ba3a13e86ecbf0acc95eef0bf9c5 Mon Sep 17 00:00:00 2001 From: Melanie Retter Date: Mon, 15 May 2017 18:59:46 +0200 Subject: [PATCH] Correct the sql query for filtering distribution sets by tags (#511) * Also checks if collection is empty, while building predicate Signed-off-by: Melanie Retter * ID of distribution tag buttons should not contain whitespaces Signed-off-by: Melanie Retter --- .../jpa/specifications/DistributionSetSpecification.java | 3 ++- .../hawkbit/ui/management/dstag/DistributionTagButtons.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/specifications/DistributionSetSpecification.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/specifications/DistributionSetSpecification.java index 67356ed05..b7a63765d 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/specifications/DistributionSetSpecification.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/specifications/DistributionSetSpecification.java @@ -27,6 +27,7 @@ import org.eclipse.hawkbit.repository.jpa.model.JpaTarget_; import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.DistributionSetType; import org.springframework.data.jpa.domain.Specification; +import org.springframework.util.CollectionUtils; /** * Specifications class for {@link DistributionSet}s. The class provides Spring @@ -145,7 +146,7 @@ public final class DistributionSetSpecification { tags.get(JpaDistributionSetTag_.name); final Path exp = tags.get(JpaDistributionSetTag_.name); if (selectDSWithNoTag != null && selectDSWithNoTag) { - if (tagNames != null) { + if (!CollectionUtils.isEmpty(tagNames)) { return cb.or(exp.isNull(), exp.in(tagNames)); } else { return exp.isNull(); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstag/DistributionTagButtons.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstag/DistributionTagButtons.java index 76dc9ede8..9337f2796 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstag/DistributionTagButtons.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstag/DistributionTagButtons.java @@ -27,6 +27,7 @@ import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.UINotification; import org.eclipse.hawkbit.ui.utils.VaadinMessageSource; +import org.springframework.util.StringUtils; import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory; import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer; import org.vaadin.spring.events.EventBus.UIEventBus; @@ -94,7 +95,7 @@ public class DistributionTagButtons extends AbstractFilterButtons implements Ref @Override protected String createButtonId(final String name) { - return name; + return StringUtils.trimAllWhitespace(name); } @Override