diff --git a/src/main/java/com/meetme/plugins/jira/gerrit/tabpanel/GerritReviewsTabPanel.java b/src/main/java/com/meetme/plugins/jira/gerrit/tabpanel/GerritReviewsTabPanel.java index 1ba26c5..3de7012 100644 --- a/src/main/java/com/meetme/plugins/jira/gerrit/tabpanel/GerritReviewsTabPanel.java +++ b/src/main/java/com/meetme/plugins/jira/gerrit/tabpanel/GerritReviewsTabPanel.java @@ -41,6 +41,8 @@ import java.util.ArrayList; import java.util.List; +import static org.apache.commons.collections.CollectionUtils.isEmpty; + /** * An {@link IssueTabPanel2 issue tab panel} for displaying all Gerrit code reviews related to this * issue. @@ -94,6 +96,9 @@ public ShowPanelReply showPanel(ShowPanelRequest arg0) { isShowing = false; } + if (configuration.getUseGerritProjectWhitelist() && ! isGerritProject(arg0.issue())) + isShowing = false; + return ShowPanelReply.create(isShowing); } @@ -166,4 +171,12 @@ private void setUsersForChangeApprovals(GerritChange change) { } } } + + private boolean isGerritProject(final Issue issue) { + if (issue.getProjectId() == null) + return false; + + return !isEmpty(configuration.getIdsOfKnownGerritProjects()) && + configuration.getIdsOfKnownGerritProjects().contains(issue.getProjectId().toString()); + } } diff --git a/src/main/java/com/meetme/plugins/jira/gerrit/tabpanel/SubtaskReviewsTabPanel.java b/src/main/java/com/meetme/plugins/jira/gerrit/tabpanel/SubtaskReviewsTabPanel.java index daec05a..721705b 100644 --- a/src/main/java/com/meetme/plugins/jira/gerrit/tabpanel/SubtaskReviewsTabPanel.java +++ b/src/main/java/com/meetme/plugins/jira/gerrit/tabpanel/SubtaskReviewsTabPanel.java @@ -30,6 +30,8 @@ import com.meetme.plugins.jira.gerrit.data.dto.GerritChange; import com.sonyericsson.hudson.plugins.gerrit.gerritevents.GerritQueryException; +import static org.apache.commons.collections.CollectionUtils.isEmpty; + public class SubtaskReviewsTabPanel extends AbstractIssueTabPanel2 implements IssueTabPanel2 { private final GerritConfiguration configuration; private final IssueReviewsManager reviewsManager; @@ -66,6 +68,9 @@ public ShowPanelReply showPanel(ShowPanelRequest request) { if (isConfigurationReady()) { Collection subtasks = request.issue().getSubTaskObjects(); show = subtasks != null && subtasks.size() > 0; + + if (configuration.getUseGerritProjectWhitelist() && ! isGerritProject(request.issue())) + show = false; } return ShowPanelReply.create(show); @@ -81,4 +86,12 @@ private boolean isConfigurationReady() { return configuration != null && configuration.getSshHostname() != null && configuration.getSshUsername() != null && configuration.getSshPrivateKey() != null && configuration.getSshPrivateKey().exists(); } + + private boolean isGerritProject(final Issue issue) { + if (issue.getProjectId() == null) + return false; + + return !isEmpty(configuration.getIdsOfKnownGerritProjects()) && + configuration.getIdsOfKnownGerritProjects().contains(issue.getProjectId().toString()); + } }