Skip to content

Commit

Permalink
Merge pull request #19 from jenkinsci/improve-viewgroup-support
Browse files Browse the repository at this point in the history
[JENKINS-23428] Better support for ViewGroup
  • Loading branch information
emsa23 committed Jun 14, 2014
2 parents 895c6d7 + 81d7634 commit f373ce2
Showing 1 changed file with 21 additions and 2 deletions.
23 changes: 21 additions & 2 deletions src/main/java/jenkins/advancedqueue/PriorityConfiguration.java
Expand Up @@ -33,6 +33,7 @@
import hudson.model.Queue;
import hudson.model.RootAction;
import hudson.model.TopLevelItem;
import hudson.model.ViewGroup;
import hudson.model.View;
import hudson.security.ACL;
import hudson.security.Permission;
Expand Down Expand Up @@ -263,7 +264,7 @@ public JobGroup getJobGroup(PriorityConfigurationCallback priorityCallback, Job<
priorityCallback.addDecisionLog(1, "Evaluating View [" + view.getViewName() + "] ...");
if (view.getViewName().equals(jobGroup.getView())) {
// Now check if the item is actually in the view
if (view.contains((TopLevelItem) job)) {
if (isJobInView(job, view)) {
// If filtering is not used use the priority
// If filtering is used but the pattern is empty regard
// it as a match all
Expand Down Expand Up @@ -295,7 +296,25 @@ public JobGroup getJobGroup(PriorityConfigurationCallback priorityCallback, Job<
}
return null;
}


private boolean isJobInView(Job<?, ?> job, View view) {
if(view instanceof ViewGroup) {
return isJobInViewGroup(job, (ViewGroup) view);
} else {
return view.contains((TopLevelItem) job);
}
}

private boolean isJobInViewGroup(Job<?, ?> job, ViewGroup viewGroup) {
Collection<View> views = viewGroup.getViews();
for (View view : views) {
if(isJobInView(job, view)) {
return true;
}
}
return false;
}

private PriorityConfigurationCallback getPriorityForJobGroup(PriorityConfigurationCallback priorityCallback, JobGroup jobGroup, Queue.Item item) {
int priority = jobGroup.getPriority();
PriorityStrategy reason = null;
Expand Down

0 comments on commit f373ce2

Please sign in to comment.