From c3730fc1cbad2f3747b14bab39beff90fbf66f72 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Wed, 12 Dec 2012 17:46:33 +0100 Subject: o Parsing out data from svn as well. --- .../trygvis/esper/testing/jenkins/JenkinsBuildXml.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXml.java b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXml.java index e80097b..169a65c 100755 --- a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXml.java +++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXml.java @@ -8,6 +8,7 @@ import org.jdom2.Element; import org.joda.time.DateTime; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; +import org.joda.time.format.ISODateTimeFormat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -20,6 +21,7 @@ import static fj.data.Option.none; import static fj.data.Option.some; import static fj.data.Option.somes; import static io.trygvis.esper.testing.Util.childText; +import static io.trygvis.esper.testing.Util.parseInt; import static io.trygvis.esper.testing.jenkins.JenkinsBuildXml.ChangeSetItemXml.parseChangeSetItem; import static io.trygvis.esper.testing.jenkins.JenkinsBuildXml.RevisionXml.parseRevision; @@ -120,13 +122,20 @@ public class JenkinsBuildXml { } private static final F> parseDate = new F>() { + // This variant is used by git DateTimeFormatter parser = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss Z"); + // and this by subversion + DateTimeFormatter parser2 = ISODateTimeFormat.dateTime(); public Option f(String s) { try { return some(parser.parseDateTime(s)); } catch (IllegalArgumentException e) { - return none(); + try { + return some(parser2.parseDateTime(s)); + } catch (IllegalArgumentException e2) { + return none(); + } } } }; @@ -150,9 +159,9 @@ public class JenkinsBuildXml { public static class RevisionXml { public final String module; - public final String revision; + public final int revision; - public RevisionXml(String module, String revision) { + public RevisionXml(String module, int revision) { this.module = module; this.revision = revision; } @@ -160,7 +169,7 @@ public class JenkinsBuildXml { public static final F> parseRevision = new F>() { public Option f(Element e) { Option module = childText(e, "module"); - Option revision = childText(e, "revision"); + Option revision = childText(e, "revision").bind(parseInt); if (module.isNone() || revision.isNone()) { return none(); -- cgit v1.2.3