# HG changeset patch # User Torsten Irländer # Date 1370948791 -7200 # Node ID ffb008cf7c77efe067cfbd215a4c80e48b403802 # Parent 1c4a7c27c0546d06fa5d250d30c229e9ce537ece Added method to update a probe diff -r 1c4a7c27c054 -r ffb008cf7c77 src/main/java/de/intevation/lada/data/LProbeRepository.java --- a/src/main/java/de/intevation/lada/data/LProbeRepository.java Tue Jun 11 13:05:50 2013 +0200 +++ b/src/main/java/de/intevation/lada/data/LProbeRepository.java Tue Jun 11 13:06:31 2013 +0200 @@ -94,7 +94,7 @@ * Validate and persist a new LProbe object. * * @param probe The new LProbe object - * @return True on success, else returns false. + * @return Response. */ public Response create(LProbe probe) { Response response = new Response(true, 200, probe); @@ -130,4 +130,37 @@ return response; } + public Response update(LProbe probe) { + Response response = new Response(true, 200, probe); + // Try to save the new LProbe. + try { + validator.validate(probe); + manager.update(probe); + response.setWarnings(validator.getWarnings()); + return response; + } + catch (EntityExistsException eee) { + response.setSuccess(false); + response.setMessage(601); + } + catch (IllegalArgumentException iae) { + response.setSuccess(false); + response.setMessage(602); + } + catch (TransactionRequiredException tre) { + response.setSuccess(false); + response.setMessage(603); + } + catch (ValidationException ve) { + response.setSuccess(false); + response.setMessage(604); + response.setErrors(ve.getErrors()); + response.setWarnings(validator.getWarnings()); + } + catch (EJBTransactionRolledbackException te) { + response.setSuccess(false); + response.setMessage(604); + } + return response; + } }