From eaa0a2a0828037227312970668eba7bf951b4049 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 23 Dec 2012 00:21:57 +0100 Subject: o Storing the raw bytes with the parsed data from Jenkins. --- .../esper/testing/jenkins/JenkinsServerActor.java | 36 ++++++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) (limited to 'src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServerActor.java') diff --git a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServerActor.java b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServerActor.java index cf95c4e..32728a6 100644 --- a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServerActor.java +++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServerActor.java @@ -1,6 +1,8 @@ package io.trygvis.esper.testing.jenkins; +import fj.*; import fj.data.*; +import io.trygvis.esper.testing.core.db.*; import io.trygvis.esper.testing.util.object.*; import io.trygvis.esper.testing.util.sql.*; import org.slf4j.*; @@ -30,13 +32,18 @@ public class JenkinsServerActor implements TransactionalActor { long start = currentTimeMillis(); JenkinsDao dao = new JenkinsDao(c); - Option> option = client.fetchRss(URI.create(server.url.toASCIIString() + "/rssAll")); + FileDao fileDao = new FileDao(c); + + URI rssUrl = URI.create(server.url.toASCIIString() + "/rssAll"); + Option, byte[]>> option = client.fetchRss(rssUrl); if (option.isNone()) { return; } - List list = option.some(); + fileDao.store(rssUrl, "application/xml", option.some()._2()); + + List list = option.some()._1(); logger.info("Got " + list.size() + " entries."); @@ -54,18 +61,23 @@ public class JenkinsServerActor implements TransactionalActor { logger.debug("Build: " + entry.id + ", fetching info"); - Option buildXmlOption = client.fetchBuild(apiXml(entry.url)); + URI buildUrl = apiXml(entry.url); + + Option> buildXmlOption = client.fetchBuild(buildUrl); if (buildXmlOption.isNone()) { continue; } - JenkinsBuildXml build = buildXmlOption.some(); + JenkinsBuildXml build = buildXmlOption.some()._1(); - if(build.result.isNone()) { + if (build.result.isNone()) { logger.debug("Not done building, is not available."); continue; } + + fileDao.store(buildUrl, "application/xml", buildXmlOption.some()._2()); + String result = build.result.some(); // ----------------------------------------------------------------------- @@ -74,11 +86,11 @@ public class JenkinsServerActor implements TransactionalActor { Set users = new HashSet<>(); - if(build.changeSet.isSome()) { + if (build.changeSet.isSome()) { JenkinsBuildXml.ChangeSetXml changeSetXml = build.changeSet.some(); for (JenkinsBuildXml.ChangeSetItemXml item : changeSetXml.items) { - if(item.author.isNone()) { + if (item.author.isNone()) { continue; } @@ -86,7 +98,7 @@ public class JenkinsServerActor implements TransactionalActor { UUID uuid = authors.get(url); - if(uuid == null) { + if (uuid == null) { SqlOption userO = dao.selectUserByAbsoluteUrl(server.uuid, url); if (userO.isNone()) { logger.info("New user: {}", url); @@ -117,13 +129,17 @@ public class JenkinsServerActor implements TransactionalActor { } else { logger.info("New job: {}, fetching info", jobUrl); - Option jobXmlOption = client.fetchJob(apiXml(jobUrl)); + URI uri = apiXml(jobUrl); + + Option> jobXmlOption = client.fetchJob(uri); if (jobXmlOption.isNone()) { continue; } - JenkinsJobXml xml = jobXmlOption.some(); + fileDao.store(uri, "application/xml", jobXmlOption.some()._2()); + + JenkinsJobXml xml = jobXmlOption.some()._1(); job = dao.insertJob(server.uuid, xml.url, xml.type, xml.displayName); -- cgit v1.2.3