Merge branch 'stable-2.14'
* stable-2.14: Fix firing change related event for deleted change Change-Id: I6cadb61f7ee2e5579afb2a038d42bb4379375c52
This commit is contained in:
@@ -32,6 +32,7 @@ import com.google.gerrit.server.notedb.ChangeNotes;
|
||||
import com.google.gerrit.server.permissions.PermissionBackend;
|
||||
import com.google.gerrit.server.permissions.PermissionBackendException;
|
||||
import com.google.gerrit.server.permissions.ProjectPermission;
|
||||
import com.google.gerrit.server.project.NoSuchChangeException;
|
||||
import com.google.gerrit.server.project.ProjectCache;
|
||||
import com.google.gerrit.server.project.ProjectControl;
|
||||
import com.google.gerrit.server.project.ProjectState;
|
||||
@@ -39,10 +40,13 @@ import com.google.gwtorm.server.OrmException;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Provider;
|
||||
import com.google.inject.Singleton;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/** Distributes Events to listeners if they are allowed to see them */
|
||||
@Singleton
|
||||
public class EventBroker implements EventDispatcher {
|
||||
private static final Logger log = LoggerFactory.getLogger(EventBroker.class);
|
||||
|
||||
public static class Module extends LifecycleModule {
|
||||
@Override
|
||||
@@ -180,9 +184,15 @@ public class EventBroker implements EventDispatcher {
|
||||
String ref = refEvent.getRefName();
|
||||
if (PatchSet.isChangeRef(ref)) {
|
||||
Change.Id cid = PatchSet.Id.fromRef(ref).getParentKey();
|
||||
Change change =
|
||||
notesFactory.create(dbProvider.get(), refEvent.getProjectNameKey(), cid).getChange();
|
||||
return isVisibleTo(change, user);
|
||||
try {
|
||||
Change change =
|
||||
notesFactory
|
||||
.createChecked(dbProvider.get(), refEvent.getProjectNameKey(), cid)
|
||||
.getChange();
|
||||
return isVisibleTo(change, user);
|
||||
} catch (NoSuchChangeException e) {
|
||||
log.debug("Change {} cannot be found, falling back on ref visibility check", cid.id);
|
||||
}
|
||||
}
|
||||
return isVisibleTo(refEvent.getBranchNameKey(), user);
|
||||
} else if (event instanceof ProjectEvent) {
|
||||
|
||||
Reference in New Issue
Block a user