提交 f484daf0 编写于 作者: A Andrew Bayer

Merge pull request #1033 from daniel-beck/filter-descriptors

[JENKINS-20739] Filter descriptors before adding them to hetero-list
......@@ -9,6 +9,9 @@ import jenkins.model.Jenkins;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;
import java.util.logging.Level;
/**
* Hides {@link Descriptor}s from users.
*
......@@ -18,6 +21,8 @@ import java.util.List;
*/
public abstract class DescriptorVisibilityFilter implements ExtensionPoint {
private static final Logger LOGGER = Logger.getLogger(DescriptorVisibilityFilter.class.getName());
/**
* Decides if the given descriptor should be visible to the user.
*
......@@ -46,9 +51,19 @@ public abstract class DescriptorVisibilityFilter implements ExtensionPoint {
OUTER:
for (T d : source) {
if (LOGGER.isLoggable(Level.FINE)) {
LOGGER.fine("Determining visibility of " + d + " in context " + context);
}
for (DescriptorVisibilityFilter f : filters) {
if (!f.filter(context,d))
if (LOGGER.isLoggable(Level.FINER)) {
LOGGER.finer("Querying " + f + " for visibility of " + d + " in " + context);
}
if (!f.filter(context,d)) {
if (LOGGER.isLoggable(Level.CONFIG)) {
LOGGER.config("Filter " + f + " hides " + d + " in context " + context);
}
continue OUTER; // veto-ed. not shown
}
}
r.add(d);
}
......
......@@ -126,7 +126,8 @@ THE SOFTWARE.
<div class="prototypes to-be-removed">
<!-- render one prototype for each type -->
<j:set var="instance" value="${null}" />
<j:forEach var="descriptor" items="${attrs.descriptors}" varStatus="loop">
<j:set var="descriptors" value="${h.filterDescriptors(it,attrs.descriptors)}" />
<j:forEach var="descriptor" items="${descriptors}" varStatus="loop">
<div name="${attrs.name}" title="${descriptor.displayName}" tooltip="${descriptor.tooltip}" descriptorId="${descriptor.id}">
<j:set var="capture" value="${attrs.capture?:''}" />
<local:body deleteCaption="${attrs.deleteCaption}">
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册