summaryrefslogtreecommitdiffstats
path: root/gerrit-server/src/main/java/com/google/gerrit/server/index/group/GroupIndexerImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/index/group/GroupIndexerImpl.java')
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/index/group/GroupIndexerImpl.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/index/group/GroupIndexerImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/index/group/GroupIndexerImpl.java
index b137fb3740..69b29bcf29 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/index/group/GroupIndexerImpl.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/index/group/GroupIndexerImpl.java
@@ -18,14 +18,16 @@ import com.google.common.collect.ImmutableSet;
import com.google.gerrit.common.Nullable;
import com.google.gerrit.extensions.events.GroupIndexedListener;
import com.google.gerrit.extensions.registration.DynamicSet;
+import com.google.gerrit.index.Index;
import com.google.gerrit.reviewdb.client.AccountGroup;
import com.google.gerrit.server.account.GroupCache;
-import com.google.gerrit.server.index.Index;
+import com.google.gerrit.server.group.InternalGroup;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
+import java.util.Optional;
public class GroupIndexerImpl implements GroupIndexer {
public interface Factory {
@@ -63,8 +65,13 @@ public class GroupIndexerImpl implements GroupIndexer {
@Override
public void index(AccountGroup.UUID uuid) throws IOException {
- for (Index<?, AccountGroup> i : getWriteIndexes()) {
- i.replace(groupCache.get(uuid));
+ for (Index<AccountGroup.UUID, InternalGroup> i : getWriteIndexes()) {
+ Optional<InternalGroup> internalGroup = groupCache.get(uuid);
+ if (internalGroup.isPresent()) {
+ i.replace(internalGroup.get());
+ } else {
+ i.delete(uuid);
+ }
}
fireGroupIndexedEvent(uuid.get());
}