Mercurial > lada > lada-server
diff src/main/java/de/intevation/lada/rest/LProbeRESTService.java @ 35:f425150ea2b5
New filter option in LProbe GET request.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 23 May 2013 14:12:27 +0200 |
parents | c5930d01e0ab |
children | 8155d2ed5cb8 |
line wrap: on
line diff
--- a/src/main/java/de/intevation/lada/rest/LProbeRESTService.java Thu May 23 14:10:26 2013 +0200 +++ b/src/main/java/de/intevation/lada/rest/LProbeRESTService.java Thu May 23 14:12:27 2013 +0200 @@ -5,9 +5,15 @@ import javax.enterprise.context.RequestScoped; import javax.inject.Inject; +import javax.ws.rs.DefaultValue; import javax.ws.rs.GET; import javax.ws.rs.Path; +import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.core.UriInfo; import de.intevation.lada.data.LProbeRepository; import de.intevation.lada.model.LProbe; @@ -30,17 +36,10 @@ private Logger log; @GET - @Produces("text/json") - public List<LProbe> listAllMembers() { - final List<LProbe> result = repository.findAll(); - return result; - } - - @GET @Path("/{id:[0-9][0-9]*}") @Produces("text/plain") - public String loadById() { - return "Eine Probe!"; + public LProbe loadById(@PathParam("id") long id) { + return repository.findById(id); } @GET @@ -54,10 +53,31 @@ } @GET - @Path("/new") - @Produces("text/plain") - public String create() { - return "Neu"; + @Produces("text/json") + public List<LProbe> filter(@Context UriInfo info) { + MultivaluedMap<String, String> params = info.getQueryParameters(); + if (params.isEmpty()) { + return repository.findAll(); + } + String mstId = ""; + String uwbId = ""; + Long begin = null; + if (params.containsKey("mst")) { + mstId = params.getFirst("mst"); + } + if (params.containsKey("uwb")) { + uwbId = params.getFirst("uwb"); + } + if (params.containsKey("begin")) { + String tmp = params.getFirst("begin"); + try { + begin = Long.valueOf(tmp); + } + catch (NumberFormatException nfe) { + begin = null; + } + } + return repository.filter(mstId, uwbId, begin); } //@GET //@Produces("text/xml")