ReplicationFileBasedConfig: Replace FluentIterable with streams/lambda
Change-Id: I85356369f245a45aaef6db20655ac18750cb3400
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java
index 4b976bc..1585e43 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java
@@ -13,8 +13,8 @@
// limitations under the License.
package com.googlesource.gerrit.plugins.replication;
-import com.google.common.base.Predicate;
-import com.google.common.collect.FluentIterable;
+import static java.util.stream.Collectors.toList;
+
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.google.gerrit.server.PluginUser;
@@ -41,7 +41,9 @@
import java.nio.file.Path;
import java.util.Collections;
import java.util.List;
+import java.util.Objects;
import java.util.Set;
+import java.util.function.Predicate;
@Singleton
public class ReplicationFileBasedConfig implements ReplicationConfig {
@@ -89,39 +91,25 @@
*/
@Override
public List<Destination> getDestinations(FilterType filterType) {
- Predicate<Destination> filter;
+ Predicate<? super Destination> filter;
switch (filterType) {
- case PROJECT_CREATION :
- filter = new Predicate<Destination>() {
-
- @Override
- public boolean apply(Destination dest) {
- if (dest == null || !dest.isCreateMissingRepos()) {
- return false;
- }
- return true;
- }
- };
+ case PROJECT_CREATION:
+ filter = dest -> dest.isCreateMissingRepos();
break;
- case PROJECT_DELETION :
- filter = new Predicate<Destination>() {
-
- @Override
- public boolean apply(Destination dest) {
- if (dest == null || !dest.isReplicateProjectDeletions()) {
- return false;
- }
- return true;
- }
- };
+ case PROJECT_DELETION:
+ filter = dest -> dest.isReplicateProjectDeletions();
break;
- case ALL :
- return destinations;
- default :
- return destinations;
+ case ALL:
+ default:
+ filter = dest -> true;
+ break;
}
- return FluentIterable.from(destinations).filter(filter).toList();
+ return destinations.stream()
+ .filter(Objects::nonNull)
+ .filter(filter)
+ .collect(toList());
}
+
private List<Destination> allDestinations()
throws ConfigInvalidException, IOException {
if (!config.getFile().exists()) {