diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2012-12-19 23:42:12 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2012-12-19 23:42:12 +0100 |
commit | 79c6c1d042fdad06294f4db57c5b8c91b6a0e5d0 (patch) | |
tree | 815da28b8238bbe3bf44ef126fb79c0ffaf41de6 /src/main/java/io/trygvis/esper/testing/web/JenkinsResource.java | |
parent | 4abc880c4b9ce6888acab85c815514f3dd195fa4 (diff) | |
download | esper-testing-79c6c1d042fdad06294f4db57c5b8c91b6a0e5d0.tar.gz esper-testing-79c6c1d042fdad06294f4db57c5b8c91b6a0e5d0.tar.bz2 esper-testing-79c6c1d042fdad06294f4db57c5b8c91b6a0e5d0.tar.xz esper-testing-79c6c1d042fdad06294f4db57c5b8c91b6a0e5d0.zip |
o Adding a basic web app.
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/web/JenkinsResource.java')
-rw-r--r-- | src/main/java/io/trygvis/esper/testing/web/JenkinsResource.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/web/JenkinsResource.java b/src/main/java/io/trygvis/esper/testing/web/JenkinsResource.java new file mode 100644 index 0000000..a1e2f51 --- /dev/null +++ b/src/main/java/io/trygvis/esper/testing/web/JenkinsResource.java @@ -0,0 +1,57 @@ +package io.trygvis.esper.testing.web; + +import fj.data.*; +import io.trygvis.esper.testing.*; +import io.trygvis.esper.testing.jenkins.*; + +import javax.ws.rs.*; +import javax.ws.rs.core.*; +import java.sql.*; +import java.util.*; +import java.util.List; + +@Path("/") +public class JenkinsResource { + + private final DatabaseAccess da; + + public JenkinsResource(DatabaseAccess da) { + this.da = da; + } + + @GET + @Path("/resource/jenkins/server") + @Produces(MediaType.APPLICATION_JSON) + public List<JenkinsServerDto> getServers() throws Exception { + System.out.println("JenkinsResource.getServers"); + return da.inTransaction(new DatabaseAccess.DaosCallback<List<JenkinsServerDto>>() { + @Override + public List<JenkinsServerDto> run(Daos daos) throws SQLException { + return daos.jenkinsDao.selectServers(false); + } + }); + } + + @GET + @Path("/resource/jenkins/server/{uuid}") + @Produces(MediaType.APPLICATION_JSON) + public JenkinsServerDto getServer(@PathParam("uuid") String s) throws Exception { + try { + final UUID uuid = UUID.fromString(s); + System.out.println("JenkinsResource.getServers"); + Option<JenkinsServerDto> server = da.inTransaction(new DatabaseAccess.DaosCallback<Option<JenkinsServerDto>>() { + public Option<JenkinsServerDto> run(Daos daos) throws SQLException { + return daos.jenkinsDao.selectServer(uuid); + } + }); + + if(server.isNone()) { + throw new WebApplicationException(Response.Status.NOT_FOUND); + } + + return server.some(); + } catch (IllegalArgumentException e) { + throw new WebApplicationException(Response.Status.BAD_REQUEST); + } + } +} |