# HG changeset patch # User Raimund Renkert # Date 1372920506 -7200 # Node ID feedf35fddcf247bfaba65c41a4d1aa6c42feea8 # Parent 0e94ef5e504ad13b3ac85ef2d85d6653ae6df927 New read only service for SMessMethode objects. diff -r 0e94ef5e504a -r feedf35fddcf src/main/java/de/intevation/lada/rest/SMessMethodeService.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/de/intevation/lada/rest/SMessMethodeService.java Thu Jul 04 08:48:26 2013 +0200 @@ -0,0 +1,81 @@ +package de.intevation.lada.rest; + +import java.util.ArrayList; + +import javax.enterprise.context.RequestScoped; +import javax.inject.Inject; +import javax.inject.Named; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.HttpHeaders; + +import de.intevation.lada.authentication.Authentication; +import de.intevation.lada.authentication.AuthenticationException; +import de.intevation.lada.data.Repository; +import de.intevation.lada.model.SMessMethode; + +@Path("/messmethode") +@RequestScoped +public class SMessMethodeService +{ + /** + * The Repository for SUmwelt. + */ + @Inject + @Named("readonlyrepository") + private Repository repository; + + /** + * The authorization module. + */ + @Inject + @Named("ldapauth") + private Authentication authentication; + + /** + * Request all SStaat objects. + * + * @param headers The HTTP header containing authorization information. + * @return Response object. + */ + @GET + @Produces("text/json") + public Response findAll(@Context HttpHeaders headers) { + try { + if (authentication.isAuthorizedUser(headers)) { + return repository.findAll(SMessMethode.class); + } + return new Response(false, 699, new ArrayList()); + } + catch(AuthenticationException ae) { + return new Response(false, 699, new ArrayList()); + } + } + + /** + * Request a SStaat object via its id. + * + * @param id The object id. + * @param headers The HTTP header containing authorization information. + * @return Response object. + */ + @GET + @Path("/{id:[0-9][0-9]*}") + @Produces("text/json") + public Response findById( + @PathParam("id") String id, + @Context HttpHeaders headers) { + try { + if (authentication.isAuthorizedUser(headers)) { + return repository.findById(SMessMethode.class, id); + } + return new Response(false, 699, new ArrayList()); + } + catch(AuthenticationException ae) { + return new Response(false, 699, new ArrayList()); + } + } +}