aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/esper/testing/jenkins
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2012-11-20 20:02:47 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2012-11-20 20:02:47 +0100
commitcac8228f38136cfc41673458c58c25f168b1e1ff (patch)
tree34f482cfd506a3b217f9f62fc00719b7f36e4a9e /src/main/java/io/trygvis/esper/testing/jenkins
parent8596b9b566745ca65b3a75fe8b6d4c091369fedc (diff)
downloadesper-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')
-rw-r--r--src/main/java/io/trygvis/esper/testing/jenkins/JenkinsClient.java12
-rwxr-xr-xsrc/main/java/io/trygvis/esper/testing/jenkins/JenkinsImporter.java20
-rw-r--r--src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServer.java1
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 {