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.PatchSet;
|
||||||
import com.google.gerrit.reviewdb.client.Project;
|
import com.google.gerrit.reviewdb.client.Project;
|
||||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
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.AccountCache;
|
||||||
import com.google.gerrit.server.account.AccountState;
|
import com.google.gerrit.server.account.AccountState;
|
||||||
import com.google.gerrit.server.config.AnonymousCowardName;
|
import com.google.gerrit.server.config.AnonymousCowardName;
|
||||||
@@ -101,9 +101,9 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
|
|||||||
|
|
||||||
private static class ChangeListenerHolder {
|
private static class ChangeListenerHolder {
|
||||||
final ChangeListener listener;
|
final ChangeListener listener;
|
||||||
final IdentifiedUser user;
|
final CurrentUser user;
|
||||||
|
|
||||||
ChangeListenerHolder(ChangeListener l, IdentifiedUser u) {
|
ChangeListenerHolder(ChangeListener l, CurrentUser u) {
|
||||||
listener = l;
|
listener = l;
|
||||||
user = u;
|
user = u;
|
||||||
}
|
}
|
||||||
@@ -277,7 +277,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addChangeListener(ChangeListener listener, IdentifiedUser user) {
|
public void addChangeListener(ChangeListener listener, CurrentUser user) {
|
||||||
listeners.put(listener, new ChangeListenerHolder(listener, user));
|
listeners.put(listener, new ChangeListenerHolder(listener, user));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -720,7 +720,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
|
|||||||
fireEventForUnrestrictedListeners( event );
|
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());
|
final ProjectState pe = projectCache.get(change.getProject());
|
||||||
if (pe == null) {
|
if (pe == null) {
|
||||||
return false;
|
return false;
|
||||||
@@ -729,7 +729,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
|
|||||||
return pc.controlFor(change).isVisible(db);
|
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());
|
final ProjectState pe = projectCache.get(branchName.getParentKey());
|
||||||
if (pe == null) {
|
if (pe == null) {
|
||||||
return false;
|
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.PatchSet;
|
||||||
import com.google.gerrit.reviewdb.client.Project;
|
import com.google.gerrit.reviewdb.client.Project;
|
||||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
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.gerrit.server.events.ChangeEvent;
|
||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ import java.util.Set;
|
|||||||
|
|
||||||
/** Invokes hooks on server actions. */
|
/** Invokes hooks on server actions. */
|
||||||
public interface ChangeHooks {
|
public interface ChangeHooks {
|
||||||
public void addChangeListener(ChangeListener listener, IdentifiedUser user);
|
public void addChangeListener(ChangeListener listener, CurrentUser user);
|
||||||
|
|
||||||
public void removeChangeListener(ChangeListener listener);
|
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.PatchSet;
|
||||||
import com.google.gerrit.reviewdb.client.Project;
|
import com.google.gerrit.reviewdb.client.Project;
|
||||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
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.gerrit.server.events.ChangeEvent;
|
||||||
|
|
||||||
import org.eclipse.jgit.lib.ObjectId;
|
import org.eclipse.jgit.lib.ObjectId;
|
||||||
@@ -34,7 +34,7 @@ import java.util.Set;
|
|||||||
/** Does not invoke hooks. */
|
/** Does not invoke hooks. */
|
||||||
public final class DisabledChangeHooks implements ChangeHooks {
|
public final class DisabledChangeHooks implements ChangeHooks {
|
||||||
@Override
|
@Override
|
||||||
public void addChangeListener(ChangeListener listener, IdentifiedUser user) {
|
public void addChangeListener(ChangeListener listener, CurrentUser user) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user