ChangeIndexedListener: Move to extension API

Move to the extension API and change the interface so as not to use
internal data types.

The only known user of this interface (sync-index plugin) only needs
the change ID anyway.

Change-Id: Ia2d44aeae9fdaaa6d1d1667c28b3a7197ad5a622
This commit is contained in:
David Pursehouse
2016-06-22 16:14:12 +09:00
committed by Hugo Arès
parent 399b10dea7
commit 38f96373e0
3 changed files with 10 additions and 12 deletions

View File

@@ -12,18 +12,16 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
package com.google.gerrit.server.extensions.events; package com.google.gerrit.extensions.events;
import com.google.gerrit.extensions.annotations.ExtensionPoint; import com.google.gerrit.extensions.annotations.ExtensionPoint;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.server.query.change.ChangeData;
/** Notified whenever a change is indexed or deleted from the index. */ /** Notified whenever a change is indexed or deleted from the index. */
@ExtensionPoint @ExtensionPoint
public interface ChangeIndexedListener { public interface ChangeIndexedListener {
/** Invoked when a change is indexed. */ /** Invoked when a change is indexed. */
void onChangeIndexed(ChangeData change); void onChangeIndexed(int id);
/** Invoked when a change is deleted from the index. */ /** Invoked when a change is deleted from the index. */
void onChangeDeleted(Change.Id id); void onChangeDeleted(int id);
} }

View File

@@ -31,6 +31,7 @@ import com.google.gerrit.extensions.config.ExternalIncludedIn;
import com.google.gerrit.extensions.config.FactoryModule; import com.google.gerrit.extensions.config.FactoryModule;
import com.google.gerrit.extensions.events.AgreementSignupListener; import com.google.gerrit.extensions.events.AgreementSignupListener;
import com.google.gerrit.extensions.events.ChangeAbandonedListener; import com.google.gerrit.extensions.events.ChangeAbandonedListener;
import com.google.gerrit.extensions.events.ChangeIndexedListener;
import com.google.gerrit.extensions.events.ChangeMergedListener; import com.google.gerrit.extensions.events.ChangeMergedListener;
import com.google.gerrit.extensions.events.ChangeRestoredListener; import com.google.gerrit.extensions.events.ChangeRestoredListener;
import com.google.gerrit.extensions.events.CommentAddedListener; import com.google.gerrit.extensions.events.CommentAddedListener;
@@ -97,7 +98,6 @@ import com.google.gerrit.server.change.ChangeKindCacheImpl;
import com.google.gerrit.server.change.MergeabilityCacheImpl; import com.google.gerrit.server.change.MergeabilityCacheImpl;
import com.google.gerrit.server.events.EventFactory; import com.google.gerrit.server.events.EventFactory;
import com.google.gerrit.server.events.EventsMetrics; import com.google.gerrit.server.events.EventsMetrics;
import com.google.gerrit.server.extensions.events.ChangeIndexedListener;
import com.google.gerrit.server.extensions.events.GitReferenceUpdated; import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
import com.google.gerrit.server.git.BatchUpdate; import com.google.gerrit.server.git.BatchUpdate;
import com.google.gerrit.server.git.EmailMerge; import com.google.gerrit.server.git.EmailMerge;

View File

@@ -20,12 +20,12 @@ import com.google.common.util.concurrent.CheckedFuture;
import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListeningExecutorService; import com.google.common.util.concurrent.ListeningExecutorService;
import com.google.gerrit.extensions.events.ChangeIndexedListener;
import com.google.gerrit.extensions.registration.DynamicSet; import com.google.gerrit.extensions.registration.DynamicSet;
import com.google.gerrit.reviewdb.client.Change; import com.google.gerrit.reviewdb.client.Change;
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.CurrentUser; import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.extensions.events.ChangeIndexedListener;
import com.google.gerrit.server.index.Index; import com.google.gerrit.server.index.Index;
import com.google.gerrit.server.notedb.ChangeNotes; import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.notedb.NotesMigration; import com.google.gerrit.server.notedb.NotesMigration;
@@ -180,16 +180,16 @@ public class ChangeIndexer {
for (Index<?, ChangeData> i : getWriteIndexes()) { for (Index<?, ChangeData> i : getWriteIndexes()) {
i.replace(cd); i.replace(cd);
} }
fireChangeIndexedEvent(cd); fireChangeIndexedEvent(cd.getId().get());
} }
private void fireChangeIndexedEvent(ChangeData change) { private void fireChangeIndexedEvent(int id) {
for (ChangeIndexedListener listener : indexedListener) { for (ChangeIndexedListener listener : indexedListener) {
listener.onChangeIndexed(change); listener.onChangeIndexed(id);
} }
} }
private void fireChangeDeletedFromIndexEvent(Change.Id id) { private void fireChangeDeletedFromIndexEvent(int id) {
for (ChangeIndexedListener listener : indexedListener) { for (ChangeIndexedListener listener : indexedListener) {
listener.onChangeDeleted(id); listener.onChangeDeleted(id);
} }
@@ -338,7 +338,7 @@ public class ChangeIndexer {
for (ChangeIndex i : getWriteIndexes()) { for (ChangeIndex i : getWriteIndexes()) {
i.delete(id); i.delete(id);
} }
fireChangeDeletedFromIndexEvent(id); fireChangeDeletedFromIndexEvent(id.get());
return null; return null;
} }
} }