diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2012-11-20 20:02:47 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2012-11-20 20:02:47 +0100 |
commit | cac8228f38136cfc41673458c58c25f168b1e1ff (patch) | |
tree | 34f482cfd506a3b217f9f62fc00719b7f36e4a9e /src/main/java/io/trygvis/esper/testing/jenkins | |
parent | 8596b9b566745ca65b3a75fe8b6d4c091369fedc (diff) | |
download | esper-testing-cac8228f38136cfc41673458c58c25f168b1e1ff.tar.gz esper-testing-cac8228f38136cfc41673458c58c25f168b1e1ff.tar.bz2 esper-testing-cac8228f38136cfc41673458c58c25f168b1e1ff.tar.xz esper-testing-cac8228f38136cfc41673458c58c25f168b1e1ff.zip |
o Adding BoneCP init to Config.
o Starting on an actor-like structure for the running jobs.
o Loading Nexus servers and group ids to look for from the database.
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/jenkins')
3 files changed, 14 insertions, 19 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsClient.java b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsClient.java index dac79d9..ed4cb59 100644 --- a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsClient.java +++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsClient.java @@ -3,9 +3,9 @@ package io.trygvis.esper.testing.jenkins; import fj.*; import fj.data.*; import io.trygvis.esper.testing.*; -import static io.trygvis.esper.testing.XmlUtil.*; +import static io.trygvis.esper.testing.Util.*; import io.trygvis.esper.testing.jenkins.JenkinsJobXml.*; -import static java.lang.Integer.*; +import static java.lang.Integer.parseInt; import static org.apache.commons.lang.StringUtils.*; import org.codehaus.httpcache4j.*; import org.codehaus.httpcache4j.cache.*; @@ -183,8 +183,8 @@ class JenkinsJobXml { public final URI url; public static F<Element, Option<BuildXml>> buildXml = new F<Element, Option<BuildXml>>() { public Option<BuildXml> f(Element element) { - Option<Integer> number = childText(element, "number").bind(XmlUtil.parseInt); - Option<URI> url = childText(element, "url").bind(parseUri); + Option<Integer> number = childText(element, "number").bind(Util.parseInt); + Option<URI> url = childText(element, "url").bind(Util.parseUri); if(number.isNone() || url.isNone()) { return Option.none(); @@ -205,9 +205,9 @@ class JenkinsJobXml { childText(root, "description"), childText(root, "displayName"), childText(root, "name"), - childText(root, "url").bind(parseUri).orSome(uri), + childText(root, "url").bind(Util.parseUri).orSome(uri), childText(root, "color"), - childText(root, "buildable").bind(parseBoolean).orSome(false), + childText(root, "buildable").bind(Util.parseBoolean).orSome(false), child(root, "lastBuild").bind(BuildXml.buildXml), child(root, "lastCompletedBuild").bind(BuildXml.buildXml), child(root, "lastFailedBuild").bind(BuildXml.buildXml), diff --git a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsImporter.java b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsImporter.java index 6a132d8..b929576 100755 --- a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsImporter.java +++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsImporter.java @@ -4,11 +4,13 @@ import fj.*; import fj.data.*; import io.trygvis.esper.testing.*; import io.trygvis.esper.testing.object.*; +import static java.lang.Thread.currentThread; import org.joda.time.*; import java.net.URI; import java.util.HashSet; import java.util.concurrent.*; +import java.util.concurrent.atomic.*; public class JenkinsImporter { public static void main(String[] args) throws Exception { @@ -28,19 +30,11 @@ public class JenkinsImporter { return new JenkinsServer(executorService, jenkinsClient, uri); } }); - final boolean[] shouldRun = new boolean[]{true}; - Runtime.getRuntime().addShutdownHook(new Thread() { - { - setName("Shutdown hoook"); - } + final AtomicBoolean shouldRun = new AtomicBoolean(true); + config.addShutdownHook(currentThread(), shouldRun); - public void run() { - shouldRun[0] = false; - } - }); - - while (shouldRun[0]) { + while (shouldRun.get()) { for (JenkinsServer server : serverManager.getObjects()) { Option<P2<JenkinsXml, LocalDateTime>> o = server.getJenkins(); @@ -52,7 +46,9 @@ public class JenkinsImporter { } } - Thread.sleep(1000); + synchronized (shouldRun) { + shouldRun.wait(1000); + } } serverManager.close(); diff --git a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServer.java b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServer.java index 47bb005..49b8995 100644 --- a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServer.java +++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServer.java @@ -12,7 +12,6 @@ import java.net.*; import java.util.*; import java.util.HashSet; import java.util.List; -import java.util.Set; import java.util.concurrent.*; public class JenkinsServer implements Closeable { |