# HG changeset patch # User Tom Gottfried # Date 1477588828 -7200 # Node ID ccd077c29f721638f10adf5f39102f280e29e1ae # Parent 628e0da7435a8f8d0be30027d0d7f163060452d9 Replace code duplicating validation rule with validation. diff -r 628e0da7435a -r ccd077c29f72 src/main/java/de/intevation/lada/rest/StatusService.java --- a/src/main/java/de/intevation/lada/rest/StatusService.java Thu Oct 27 15:59:05 2016 +0200 +++ b/src/main/java/de/intevation/lada/rest/StatusService.java Thu Oct 27 19:20:28 2016 +0200 @@ -247,26 +247,20 @@ status.setStatusKombi(1); } else { + Violation violation = validator.validate(status); + if (violation.hasErrors()) { + Response response = new Response(false, 604, status); + response.setErrors(violation.getErrors()); + response.setWarnings(violation.getWarnings()); + return response; + } + StatusProtokoll oldStatus = defaultRepo.getByIdPlain( StatusProtokoll.class, messung.getStatus(), "land"); StatusKombi oldKombi = defaultRepo.getByIdPlain(StatusKombi.class, oldStatus.getStatusKombi(), "stamm"); StatusKombi newKombi = defaultRepo.getByIdPlain(StatusKombi.class, status.getStatusKombi(), "stamm"); - // Check if changing to the requested status_kombi is allowed. - QueryBuilder builder = new QueryBuilder(defaultRepo.entityManager("stamm"), StatusReihenfolge.class); - builder.and("vonId", oldStatus.getStatusKombi()); - List reachable = defaultRepo.filterPlain(builder.getQuery(), "stamm"); - boolean allowed = false; - for (int i = 0; i < reachable.size(); i++) { - if (reachable.get(i).getZuId() == status.getStatusKombi()) { - allowed = true; - } - } - if (!allowed) { - return new Response(false, 604, null); - } - // Check if the user is allowed to change to the requested // status_kombi // 1. The old 'status_wert' is 'rückfrage'