aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/esper/testing/jenkins
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2012-12-08 10:52:00 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2012-12-08 10:52:00 +0100
commit164ce072f94a0820d6c2256aab8c6ee8d90d8eee (patch)
tree3c2a5b6ef68625393368d2fba444565b0bd2ed09 /src/main/java/io/trygvis/esper/testing/jenkins
parent5d56a80555ebe5a419dae3b1b849ffa78449b410 (diff)
downloadesper-testing-164ce072f94a0820d6c2256aab8c6ee8d90d8eee.tar.gz
esper-testing-164ce072f94a0820d6c2256aab8c6ee8d90d8eee.tar.bz2
esper-testing-164ce072f94a0820d6c2256aab8c6ee8d90d8eee.tar.xz
esper-testing-164ce072f94a0820d6c2256aab8c6ee8d90d8eee.zip
o Creating a flag to disable jenkins servers from being polled.
o Using proper logging.
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/jenkins')
-rwxr-xr-xsrc/main/java/io/trygvis/esper/testing/jenkins/JenkinsClient.java72
-rw-r--r--src/main/java/io/trygvis/esper/testing/jenkins/JenkinsDao.java7
-rwxr-xr-xsrc/main/java/io/trygvis/esper/testing/jenkins/JenkinsImporter.java2
-rw-r--r--src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServer.java16
4 files changed, 53 insertions, 44 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 40d7618..ecd8288 100755
--- a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsClient.java
+++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsClient.java
@@ -13,6 +13,7 @@ import org.codehaus.httpcache4j.cache.*;
import org.jdom2.Document;
import org.jdom2.Element;
import org.joda.time.DateTime;
+import org.slf4j.*;
import java.io.*;
import java.net.*;
@@ -24,6 +25,7 @@ import static io.trygvis.esper.testing.Util.*;
import static org.apache.commons.lang.StringUtils.*;
public class JenkinsClient {
+ private static final Logger logger = LoggerFactory.getLogger(JenkinsClient.class);
private final XmlHttpClient xmlHttpClient;
private final HttpClient<List<JenkinsEntryXml>> jenkinsEntryXmlClient;
private final Parser parser;
@@ -101,7 +103,7 @@ public class JenkinsClient {
case "mavenModuleSet":
return some(JenkinsJobXml.parse(uri, JenkinsJobType.MAVEN, root));
default:
- System.out.println("Unknown project type: " + name);
+ logger.warn("Unknown project type: " + name);
return Option.none();
}
}
@@ -124,11 +126,43 @@ public class JenkinsClient {
case "freeStyleBuild":
return JenkinsBuildXml.parse(root);
default:
- System.out.println("Unknown build type: " + name);
+ logger.warn("Unknown build type: " + name);
return Option.none();
}
}
-}
+
+ public static class JenkinsBuildXml {
+
+ public final URI uri;
+ public final int number;
+ public final String result;
+ public final int duration;
+ public final long timestamp;
+
+ JenkinsBuildXml(URI uri, int number, String result, int duration, long timestamp) {
+ this.uri = uri;
+ this.number = number;
+ this.result = result;
+ this.duration = duration;
+ this.timestamp = timestamp;
+ }
+
+ public static Option<JenkinsBuildXml> parse(Element root) {
+
+ Option<URI> uri = childText(root, "url").bind(Util.parseUri);
+ Option<Integer> number = childText(root, "number").bind(Util.parseInt);
+ Option<String> result = childText(root, "result");
+ Option<Integer> duration = childText(root, "duration").bind(Util.parseInt);
+ Option<Long> timestamp = childText(root, "timestamp").bind(Util.parseLong);
+
+ if(uri.isNone() || number.isNone() || result.isNone() || duration.isNone() || timestamp.isNone()) {
+ logger.warn("Missing required fields.");
+ return none();
+ }
+
+ return some(new JenkinsBuildXml(uri.some(), number.some(), result.some(), duration.some(), timestamp.some()));
+ }
+ }}
class JenkinsEntryXml {
public final String id;
@@ -243,35 +277,3 @@ class JenkinsJobXml {
}
}
-class JenkinsBuildXml {
-
- public final URI uri;
- public final int number;
- public final String result;
- public final int duration;
- public final long timestamp;
-
- JenkinsBuildXml(URI uri, int number, String result, int duration, long timestamp) {
- this.uri = uri;
- this.number = number;
- this.result = result;
- this.duration = duration;
- this.timestamp = timestamp;
- }
-
- public static Option<JenkinsBuildXml> parse(Element root) {
-
- Option<URI> uri = childText(root, "url").bind(Util.parseUri);
- Option<Integer> number = childText(root, "number").bind(Util.parseInt);
- Option<String> result = childText(root, "result");
- Option<Integer> duration = childText(root, "duration").bind(Util.parseInt);
- Option<Long> timestamp = childText(root, "timestamp").bind(Util.parseLong);
-
- if(uri.isNone() || number.isNone() || result.isNone() || duration.isNone() || timestamp.isNone()) {
- System.out.println("Missing required fields.");
- return none();
- }
-
- return some(new JenkinsBuildXml(uri.some(), number.some(), result.some(), duration.some(), timestamp.some()));
- }
-}
diff --git a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsDao.java b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsDao.java
index 05ed567..a063180 100644
--- a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsDao.java
+++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsDao.java
@@ -54,8 +54,11 @@ public class JenkinsDao {
new DateTime(rs.getTimestamp(i).getTime()));
}
- public List<JenkinsServerDto> selectServer() throws SQLException {
- try (PreparedStatement s = c.prepareStatement("SELECT " + JENKINS_SERVER + " FROM jenkins_server")) {
+ public List<JenkinsServerDto> selectServer(boolean enabledOnly) throws SQLException {
+ String where = "WHERE ";
+ where += enabledOnly ? "enabled=true" : "";
+
+ try (PreparedStatement s = c.prepareStatement("SELECT " + JENKINS_SERVER + " FROM jenkins_server " + where)) {
ResultSet rs = s.executeQuery();
List<JenkinsServerDto> servers = new ArrayList<>();
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 c273d8a..ffe1421 100755
--- a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsImporter.java
+++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsImporter.java
@@ -41,7 +41,7 @@ public class JenkinsImporter {
java.util.List<JenkinsServerDto> newKeys;
try (Connection c = boneCp.getConnection()) {
- newKeys = new JenkinsDao(c).selectServer();
+ newKeys = new JenkinsDao(c).selectServer(true);
}
serverManager.update(newKeys);
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 9d12456..a89288d 100644
--- a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServer.java
+++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsServer.java
@@ -2,13 +2,17 @@ package io.trygvis.esper.testing.jenkins;
import fj.data.*;
import io.trygvis.esper.testing.object.*;
+import org.slf4j.*;
import java.net.*;
import java.sql.*;
-import java.util.*;
import java.util.List;
+import java.util.*;
+
+import static io.trygvis.esper.testing.jenkins.JenkinsClient.*;
public class JenkinsServer implements TransactionalActor {
+ private static final Logger logger = LoggerFactory.getLogger(JenkinsServer.class);
private final JenkinsClient client;
public final URI uri;
@@ -27,7 +31,7 @@ public class JenkinsServer implements TransactionalActor {
List<JenkinsEntryXml> list = option.some();
- System.out.println("Got " + list.size() + " entries.");
+ logger.info("Got " + list.size() + " entries.");
int i = 0;
@@ -35,11 +39,11 @@ public class JenkinsServer implements TransactionalActor {
Option<JenkinsBuildDto> o = dao.selectBuildByEntryId(entry.id);
if(o.isSome()) {
- System.out.println("Old event: " + entry.id);
+ logger.info("Old event: " + entry.id);
continue;
}
- System.out.println("New event: " + entry.id + ", fetching build info");
+ logger.info("New event: " + entry.id + ", fetching build info");
i++;
@@ -53,13 +57,13 @@ public class JenkinsServer implements TransactionalActor {
UUID uuid = dao.insertBuild(entry.id, build.uri, build.result, build.number, build.duration, build.timestamp);
- System.out.println("Build inserted: " + uuid + ", i=" + i);
+ logger.info("Build inserted: " + uuid + ", i=" + i);
// if(i == 1) {
// break;
// }
}
- System.out.println("Inserted " + i + " new events.");
+ logger.info("Inserted " + i + " new events.");
}
}