ChangeHook now accepts CurrentUser for filtering
ChangeHook previously enforced Implementations to use IdentifiedUser to filter out events. This made it hard for plug-ins to create virtual users for filtering out events based on group visibility. Change-Id: Ibf48467410528e3715381e11cd88ad164cbd046a
This commit is contained in:
committed by
David Pursehouse
parent
ae36719784
commit
a1f75d0f69
@@ -28,7 +28,7 @@ import com.google.gerrit.reviewdb.client.Change;
|
||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
import com.google.gerrit.reviewdb.client.Project;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.account.AccountCache;
|
||||
import com.google.gerrit.server.account.AccountState;
|
||||
import com.google.gerrit.server.config.AnonymousCowardName;
|
||||
@@ -101,9 +101,9 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
|
||||
|
||||
private static class ChangeListenerHolder {
|
||||
final ChangeListener listener;
|
||||
final IdentifiedUser user;
|
||||
final CurrentUser user;
|
||||
|
||||
ChangeListenerHolder(ChangeListener l, IdentifiedUser u) {
|
||||
ChangeListenerHolder(ChangeListener l, CurrentUser u) {
|
||||
listener = l;
|
||||
user = u;
|
||||
}
|
||||
@@ -277,7 +277,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addChangeListener(ChangeListener listener, IdentifiedUser user) {
|
||||
public void addChangeListener(ChangeListener listener, CurrentUser user) {
|
||||
listeners.put(listener, new ChangeListenerHolder(listener, user));
|
||||
}
|
||||
|
||||
@@ -720,7 +720,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
|
||||
fireEventForUnrestrictedListeners( event );
|
||||
}
|
||||
|
||||
private boolean isVisibleTo(Change change, IdentifiedUser user, ReviewDb db) throws OrmException {
|
||||
private boolean isVisibleTo(Change change, CurrentUser user, ReviewDb db) throws OrmException {
|
||||
final ProjectState pe = projectCache.get(change.getProject());
|
||||
if (pe == null) {
|
||||
return false;
|
||||
@@ -729,7 +729,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
|
||||
return pc.controlFor(change).isVisible(db);
|
||||
}
|
||||
|
||||
private boolean isVisibleTo(Branch.NameKey branchName, IdentifiedUser user) {
|
||||
private boolean isVisibleTo(Branch.NameKey branchName, CurrentUser user) {
|
||||
final ProjectState pe = projectCache.get(branchName.getParentKey());
|
||||
if (pe == null) {
|
||||
return false;
|
||||
|
||||
@@ -22,7 +22,7 @@ import com.google.gerrit.reviewdb.client.Change;
|
||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
import com.google.gerrit.reviewdb.client.Project;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.events.ChangeEvent;
|
||||
import com.google.gwtorm.server.OrmException;
|
||||
|
||||
@@ -34,7 +34,7 @@ import java.util.Set;
|
||||
|
||||
/** Invokes hooks on server actions. */
|
||||
public interface ChangeHooks {
|
||||
public void addChangeListener(ChangeListener listener, IdentifiedUser user);
|
||||
public void addChangeListener(ChangeListener listener, CurrentUser user);
|
||||
|
||||
public void removeChangeListener(ChangeListener listener);
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ import com.google.gerrit.reviewdb.client.Change;
|
||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
import com.google.gerrit.reviewdb.client.Project;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.events.ChangeEvent;
|
||||
|
||||
import org.eclipse.jgit.lib.ObjectId;
|
||||
@@ -34,7 +34,7 @@ import java.util.Set;
|
||||
/** Does not invoke hooks. */
|
||||
public final class DisabledChangeHooks implements ChangeHooks {
|
||||
@Override
|
||||
public void addChangeListener(ChangeListener listener, IdentifiedUser user) {
|
||||
public void addChangeListener(ChangeListener listener, CurrentUser user) {
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user