AuthorizedKeys: Use java.util.Optional
Change-Id: I826634911da870cc4fb8d2831730865c2cbab96a
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/VersionedAuthorizedKeysOnInit.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/VersionedAuthorizedKeysOnInit.java
index 6739ce0..e47f23a 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/VersionedAuthorizedKeysOnInit.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/VersionedAuthorizedKeysOnInit.java
@@ -16,7 +16,6 @@
import static com.google.common.base.Preconditions.checkState;
-import com.google.common.base.Optional;
import com.google.common.base.Strings;
import com.google.gerrit.pgm.init.api.InitFlags;
import com.google.gerrit.pgm.init.api.VersionedMetaDataOnInit;
@@ -34,6 +33,7 @@
import java.io.IOException;
import java.util.List;
+import java.util.Optional;
public class VersionedAuthorizedKeysOnInit extends VersionedMetaDataOnInit {
public interface Factory {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/AuthorizedKeys.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/AuthorizedKeys.java
index 0e8c051..45dbe60 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/AuthorizedKeys.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/AuthorizedKeys.java
@@ -15,13 +15,13 @@
package com.google.gerrit.server.account;
import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Optional;
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.client.AccountSshKey;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
+import java.util.Optional;
public class AuthorizedKeys {
public static final String FILE_NAME = "authorized_keys";
@@ -47,7 +47,7 @@
key.setInvalid();
keys.add(Optional.of(key));
} else if (line.startsWith(DELETED_KEY_COMMENT)) {
- keys.add(Optional.<AccountSshKey> absent());
+ keys.add(Optional.empty());
seq++;
} else if (line.startsWith("#")) {
continue;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/VersionedAuthorizedKeys.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/VersionedAuthorizedKeys.java
index aa32d27..41ae498 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/VersionedAuthorizedKeys.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/VersionedAuthorizedKeys.java
@@ -16,10 +16,9 @@
import static com.google.common.base.Preconditions.checkState;
import static java.util.Comparator.comparing;
+import static java.util.stream.Collectors.toList;
-import com.google.common.base.Optional;
import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
import com.google.gerrit.common.errors.InvalidSshKeyException;
import com.google.gerrit.reviewdb.client.Account;
@@ -46,6 +45,7 @@
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.Optional;
/**
* 'authorized_keys' file in the refs/users/CD/ABCD branches of the All-Users
@@ -192,7 +192,8 @@
/** Returns all SSH keys. */
private List<AccountSshKey> getKeys() {
checkLoaded();
- return Lists.newArrayList(Optional.presentInstances(keys));
+ return keys.stream().filter(Optional::isPresent).map(Optional::get)
+ .collect(toList());
}
/**
@@ -205,8 +206,7 @@
*/
private AccountSshKey getKey(int seq) {
checkLoaded();
- Optional<AccountSshKey> key = keys.get(seq - 1);
- return key.orNull();
+ return keys.get(seq - 1).orElse(null);
}
/**
@@ -246,7 +246,7 @@
private boolean deleteKey(int seq) {
checkLoaded();
if (seq <= keys.size() && keys.get(seq - 1).isPresent()) {
- keys.set(seq - 1, Optional.<AccountSshKey> absent());
+ keys.set(seq - 1, Optional.empty());
return true;
}
return false;
@@ -279,8 +279,9 @@
*/
public void setKeys(Collection<AccountSshKey> newKeys) {
Ordering<AccountSshKey> o = Ordering.from(comparing(k -> k.getKey().get()));
- keys = new ArrayList<>(Collections.nCopies(o.max(newKeys).getKey().get(),
- Optional.<AccountSshKey> absent()));
+ keys = new ArrayList<>(
+ Collections.nCopies(o.max(newKeys).getKey().get(),
+ Optional.empty()));
for (AccountSshKey key : newKeys) {
keys.set(key.getKey().get() - 1, Optional.of(key));
}
diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/account/AuthorizedKeysTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/account/AuthorizedKeysTest.java
index f5849c1..2a86401 100644
--- a/gerrit-server/src/test/java/com/google/gerrit/server/account/AuthorizedKeysTest.java
+++ b/gerrit-server/src/test/java/com/google/gerrit/server/account/AuthorizedKeysTest.java
@@ -16,7 +16,6 @@
import static com.google.common.truth.Truth.assertThat;
-import com.google.common.base.Optional;
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.client.AccountSshKey;
@@ -24,6 +23,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Optional;
public class AuthorizedKeysTest {
private static final String KEY1 =
@@ -168,7 +168,7 @@
* @return the expected line for this key in the authorized_keys file
*/
private static String addDeletedKey(List<Optional<AccountSshKey>> keys) {
- keys.add(Optional.<AccountSshKey> absent());
+ keys.add(Optional.empty());
return AuthorizedKeys.DELETED_KEY_COMMENT + "\n";
}
}