diff options
-rw-r--r-- | Documentation/dev-plugins.txt | 4 | ||||
-rw-r--r-- | Documentation/rest-api-changes.txt | 19 | ||||
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/change/Restore.java | 16 |
3 files changed, 30 insertions, 9 deletions
diff --git a/Documentation/dev-plugins.txt b/Documentation/dev-plugins.txt index d89f79e278..39cd1fcf56 100644 --- a/Documentation/dev-plugins.txt +++ b/Documentation/dev-plugins.txt @@ -853,7 +853,7 @@ public class MyListener implements GitReferenceUpdatedListener { == Plugin Owned Capabilities Plugins may provide their own capabilities and restrict usage of SSH -commands to the users who are granted those capabilities. +commands or `UiAction` to the users who are granted those capabilities. Plugins define the capabilities by overriding the `CapabilityDefinition` abstract class: @@ -868,7 +868,7 @@ public class PrintHelloCapability extends CapabilityDefinition { } ---- -If no Guice modules are declared in the manifest, UI actions may +If no Guice modules are declared in the manifest, capability may use auto-registration by providing an `@Export` annotation: [source,java] diff --git a/Documentation/rest-api-changes.txt b/Documentation/rest-api-changes.txt index c1bb66d9b3..fe5d17d906 100644 --- a/Documentation/rest-api-changes.txt +++ b/Documentation/rest-api-changes.txt @@ -1070,6 +1070,25 @@ an link:#included-in-info[IncludedInInfo] entity is returned. } ---- +[[index-change]] +=== Index Change +-- +'POST /changes/link:#change-id[\{change-id\}]/index' +-- + +Adds or updates the change in the secondary index. + +.Request +---- + POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/index HTTP/1.0 +---- + +.Response +---- + HTTP/1.1 204 No Content +---- + + [[reviewer-endpoints]] == Reviewer Endpoints diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Restore.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Restore.java index b3641e53e8..99c262cd9d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Restore.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Restore.java @@ -29,7 +29,6 @@ import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.ChangeUtil; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.change.ChangeJson.ChangeInfo; -import com.google.gerrit.server.index.ChangeIndexer; import com.google.gerrit.server.mail.ReplyToChangeSender; import com.google.gerrit.server.mail.RestoredSender; import com.google.gerrit.server.project.ChangeControl; @@ -52,19 +51,19 @@ public class Restore implements RestModifyView<ChangeResource, RestoreInput>, private final RestoredSender.Factory restoredSenderFactory; private final Provider<ReviewDb> dbProvider; private final ChangeJson json; - private final ChangeIndexer indexer; + private final MergeabilityChecker mergeabilityChecker; @Inject Restore(ChangeHooks hooks, RestoredSender.Factory restoredSenderFactory, Provider<ReviewDb> dbProvider, ChangeJson json, - ChangeIndexer indexer) { + MergeabilityChecker mergeabilityChecker) { this.hooks = hooks; this.restoredSenderFactory = restoredSenderFactory; this.dbProvider = dbProvider; this.json = json; - this.indexer = indexer; + this.mergeabilityChecker = mergeabilityChecker; } @Override @@ -108,8 +107,11 @@ public class Restore implements RestModifyView<ChangeResource, RestoreInput>, db.rollback(); } - CheckedFuture<?, IOException> indexFuture = - indexer.indexAsync(change.getId()); + CheckedFuture<?, IOException> f = mergeabilityChecker.newCheck() + .addChange(change) + .reindex() + .runAsync(); + try { ReplyToChangeSender cm = restoredSenderFactory.create(change); cm.setFrom(caller.getAccountId()); @@ -124,7 +126,7 @@ public class Restore implements RestModifyView<ChangeResource, RestoreInput>, Strings.emptyToNull(input.message), dbProvider.get()); ChangeInfo result = json.format(change); - indexFuture.checkedGet(); + f.checkedGet(); return result; } |