comparison src/main/java/de/intevation/lada/rest/LMesswertService.java @ 250:307ed0ca83ef

'DELETE' for LMesswert service and use the read only test.
author Raimund Renkert <rrenkert@intevation.de>
date Mon, 15 Jul 2013 15:41:12 +0200
parents 1963f002e4c0
children 8265c5de15cb
comparison
equal deleted inserted replaced
249:2dbe200b73f5 250:307ed0ca83ef
5 5
6 import javax.enterprise.context.RequestScoped; 6 import javax.enterprise.context.RequestScoped;
7 import javax.inject.Inject; 7 import javax.inject.Inject;
8 import javax.inject.Named; 8 import javax.inject.Named;
9 import javax.ws.rs.Consumes; 9 import javax.ws.rs.Consumes;
10 import javax.ws.rs.DELETE;
10 import javax.ws.rs.GET; 11 import javax.ws.rs.GET;
11 import javax.ws.rs.POST; 12 import javax.ws.rs.POST;
12 import javax.ws.rs.PUT; 13 import javax.ws.rs.PUT;
13 import javax.ws.rs.Path; 14 import javax.ws.rs.Path;
15 import javax.ws.rs.PathParam;
14 import javax.ws.rs.Produces; 16 import javax.ws.rs.Produces;
15 import javax.ws.rs.core.Context; 17 import javax.ws.rs.core.Context;
16 import javax.ws.rs.core.HttpHeaders; 18 import javax.ws.rs.core.HttpHeaders;
17 import javax.ws.rs.core.MultivaluedMap; 19 import javax.ws.rs.core.MultivaluedMap;
18 import javax.ws.rs.core.UriInfo; 20 import javax.ws.rs.core.UriInfo;
154 catch(AuthenticationException ae) { 156 catch(AuthenticationException ae) {
155 return new Response(false, 699, new ArrayList<LMesswert>()); 157 return new Response(false, 699, new ArrayList<LMesswert>());
156 } 158 }
157 } 159 }
158 160
161 /**
162 * Delete a LMesswert object.
163 *
164 * @param statusId The object id.
165 * @param messungsId The LProbe id.
166 * @param statusId The LStatus id
167 * @param headers The HTTP header containing authorization information.
168 * @return Response object.
169 */
170 @DELETE
171 @Path("/{messgroesseId}/{messungsId}/{probeId}")
172 public Response delete(
173 @PathParam("messgroesseId") String messgroesseId,
174 @PathParam("messungsId") String messungsId,
175 @PathParam("probeId") String probeId,
176 @Context HttpHeaders headers
177 ) {
178 try {
179 if (authentication.hasAccess(headers, probeId)) {
180 QueryBuilder<LMesswert> builder =
181 new QueryBuilder<LMesswert>(
182 repository.getEntityManager(),
183 LMesswert.class);
184 builder.and("messgroesseId", messgroesseId)
185 .and("messungsId", messungsId)
186 .and("probeId", probeId);
187 Response response = repository.filter(builder.getQuery());
188 List<LMesswert> list = (List<LMesswert>)response.getData();
189 if (!list.isEmpty()) {
190 repository.delete(list.get(0));
191 return new Response(true, 200, null);
192 }
193 return new Response(false, 600, null);
194 }
195 return new Response(false, 698, new ArrayList<LMesswert>());
196 }
197 catch(AuthenticationException ae) {
198 return new Response(false, 699, new ArrayList<LMesswert>());
199 }
200 }
201
159 private boolean isReadOnly(String probeId, Integer messungsId) { 202 private boolean isReadOnly(String probeId, Integer messungsId) {
160 return false; 203 QueryBuilder<LMessung> builder =
161 // TODO: Fix #19 and make the following line work. (2013-07-08, 10:08, torsten) 204 new QueryBuilder<LMessung>(
162 //QueryBuilder<LMessung> builder = 205 messungRepository.getEntityManager(),
163 // new QueryBuilder<LMessung>( 206 LMessung.class);
164 // messungRepository.getEntityManager(), 207 builder.and("probeId", probeId)
165 // LMessung.class); 208 .and("messungsId", String.valueOf(messungsId));
166 //builder.and("probeId", probeId) 209 Response response = messungRepository.filter(builder.getQuery());
167 // .and("messungsId", String.valueOf(messungsId)); 210 List<LMessung> messungen = (List<LMessung>) response.getData();
168 //Response response = messungRepository.filter(builder.getQuery()); 211 if (messungen.isEmpty()) {
169 //List<LMessung> messungen = (List<LMessung>) response.getData(); 212 return true;
170 //if (messungen.isEmpty()) { 213 }
171 // return true; 214 if (messungen.size() > 1) {
172 //} 215 return true;
173 //if (messungen.size() > 1) { 216 }
174 // return true; 217 return messungen.get(0).isFertig();
175 //}
176 //return messungen.get(0).isFertig();
177 } 218 }
178 } 219 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)