aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXml.java
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2012-12-20 22:45:16 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2012-12-20 22:45:16 +0100
commit0cbc9933db10938a1e9c7f330188e40caec9550d (patch)
tree43941d0c254a83801032432c5abaad9f8841d676 /src/main/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXml.java
parentee86231bc83d50505fca356f808bc7d13a2c9502 (diff)
downloadesper-testing-0cbc9933db10938a1e9c7f330188e40caec9550d.tar.gz
esper-testing-0cbc9933db10938a1e9c7f330188e40caec9550d.tar.bz2
esper-testing-0cbc9933db10938a1e9c7f330188e40caec9550d.tar.xz
esper-testing-0cbc9933db10938a1e9c7f330188e40caec9550d.zip
o Storing jenkins_users.
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXml.java')
-rw-r--r--src/main/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXml.java41
1 files changed, 30 insertions, 11 deletions
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 169a65c..cb92736 100644
--- a/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXml.java
+++ b/src/main/java/io/trygvis/esper/testing/jenkins/JenkinsBuildXml.java
@@ -17,9 +17,7 @@ import fj.data.Option;
import io.trygvis.esper.testing.Util;
import static fj.data.List.iterableList;
-import static fj.data.Option.none;
-import static fj.data.Option.some;
-import static fj.data.Option.somes;
+import static fj.data.Option.*;
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;
@@ -109,16 +107,13 @@ public class JenkinsBuildXml {
public final String msg;
- /**
- * Only subversion has this field
- */
- public final Option<String> user;
+ public final Option<AuthorXml> author;
- public ChangeSetItemXml(String commitId, DateTime date, String msg, Option<String> user) {
+ public ChangeSetItemXml(String commitId, DateTime date, String msg, Option<AuthorXml> author) {
this.commitId = commitId;
this.date = date;
this.msg = msg;
- this.user = user;
+ this.author = author;
}
private static final F<String, Option<DateTime>> parseDate = new F<String, Option<DateTime>>() {
@@ -145,13 +140,37 @@ public class JenkinsBuildXml {
Option<String> commitId = childText(item, "commitId");
Option<DateTime> date = childText(item, "date").bind(parseDate);
Option<String> msg = childText(item, "msg");
- Option<String> user = childText(item, "user");
if (commitId.isNone() || date.isNone() || msg.isNone()) {
return none();
}
- return some(new ChangeSetItemXml(commitId.some(), date.some(), msg.some(), user));
+ Option<AuthorXml> author = fromNull(item.getChild("author")).bind(AuthorXml.parseAuthorXml);
+
+ return some(new ChangeSetItemXml(commitId.some(), date.some(), msg.some(), author));
+ }
+ };
+ }
+
+ public static class AuthorXml {
+ public final String absoluteUrl;
+ public final String fullName;
+
+ public AuthorXml(String absoluteUrl, String fullName) {
+ this.absoluteUrl = absoluteUrl;
+ this.fullName = fullName;
+ }
+
+ public static final F<Element, Option<AuthorXml>> parseAuthorXml = new F<Element, Option<AuthorXml>>() {
+ public Option<AuthorXml> f(Element element) {
+ Option<String> absoluteUrl = childText(element, "absoluteUrl");
+ Option<String> fullName = childText(element, "fullName");
+
+ if(absoluteUrl.isNone() || fullName.isNone()) {
+ return none();
+ }
+
+ return some(new AuthorXml(absoluteUrl.some(), fullName.some()));
}
};
}