diff --git a/core/src/main/java/hudson/console/ModelHyperlinkNote.java b/core/src/main/java/hudson/console/ModelHyperlinkNote.java index c389dfa3839830eb87c9180301a80a5f36562bde..cc3b8c3cb23bb51bfec1ee9cf59655ee75680ae4 100644 --- a/core/src/main/java/hudson/console/ModelHyperlinkNote.java +++ b/core/src/main/java/hudson/console/ModelHyperlinkNote.java @@ -54,6 +54,13 @@ public class ModelHyperlinkNote extends HyperlinkNote { return encodeTo("/computer/" + nodePath, node.getDisplayName()); } + /** + * @since TODO + */ + public static String encodeTo(Label label) { + return encodeTo("/" + label.getUrl(), label.getName()); + } + public static String encodeTo(String url, String text) { return HyperlinkNote.encodeTo(url, text, ModelHyperlinkNote::new); } diff --git a/core/src/main/java/hudson/model/queue/CauseOfBlockage.java b/core/src/main/java/hudson/model/queue/CauseOfBlockage.java index beb76b824a34b11729ea57fa3d71ab012d480b76..aea7889d3b762a3094d6f0f791eaca3321bf942c 100644 --- a/core/src/main/java/hudson/model/queue/CauseOfBlockage.java +++ b/core/src/main/java/hudson/model/queue/CauseOfBlockage.java @@ -151,6 +151,16 @@ public abstract class CauseOfBlockage { return Messages.Queue_AllNodesOffline(label.getName()); } } + + @Override + public void print(TaskListener listener) { + if (label.isEmpty()) { + listener.getLogger().println(Messages.Queue_LabelHasNoNodes(ModelHyperlinkNote.encodeTo(label))); + } else { + listener.getLogger().println(Messages.Queue_AllNodesOffline(ModelHyperlinkNote.encodeTo(label))); + } + } + } /** @@ -187,5 +197,11 @@ public abstract class CauseOfBlockage { public String getShortDescription() { return Messages.Queue_WaitingForNextAvailableExecutorOn(label.getName()); } + + @Override + public void print(TaskListener listener) { + listener.getLogger().println(Messages.Queue_WaitingForNextAvailableExecutorOn(ModelHyperlinkNote.encodeTo(label))); + } + } }