package hudson.plugins.emailext.plugins.content;
import hudson.model.Action;
import hudson.model.Run;
import hudson.plugins.analysis.core.AbstractResultAction;
import hudson.plugins.analysis.core.MavenResultAction;
import java.util.ArrayList;
import java.util.List;
/**
* Provides some helper methods to integrate the static analysis plug-ins into
* email-ext. Methods of this class will throw {@link ClassNotFoundException} if
* the analysis-core plug-in is not installed.
*
* @author Ulli Hafner
*/
public class StaticAnalysisUtilities {
/**
* Returns all build actions that derive from {@link AbstractResultAction}.
* Every action represents a single analysis result.
*
* @param build the build to get the actions for
* @return The static analysis actions for the specified build. The returned
* list might be empty if there are no such actions.
*/
public List<Action> getActions(Run<?, ?> build) {
ArrayList<Action> actions = new ArrayList<>();
for (Action action : build.getActions(Action.class)) {
if (AbstractResultAction.class.isInstance(action) || MavenResultAction.class.isInstance(action)) {
actions.add(action);
}
}
return actions;
}
}