Skip to content

Commit

Permalink
Merge branch 'JENKINS-8660'
Browse files Browse the repository at this point in the history
* JENKINS-8660:
  fail more gracefully if the header is not provided.
  JENKINS-8660: loading the build history cause an NPE on the History Widget
  • Loading branch information
kohsuke committed Feb 5, 2011
2 parents fd93cf0 + 329a020 commit 691f230
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 6 deletions.
6 changes: 6 additions & 0 deletions core/src/main/java/hudson/widgets/HistoryWidget.java
Expand Up @@ -27,16 +27,20 @@
import hudson.model.ModelObject;
import hudson.model.Run;
import org.kohsuke.stapler.Header;
import org.kohsuke.stapler.HttpResponses;
import org.kohsuke.stapler.Stapler;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;

/**
* Displays the history of records (normally {@link Run}s) on the side panel.
*
Expand Down Expand Up @@ -151,6 +155,8 @@ public void setTrimmed(boolean trimmed) {
public void doAjax( StaplerRequest req, StaplerResponse rsp,
@Header("n") String n ) throws IOException, ServletException {

if (n==null) throw HttpResponses.error(SC_BAD_REQUEST,new Exception("Missing the 'n' HTTP header"));

rsp.setContentType("text/html;charset=UTF-8");

// pick up builds to send back
Expand Down
17 changes: 11 additions & 6 deletions core/src/main/resources/hudson/widgets/HistoryWidget/index.jelly
Expand Up @@ -48,6 +48,13 @@ THE SOFTWARE.
<tr class="build-row">
<td colspan="3" align="right">
<script>
function replace(a, b) {
var p = a.parentNode;
var next = a.nextSibling;
p.removeChild(a);
p.insertBefore(b,next);
}

function loadAllBuildHistory() {
// first display the "loading..." icon
var box = $("loadAllBuildHistory");
Expand All @@ -59,14 +66,12 @@ THE SOFTWARE.
onComplete: function(rsp,_) {
<!-- neither outerHTML nor responseXML works in Firefox 2.0 -->
var hist = $$("buildHistory");
var p = hist.parentNode;
var next = hist.nextSibling;
p.removeChild(hist);

var div = document.createElement('div');
div.innerHTML = rsp.responseText;
var newhist = document.createElement('div');
newhist.innerHTML = rsp.responseText;
newhist.headers = hist.headers

p.insertBefore(div,next);
replace(hist, newhist);
}
});
}
Expand Down
3 changes: 3 additions & 0 deletions war/src/main/webapp/scripts/hudson-behavior.js
Expand Up @@ -1472,6 +1472,9 @@ function updateBuildHistory(ajaxUrl,nBuild) {

function updateBuilds() {
var bh = $('buildHistory');
if (bh.headers == null) {
// Yahoo.log("Missing headers in buildHistory element");
}
new Ajax.Request(ajaxUrl, {
requestHeaders: bh.headers,
onSuccess: function(rsp) {
Expand Down

0 comments on commit 691f230

Please sign in to comment.