Mercurial > lada > lada-server
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);