Exclude poorly performing FlowGraphAction from action proxy results (#675)
This commit is contained in:
parent
fe65e25e6a
commit
f7b63b40b1
|
@ -26,6 +26,7 @@ import io.jenkins.blueocean.rest.model.BlueRunContainer;
|
|||
import io.jenkins.blueocean.rest.model.Container;
|
||||
import io.jenkins.blueocean.rest.model.Resource;
|
||||
import io.jenkins.blueocean.service.embedded.rest.AbstractPipelineImpl;
|
||||
import io.jenkins.blueocean.service.embedded.rest.ActionProxiesImpl;
|
||||
import io.jenkins.blueocean.service.embedded.rest.BlueFavoriteResolver;
|
||||
import io.jenkins.blueocean.service.embedded.rest.BluePipelineFactory;
|
||||
import io.jenkins.blueocean.service.embedded.rest.FavoriteImpl;
|
||||
|
@ -392,7 +393,7 @@ public class MultiBranchPipelineImpl extends BlueMultiBranchPipeline {
|
|||
|
||||
@Override
|
||||
public Collection<BlueActionProxy> getActions() {
|
||||
return PipelineImpl.getActionProxies(mbp.getAllActions(), this);
|
||||
return ActionProxiesImpl.getActionProxies(mbp.getAllActions(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -7,6 +7,7 @@ import io.jenkins.blueocean.rest.model.BluePipelineNode;
|
|||
import io.jenkins.blueocean.rest.model.BluePipelineStep;
|
||||
import io.jenkins.blueocean.rest.model.BluePipelineStepContainer;
|
||||
import io.jenkins.blueocean.rest.model.BlueRun;
|
||||
import io.jenkins.blueocean.service.embedded.rest.ActionProxiesImpl;
|
||||
import org.jenkinsci.plugins.workflow.graph.FlowNode;
|
||||
import org.jenkinsci.plugins.workflow.job.WorkflowRun;
|
||||
import org.kohsuke.stapler.HttpResponse;
|
||||
|
@ -101,7 +102,7 @@ public class PipelineNodeImpl extends BluePipelineNode {
|
|||
|
||||
@Override
|
||||
public Collection<BlueActionProxy> getActions() {
|
||||
return PipelineImpl.getActionProxies(node.getNode().getAllActions(), this);
|
||||
return ActionProxiesImpl.getActionProxies(node.getNode().getAllActions(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -11,6 +11,7 @@ import io.jenkins.blueocean.rest.model.BlueActionProxy;
|
|||
import io.jenkins.blueocean.rest.model.BlueInputStep;
|
||||
import io.jenkins.blueocean.rest.model.BluePipelineStep;
|
||||
import io.jenkins.blueocean.rest.model.BlueRun;
|
||||
import io.jenkins.blueocean.service.embedded.rest.ActionProxiesImpl;
|
||||
import io.jenkins.blueocean.service.embedded.rest.LogResource;
|
||||
import jenkins.model.Jenkins;
|
||||
import net.sf.json.JSONArray;
|
||||
|
@ -93,7 +94,7 @@ public class PipelineStepImpl extends BluePipelineStep {
|
|||
|
||||
@Override
|
||||
public Collection<BlueActionProxy> getActions() {
|
||||
return PipelineImpl.getActionProxies(node.getNode().getActions(), this);
|
||||
return ActionProxiesImpl.getActionProxies(node.getNode().getActions(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -109,7 +109,7 @@ public class AbstractPipelineImpl extends BluePipeline {
|
|||
|
||||
@Override
|
||||
public Collection<BlueActionProxy> getActions() {
|
||||
return getActionProxies(job.getAllActions(), this);
|
||||
return ActionProxiesImpl.getActionProxies(job.getAllActions(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -196,18 +196,6 @@ public class AbstractPipelineImpl extends BluePipeline {
|
|||
return pipelinePath.toString();
|
||||
}
|
||||
|
||||
public static Collection<BlueActionProxy> getActionProxies(List<? extends Action> actions, Reachable parent){
|
||||
List<BlueActionProxy> actionProxies = new ArrayList<>();
|
||||
for(Action action:actions){
|
||||
if(action == null){
|
||||
continue;
|
||||
}
|
||||
actionProxies.add(new ActionProxiesImpl(action, parent));
|
||||
}
|
||||
return actionProxies;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Container<Resource> getActivities() {
|
||||
return new Container<Resource>(){
|
||||
|
|
|
@ -147,7 +147,7 @@ public class AbstractRunImpl<T extends Run> extends BlueRun {
|
|||
}
|
||||
|
||||
public Collection<BlueActionProxy> getActions() {
|
||||
return AbstractPipelineImpl.getActionProxies(run.getAllActions(), this);
|
||||
return ActionProxiesImpl.getActionProxies(run.getAllActions(), this);
|
||||
}
|
||||
|
||||
public static BlueRun getBlueRun(Run r, Reachable parent){
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package io.jenkins.blueocean.service.embedded.rest;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Iterables;
|
||||
import hudson.model.Action;
|
||||
import io.jenkins.blueocean.rest.Reachable;
|
||||
import io.jenkins.blueocean.rest.hal.Link;
|
||||
|
@ -8,14 +11,18 @@ import org.kohsuke.stapler.export.ExportedBean;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Vivek Pandey
|
||||
*/
|
||||
public class ActionProxiesImpl extends BlueActionProxy {
|
||||
|
||||
private final Action action;
|
||||
private final Reachable parent;
|
||||
private static final Logger logger = LoggerFactory.getLogger(ActionProxiesImpl.class);
|
||||
private static final ImmutableSet<String> BANNED_ACTIONS = ImmutableSet.of("org.jenkinsci.plugins.workflow.job.views.FlowGraphAction");
|
||||
|
||||
public ActionProxiesImpl(Action action, Reachable parent) {
|
||||
this.action = action;
|
||||
|
@ -54,4 +61,21 @@ public class ActionProxiesImpl extends BlueActionProxy {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Collection<BlueActionProxy> getActionProxies(List<? extends Action> actions, Reachable parent){
|
||||
List<BlueActionProxy> actionProxies = new ArrayList<>();
|
||||
for(Action action : Iterables.filter(actions, new Predicate<Action>() {
|
||||
@Override
|
||||
public boolean apply(Action action) {
|
||||
return !BANNED_ACTIONS.contains(action.getClass().getName());
|
||||
}
|
||||
})){
|
||||
if(action == null){
|
||||
continue;
|
||||
}
|
||||
actionProxies.add(new ActionProxiesImpl(action, parent));
|
||||
}
|
||||
return actionProxies;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue