Merge branch 'stable-3.12' * stable-3.12: Use ChangeIndexer.deleteAllForProject on project deletion Revert "Introduce all-project-changes-deleted-from-index event" Change-Id: I99da02728c2baa7182c5383396a991712627ca86
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/AllProjectChangesDeletedFromIndexEvent.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/AllProjectChangesDeletedFromIndexEvent.java deleted file mode 100644 index e94c5fb..0000000 --- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/AllProjectChangesDeletedFromIndexEvent.java +++ /dev/null
@@ -1,33 +0,0 @@ -// Copyright (C) 2025 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.googlesource.gerrit.plugins.deleteproject; - -import com.google.gerrit.entities.Project; -import com.google.gerrit.entities.Project.NameKey; -import com.google.gerrit.server.events.ProjectEvent; - -public class AllProjectChangesDeletedFromIndexEvent extends ProjectEvent { - public static final String TYPE = "all-project-changes-deleted-from-index"; - public String projectName; - - public AllProjectChangesDeletedFromIndexEvent() { - super(TYPE); - } - - @Override - public NameKey getProjectNameKey() { - return Project.nameKey(projectName); - } -}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProject.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProject.java index 255fe3d..75a948a 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProject.java +++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProject.java
@@ -16,7 +16,6 @@ import com.google.gerrit.common.Nullable; import com.google.gerrit.entities.Project; -import com.google.gerrit.extensions.events.ChangeIndexedListener; import com.google.gerrit.extensions.registration.DynamicItem; import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.Response; @@ -38,8 +37,7 @@ import org.eclipse.jgit.errors.RepositoryNotFoundException; @Singleton -class DeleteProject implements RestModifyView<ProjectResource, Input>, ChangeIndexedListener { - +class DeleteProject implements RestModifyView<ProjectResource, Input> { static class Input { boolean preserve; boolean force; @@ -127,19 +125,4 @@ deleteLog.onDelete((IdentifiedUser) userProvider.get(), project.getNameKey(), input, ex); } } - - @Override - public void onChangeIndexed(String projectName, int id) {} - - @Override - public void onChangeDeleted(int id) {} - - @Override - public void onAllChangesDeletedForProject(String projectName) { - AllProjectChangesDeletedFromIndexEvent event = new AllProjectChangesDeletedFromIndexEvent(); - event.projectName = projectName; - event.instanceId = instanceId; - - dispatcher.get().postEvent(Project.nameKey(projectName), event); - } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/PluginModule.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/PluginModule.java index cd0510e..a2e3f15 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/PluginModule.java +++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/PluginModule.java
@@ -20,9 +20,7 @@ import com.google.gerrit.extensions.annotations.Exports; import com.google.gerrit.extensions.config.CapabilityDefinition; -import com.google.gerrit.extensions.events.ChangeIndexedListener; import com.google.gerrit.extensions.events.LifecycleListener; -import com.google.gerrit.extensions.registration.DynamicSet; import com.google.gerrit.extensions.restapi.RestApiModule; import com.google.gerrit.server.events.EventTypes; import com.google.inject.AbstractModule; @@ -64,10 +62,6 @@ } EventTypes.register(ProjectDeletedEvent.TYPE, ProjectDeletedEvent.class); - EventTypes.register( - AllProjectChangesDeletedFromIndexEvent.TYPE, AllProjectChangesDeletedFromIndexEvent.class); - - DynamicSet.bind(binder(), ChangeIndexedListener.class).to(DeleteProject.class); install( new RestApiModule() {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProjectIT.java b/src/test/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProjectIT.java index fa63d85..9c684ef 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProjectIT.java +++ b/src/test/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProjectIT.java
@@ -23,7 +23,6 @@ import static java.nio.file.StandardCopyOption.REPLACE_EXISTING; import com.google.common.base.Joiner; -import com.google.common.collect.ImmutableList; import com.google.gerrit.acceptance.LightweightPluginDaemonTest; import com.google.gerrit.acceptance.RestResponse; import com.google.gerrit.acceptance.TestPlugin; @@ -38,7 +37,6 @@ import com.google.gerrit.entities.RefNames; import com.google.gerrit.extensions.client.ProjectState; import com.google.gerrit.extensions.restapi.RestApiException; -import com.google.gerrit.server.events.Event; import com.google.inject.Inject; import com.googlesource.gerrit.plugins.deleteproject.DeleteProject.Input; import java.io.File; @@ -288,31 +286,6 @@ assertThat(parentFolder.toFile().exists()).isFalse(); } - @Test - @UseLocalDisk - public void testHttpDeleteProjectEmitsAllProjectChangesDeletedFromIndex() throws Exception { - RestResponse r = httpDeleteProjectHelper(false); - r.assertNoContent(); - - ImmutableList<Event> events = - eventRecorder.getGenericEvents(AllProjectChangesDeletedFromIndexEvent.TYPE, 1); - - assertThat(((AllProjectChangesDeletedFromIndexEvent) events.getFirst()).getProjectNameKey()) - .isEqualTo(project); - } - - @Test - @UseLocalDisk - public void testSshDeleteProjectEmitsAllProjectChangesDeletedFromIndex() throws Exception { - adminSshSession.exec(createDeleteCommand(project.get())); - - ImmutableList<Event> events = - eventRecorder.getGenericEvents(AllProjectChangesDeletedFromIndexEvent.TYPE, 1); - - assertThat(((AllProjectChangesDeletedFromIndexEvent) events.getFirst()).getProjectNameKey()) - .isEqualTo(project); - } - private File verifyProjectRepoExists(Project.NameKey name) throws IOException { File projectDir; try (Repository projectRepo = repoManager.openRepository(name)) {