in src/main/java/com/googlesource/gerrit/plugins/findowners/Action.java [199:225]
public Description getDescription(RevisionResource resource) {
Change change = resource.getChangeResource().getChange();
ChangeData changeData = null;
try {
changeData = changeDataFactory.create(change);
if (changeData.change().getDest().branch() == null) {
if (!Checker.isExemptFromOwnerApproval(changeData)) {
logger.atSevere().log("Cannot get branch of change: %d", changeData.getId().get());
}
return null; // no "Find Owners" button
}
Status status = resource.getChange().getStatus();
// Commit message is not used to enable/disable "Find Owners".
boolean needFindOwners =
userProvider != null
&& userProvider.get() instanceof IdentifiedUser
&& status != Status.ABANDONED
&& status != Status.MERGED;
return new Description()
.setLabel("Find Owners")
.setTitle("Find owners to add to Reviewers list")
.setVisible(needFindOwners);
} catch (StorageException e) {
logger.atSevere().withCause(e).log("Exception for %s", Config.getChangeId(changeData));
throw new IllegalStateException(e);
}
}