diff options
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/extensions/events/GitReferenceUpdated.java')
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/extensions/events/GitReferenceUpdated.java | 233 |
1 files changed, 0 insertions, 233 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/extensions/events/GitReferenceUpdated.java b/gerrit-server/src/main/java/com/google/gerrit/server/extensions/events/GitReferenceUpdated.java deleted file mode 100644 index be14827e4a..0000000000 --- a/gerrit-server/src/main/java/com/google/gerrit/server/extensions/events/GitReferenceUpdated.java +++ /dev/null @@ -1,233 +0,0 @@ -// Copyright (C) 2012 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.google.gerrit.server.extensions.events; - -import com.google.gerrit.extensions.api.changes.NotifyHandling; -import com.google.gerrit.extensions.common.AccountInfo; -import com.google.gerrit.extensions.events.GitReferenceUpdatedListener; -import com.google.gerrit.extensions.registration.DynamicSet; -import com.google.gerrit.reviewdb.client.Account; -import com.google.gerrit.reviewdb.client.Project; -import com.google.inject.Inject; -import com.google.inject.Singleton; -import org.eclipse.jgit.lib.BatchRefUpdate; -import org.eclipse.jgit.lib.ObjectId; -import org.eclipse.jgit.lib.RefUpdate; -import org.eclipse.jgit.transport.ReceiveCommand; - -@Singleton -public class GitReferenceUpdated { - public static final GitReferenceUpdated DISABLED = - new GitReferenceUpdated() { - @Override - public void fire( - Project.NameKey project, - RefUpdate refUpdate, - ReceiveCommand.Type type, - Account updater) {} - - @Override - public void fire(Project.NameKey project, RefUpdate refUpdate, Account updater) {} - - @Override - public void fire( - Project.NameKey project, - String ref, - ObjectId oldObjectId, - ObjectId newObjectId, - Account updater) {} - - @Override - public void fire(Project.NameKey project, ReceiveCommand cmd, Account updater) {} - - @Override - public void fire(Project.NameKey project, BatchRefUpdate batchRefUpdate, Account updater) {} - }; - - private final DynamicSet<GitReferenceUpdatedListener> listeners; - private final EventUtil util; - - @Inject - GitReferenceUpdated(DynamicSet<GitReferenceUpdatedListener> listeners, EventUtil util) { - this.listeners = listeners; - this.util = util; - } - - private GitReferenceUpdated() { - this.listeners = null; - this.util = null; - } - - public void fire( - Project.NameKey project, RefUpdate refUpdate, ReceiveCommand.Type type, Account updater) { - fire( - project, - refUpdate.getName(), - refUpdate.getOldObjectId(), - refUpdate.getNewObjectId(), - type, - util.accountInfo(updater)); - } - - public void fire(Project.NameKey project, RefUpdate refUpdate, Account updater) { - fire( - project, - refUpdate.getName(), - refUpdate.getOldObjectId(), - refUpdate.getNewObjectId(), - ReceiveCommand.Type.UPDATE, - util.accountInfo(updater)); - } - - public void fire( - Project.NameKey project, - String ref, - ObjectId oldObjectId, - ObjectId newObjectId, - Account updater) { - fire( - project, - ref, - oldObjectId, - newObjectId, - ReceiveCommand.Type.UPDATE, - util.accountInfo(updater)); - } - - public void fire(Project.NameKey project, ReceiveCommand cmd, Account updater) { - fire( - project, - cmd.getRefName(), - cmd.getOldId(), - cmd.getNewId(), - cmd.getType(), - util.accountInfo(updater)); - } - - public void fire(Project.NameKey project, BatchRefUpdate batchRefUpdate, Account updater) { - if (!listeners.iterator().hasNext()) { - return; - } - for (ReceiveCommand cmd : batchRefUpdate.getCommands()) { - if (cmd.getResult() == ReceiveCommand.Result.OK) { - fire( - project, - cmd.getRefName(), - cmd.getOldId(), - cmd.getNewId(), - cmd.getType(), - util.accountInfo(updater)); - } - } - } - - private void fire( - Project.NameKey project, - String ref, - ObjectId oldObjectId, - ObjectId newObjectId, - ReceiveCommand.Type type, - AccountInfo updater) { - if (!listeners.iterator().hasNext()) { - return; - } - ObjectId o = oldObjectId != null ? oldObjectId : ObjectId.zeroId(); - ObjectId n = newObjectId != null ? newObjectId : ObjectId.zeroId(); - Event event = new Event(project, ref, o.name(), n.name(), type, updater); - for (GitReferenceUpdatedListener l : listeners) { - try { - l.onGitReferenceUpdated(event); - } catch (Exception e) { - util.logEventListenerError(this, l, e); - } - } - } - - private static class Event implements GitReferenceUpdatedListener.Event { - private final String projectName; - private final String ref; - private final String oldObjectId; - private final String newObjectId; - private final ReceiveCommand.Type type; - private final AccountInfo updater; - - Event( - Project.NameKey project, - String ref, - String oldObjectId, - String newObjectId, - ReceiveCommand.Type type, - AccountInfo updater) { - this.projectName = project.get(); - this.ref = ref; - this.oldObjectId = oldObjectId; - this.newObjectId = newObjectId; - this.type = type; - this.updater = updater; - } - - @Override - public String getProjectName() { - return projectName; - } - - @Override - public String getRefName() { - return ref; - } - - @Override - public String getOldObjectId() { - return oldObjectId; - } - - @Override - public String getNewObjectId() { - return newObjectId; - } - - @Override - public boolean isCreate() { - return type == ReceiveCommand.Type.CREATE; - } - - @Override - public boolean isDelete() { - return type == ReceiveCommand.Type.DELETE; - } - - @Override - public boolean isNonFastForward() { - return type == ReceiveCommand.Type.UPDATE_NONFASTFORWARD; - } - - @Override - public AccountInfo getUpdater() { - return updater; - } - - @Override - public String toString() { - return String.format( - "%s[%s,%s: %s -> %s]", - getClass().getSimpleName(), projectName, ref, oldObjectId, newObjectId); - } - - @Override - public NotifyHandling getNotify() { - return NotifyHandling.ALL; - } - } -} |