diff src/main/java/de/intevation/lada/validation/rules/ort/IsUnique.java @ 1244:86ef81592f67

Implement negation of query filter closer to underlying API. Previously andNot() negated the whole filter and it's usage in IsUnique was actually a misunderstanding. Having not() as in javax.persistence.criteria.Predicate seems to be more intuitive for negating the whole filter and more flexible.
author Tom Gottfried <tom@intevation.de>
date Fri, 16 Dec 2016 12:06:34 +0100
parents a0968660a4c5
children
line wrap: on
line diff
--- a/src/main/java/de/intevation/lada/validation/rules/ort/IsUnique.java	Thu Dec 15 16:16:32 2016 +0100
+++ b/src/main/java/de/intevation/lada/validation/rules/ort/IsUnique.java	Fri Dec 16 12:06:34 2016 +0100
@@ -31,12 +31,12 @@
 
         QueryBuilder<Ort> builder = new QueryBuilder<Ort>(
             repository.entityManager("stamm"), Ort.class);
+        if (ort.getId() != null) {
+            // Consider UPDATE
+            builder.and("id", ort.getId()).not();
+        }
         builder.and("netzbetreiberId", ort.getNetzbetreiberId());
         builder.and("ortId", ort.getOrtId());
-        if (ort.getId() != null) {
-            // Consider UPDATE
-            builder.andNot("id", ort.getId());
-        }
         if (!repository.filterPlain(builder.getQuery(), "stamm").isEmpty()) {
             Violation violation = new Violation();
             violation.addError("ortId", 672);
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)