From e0f0cd6762c80ee19415b6eab6f870644e786fb5 Mon Sep 17 00:00:00 2001 From: kohsuke Date: Wed, 5 Mar 2008 02:03:49 +0000 Subject: [PATCH] Applied a patch for #1174, but after a refactoring to reuse the jelly fragment. git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@7320 71c3de6d-444a-0410-be80-ed276b4c234a --- core/src/main/java/hudson/model/Computer.java | 4 ++ core/src/main/java/hudson/model/View.java | 4 ++ core/src/main/java/hudson/util/RunList.java | 19 +++++++- .../hudson/model/Computer/builds.jelly | 12 +++++ .../hudson/model/Computer/sidepanel.jelly | 1 + .../model/Slave/ComputerImpl/sidepanel.jelly | 1 + .../resources/hudson/model/User/builds.jelly | 40 +---------------- .../resources/hudson/model/View/builds.jelly | 12 +++++ .../hudson/model/View/sidepanel.jelly | 1 + .../resources/lib/hudson/buildListTable.jelly | 45 +++++++++++++++++++ .../hudson/buildListTable_de.properties} | 0 .../hudson/buildListTable_fr.properties} | 0 .../hudson/buildListTable_ja.properties} | 0 .../hudson/buildListTable_pt_BR.properties} | 0 14 files changed, 99 insertions(+), 40 deletions(-) create mode 100644 core/src/main/resources/hudson/model/Computer/builds.jelly create mode 100644 core/src/main/resources/hudson/model/View/builds.jelly create mode 100644 core/src/main/resources/lib/hudson/buildListTable.jelly rename core/src/main/resources/{hudson/model/User/builds_de.properties => lib/hudson/buildListTable_de.properties} (100%) rename core/src/main/resources/{hudson/model/User/builds_fr.properties => lib/hudson/buildListTable_fr.properties} (100%) rename core/src/main/resources/{hudson/model/User/builds_ja.properties => lib/hudson/buildListTable_ja.properties} (100%) rename core/src/main/resources/{hudson/model/User/builds_pt_BR.properties => lib/hudson/buildListTable_pt_BR.properties} (100%) diff --git a/core/src/main/java/hudson/model/Computer.java b/core/src/main/java/hudson/model/Computer.java index d85d38e588..0397033077 100644 --- a/core/src/main/java/hudson/model/Computer.java +++ b/core/src/main/java/hudson/model/Computer.java @@ -171,6 +171,10 @@ public abstract class Computer extends AbstractModelObject { public List getTiedJobs() { return getNode().getSelfLabel().getTiedJobs(); } + + public RunList getBuilds() { + return new RunList(Hudson.getInstance().getAllItems(Job.class)).node(getNode()); + } /** * Called to notify {@link Computer} that its corresponding {@link Node} diff --git a/core/src/main/java/hudson/model/View.java b/core/src/main/java/hudson/model/View.java index 0581ceb263..e4bac4b8d4 100644 --- a/core/src/main/java/hudson/model/View.java +++ b/core/src/main/java/hudson/model/View.java @@ -247,6 +247,10 @@ public abstract class View extends AbstractModelObject { public void doRssFailed( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException { rss(req, rsp, " failed builds", new RunList(this).failureOnly()); } + + public RunList getBuilds() { + return new RunList(this); + } private void rss(StaplerRequest req, StaplerResponse rsp, String suffix, RunList runs) throws IOException, ServletException { RSS.forwardToRss(getDisplayName()+ suffix, getUrl(), diff --git a/core/src/main/java/hudson/util/RunList.java b/core/src/main/java/hudson/util/RunList.java index 67dc8199b1..7ea765a294 100644 --- a/core/src/main/java/hudson/util/RunList.java +++ b/core/src/main/java/hudson/util/RunList.java @@ -1,10 +1,12 @@ package hudson.util; +import hudson.model.AbstractBuild; +import hudson.model.Item; import hudson.model.Job; +import hudson.model.Node; import hudson.model.Result; import hudson.model.Run; import hudson.model.View; -import hudson.model.Item; import java.util.ArrayList; import java.util.Calendar; @@ -59,6 +61,21 @@ public class RunList extends ArrayList { return this; } + /** + * Filter the list to builds on a single node only + */ + public RunList node(Node node) { + for (Iterator itr = iterator(); itr.hasNext();) { + Run r = itr.next(); + if (r instanceof AbstractBuild) { + if (!((AbstractBuild) r).getBuiltOn().equals(node)) { + itr.remove(); + } + } + } + return this; + } + /** * Filter the list to regression builds only. */ diff --git a/core/src/main/resources/hudson/model/Computer/builds.jelly b/core/src/main/resources/hudson/model/Computer/builds.jelly new file mode 100644 index 0000000000..97346738ed --- /dev/null +++ b/core/src/main/resources/hudson/model/Computer/builds.jelly @@ -0,0 +1,12 @@ + + + + +

+ + Build History on ${it.displayName} +

+ +
+
+
diff --git a/core/src/main/resources/hudson/model/Computer/sidepanel.jelly b/core/src/main/resources/hudson/model/Computer/sidepanel.jelly index d0e198c16b..6b57c2ee0f 100644 --- a/core/src/main/resources/hudson/model/Computer/sidepanel.jelly +++ b/core/src/main/resources/hudson/model/Computer/sidepanel.jelly @@ -6,6 +6,7 @@ + \ No newline at end of file diff --git a/core/src/main/resources/hudson/model/Slave/ComputerImpl/sidepanel.jelly b/core/src/main/resources/hudson/model/Slave/ComputerImpl/sidepanel.jelly index e0cb9fa665..bf4d3a6cb7 100644 --- a/core/src/main/resources/hudson/model/Slave/ComputerImpl/sidepanel.jelly +++ b/core/src/main/resources/hudson/model/Slave/ComputerImpl/sidepanel.jelly @@ -7,6 +7,7 @@ + diff --git a/core/src/main/resources/hudson/model/User/builds.jelly b/core/src/main/resources/hudson/model/User/builds.jelly index 8aee85de02..480e9b025f 100644 --- a/core/src/main/resources/hudson/model/User/builds.jelly +++ b/core/src/main/resources/hudson/model/User/builds.jelly @@ -6,45 +6,7 @@ Builds for ${it} - - - - - - - - - - - - - - - - - - - - -
{$%Build}${%Date}${%Status}
- - ${b.iconColor.description} - - - ${b.project.name} - - #${b.number} - - ${b.timestampString} - - - - - - -
- + \ No newline at end of file diff --git a/core/src/main/resources/hudson/model/View/builds.jelly b/core/src/main/resources/hudson/model/View/builds.jelly new file mode 100644 index 0000000000..6e6f1a1062 --- /dev/null +++ b/core/src/main/resources/hudson/model/View/builds.jelly @@ -0,0 +1,12 @@ + + + + +

+ + Build History of ${it.displayName} +

+ +
+
+
diff --git a/core/src/main/resources/hudson/model/View/sidepanel.jelly b/core/src/main/resources/hudson/model/View/sidepanel.jelly index cc259842dc..e001314b7a 100644 --- a/core/src/main/resources/hudson/model/View/sidepanel.jelly +++ b/core/src/main/resources/hudson/model/View/sidepanel.jelly @@ -15,6 +15,7 @@ +
diff --git a/core/src/main/resources/lib/hudson/buildListTable.jelly b/core/src/main/resources/lib/hudson/buildListTable.jelly new file mode 100644 index 0000000000..9006fd70fc --- /dev/null +++ b/core/src/main/resources/lib/hudson/buildListTable.jelly @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + +
${%Build}${%Date}${%Status}
+ + ${b.iconColor.description} + + + ${b.project.name} + + #${b.number} + + ${b.timestampString} + + + + + + +
+ +
\ No newline at end of file diff --git a/core/src/main/resources/hudson/model/User/builds_de.properties b/core/src/main/resources/lib/hudson/buildListTable_de.properties similarity index 100% rename from core/src/main/resources/hudson/model/User/builds_de.properties rename to core/src/main/resources/lib/hudson/buildListTable_de.properties diff --git a/core/src/main/resources/hudson/model/User/builds_fr.properties b/core/src/main/resources/lib/hudson/buildListTable_fr.properties similarity index 100% rename from core/src/main/resources/hudson/model/User/builds_fr.properties rename to core/src/main/resources/lib/hudson/buildListTable_fr.properties diff --git a/core/src/main/resources/hudson/model/User/builds_ja.properties b/core/src/main/resources/lib/hudson/buildListTable_ja.properties similarity index 100% rename from core/src/main/resources/hudson/model/User/builds_ja.properties rename to core/src/main/resources/lib/hudson/buildListTable_ja.properties diff --git a/core/src/main/resources/hudson/model/User/builds_pt_BR.properties b/core/src/main/resources/lib/hudson/buildListTable_pt_BR.properties similarity index 100% rename from core/src/main/resources/hudson/model/User/builds_pt_BR.properties rename to core/src/main/resources/lib/hudson/buildListTable_pt_BR.properties -- GitLab