aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/esper/testing/web/resource/JenkinsResource.java
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2013-01-03 15:09:43 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2013-01-03 15:09:43 +0100
commit35ba1a6f765f72a1d91a5456c7556e6274f8c3a9 (patch)
tree18d069a4512cec4fca1c93964adcb039b9ee6167 /src/main/java/io/trygvis/esper/testing/web/resource/JenkinsResource.java
parent84fb49088a14cff8b453e0e32f6ad7007eb2184a (diff)
downloadesper-testing-35ba1a6f765f72a1d91a5456c7556e6274f8c3a9.tar.gz
esper-testing-35ba1a6f765f72a1d91a5456c7556e6274f8c3a9.tar.bz2
esper-testing-35ba1a6f765f72a1d91a5456c7556e6274f8c3a9.tar.xz
esper-testing-35ba1a6f765f72a1d91a5456c7556e6274f8c3a9.zip
o Moving Jenkins XML objects and parsing to it's own package.
o Removing fields from JenkinsBuild that's read from the XML later on.
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/web/resource/JenkinsResource.java')
-rwxr-xr-x[-rw-r--r--]src/main/java/io/trygvis/esper/testing/web/resource/JenkinsResource.java26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/web/resource/JenkinsResource.java b/src/main/java/io/trygvis/esper/testing/web/resource/JenkinsResource.java
index 292be71..aab108b 100644..100755
--- a/src/main/java/io/trygvis/esper/testing/web/resource/JenkinsResource.java
+++ b/src/main/java/io/trygvis/esper/testing/web/resource/JenkinsResource.java
@@ -1,17 +1,21 @@
package io.trygvis.esper.testing.web.resource;
+import fj.*;
+import fj.data.*;
import io.trygvis.esper.testing.*;
import io.trygvis.esper.testing.jenkins.*;
+import io.trygvis.esper.testing.jenkins.xml.*;
+import io.trygvis.esper.testing.util.*;
import io.trygvis.esper.testing.util.sql.*;
import io.trygvis.esper.testing.web.*;
import org.joda.time.*;
-import javax.ws.rs.*;
-import javax.ws.rs.core.*;
import java.net.*;
import java.sql.*;
import java.util.*;
import java.util.List;
+import javax.ws.rs.*;
+import javax.ws.rs.core.*;
@Path("/resource/jenkins")
public class JenkinsResource extends AbstractResource {
@@ -102,6 +106,8 @@ public class JenkinsResource extends AbstractResource {
protected abstract T run() throws SQLException;
+ private final XmlParser xmlParser = new XmlParser();
+
public T run(Daos daos) throws SQLException {
this.daos = daos;
return run();
@@ -120,22 +126,30 @@ public class JenkinsResource extends AbstractResource {
}
};
- protected SqlF<JenkinsJobDto,JenkinsJobJson> getJenkinsJobJson = new SqlF<JenkinsJobDto, JenkinsJobJson>() {
+ protected SqlF<JenkinsJobDto, JenkinsJobJson> getJenkinsJobJson = new SqlF<JenkinsJobDto, JenkinsJobJson>() {
public JenkinsJobJson apply(JenkinsJobDto job) throws SQLException {
return new JenkinsJobJson(job.uuid, job.createdDate, job.server, job.displayName.toNull());
}
};
- protected SqlF<JenkinsJobDto,JenkinsJobJson> getJenkinsJobJsonDetail = new SqlF<JenkinsJobDto, JenkinsJobJson>() {
+ protected SqlF<JenkinsJobDto, JenkinsJobJson> getJenkinsJobJsonDetail = new SqlF<JenkinsJobDto, JenkinsJobJson>() {
public JenkinsJobJson apply(JenkinsJobDto job) throws SQLException {
int buildCount = daos.jenkinsDao.selectBuildCountByJob(job.uuid);
return new JenkinsJobJson(job.uuid, job.createdDate, job.server, job.displayName.toNull(), buildCount);
}
};
- protected SqlF<JenkinsBuildDto,JenkinsBuildJson> getJenkinsBuildJson = new SqlF<JenkinsBuildDto, JenkinsBuildJson>() {
+ protected SqlF<JenkinsBuildDto, JenkinsBuildJson> getJenkinsBuildJson = new SqlF<JenkinsBuildDto, JenkinsBuildJson>() {
public JenkinsBuildJson apply(JenkinsBuildDto dto) throws SQLException {
- return new JenkinsBuildJson(dto.uuid, dto.createdDate, dto.result);
+ Option<String> result = daos.fileDao.load(dto.file).toFj().
+ bind(xmlParser.parseDocument).
+ bind(JenkinsBuildXml.parse).map(new F<JenkinsBuildXml, String>() {
+ public String f(JenkinsBuildXml xml) {
+ return xml.result.orSome("unknown");
+ }
+ });
+
+ return new JenkinsBuildJson(dto.uuid, dto.createdDate, result.orSome("unknown"));
}
};
}