PluginContentScanner: Use java.util.Optional

Change-Id: I5df1e0b21b727f19ee034e3df54d14d4b54516e1
This commit is contained in:
Dave Borowitz
2016-10-13 16:26:17 -04:00
parent a008e5d025
commit 46b3de5baf
5 changed files with 20 additions and 20 deletions

View File

@@ -21,7 +21,6 @@ import static java.nio.charset.StandardCharsets.UTF_8;
import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toList;
import com.google.common.base.CharMatcher; import com.google.common.base.CharMatcher;
import com.google.common.base.Optional;
import com.google.common.base.Splitter; import com.google.common.base.Splitter;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.google.common.cache.Cache; import com.google.common.cache.Cache;
@@ -72,6 +71,7 @@ import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentMap;
import java.util.function.Predicate; import java.util.function.Predicate;
import java.util.jar.Attributes; import java.util.jar.Attributes;
@@ -556,7 +556,7 @@ class HttpPluginServlet extends HttpServlet
int d = file.lastIndexOf('.'); int d = file.lastIndexOf('.');
return scanner.getEntry(file.substring(0, d) + ".md"); return scanner.getEntry(file.substring(0, d) + ".md");
} }
return Optional.absent(); return Optional.empty();
} }
private void sendMarkdownAsHtml(PluginContentScanner scanner, PluginEntry entry, private void sendMarkdownAsHtml(PluginContentScanner scanner, PluginEntry entry,

View File

@@ -17,12 +17,9 @@ package com.google.gerrit.server.plugins;
import static com.google.common.base.MoreObjects.firstNonNull; import static com.google.common.base.MoreObjects.firstNonNull;
import static com.google.common.collect.Iterables.transform; import static com.google.common.collect.Iterables.transform;
import com.google.common.base.Optional;
import com.google.common.base.Predicates;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@@ -49,6 +46,7 @@ import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.jar.Attributes; import java.util.jar.Attributes;
import java.util.jar.JarEntry; import java.util.jar.JarEntry;
@@ -192,9 +190,9 @@ public class JarScanner implements PluginContentScanner {
String annotationName; String annotationName;
String annotationValue; String annotationValue;
String[] interfaces; String[] interfaces;
Iterable<String> exports; Collection<String> exports;
private ClassData(Iterable<String> exports) { private ClassData(Collection<String> exports) {
super(Opcodes.ASM5); super(Opcodes.ASM5);
this.exports = exports; this.exports = exports;
} }
@@ -214,9 +212,12 @@ public class JarScanner implements PluginContentScanner {
@Override @Override
public AnnotationVisitor visitAnnotation(String desc, boolean visible) { public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
if (!visible) {
return null;
}
Optional<String> found = Optional<String> found =
Iterables.tryFind(exports, Predicates.equalTo(desc)); exports.stream().filter(x -> x.equals(desc)).findAny();
if (visible && found.isPresent()) { if (found.isPresent()) {
annotationName = desc; annotationName = desc;
return new AbstractAnnotationVisitor() { return new AbstractAnnotationVisitor() {
@Override @Override
@@ -287,10 +288,11 @@ public class JarScanner implements PluginContentScanner {
} }
@Override @Override
public Optional<PluginEntry> getEntry(String resourcePath) throws IOException { public Optional<PluginEntry> getEntry(String resourcePath)
throws IOException {
JarEntry jarEntry = jarFile.getJarEntry(resourcePath); JarEntry jarEntry = jarFile.getJarEntry(resourcePath);
if (jarEntry == null || jarEntry.getSize() == 0) { if (jarEntry == null || jarEntry.getSize() == 0) {
return Optional.absent(); return Optional.empty();
} }
return Optional.of(resourceOf(jarEntry)); return Optional.of(resourceOf(jarEntry));

View File

@@ -14,8 +14,6 @@
package com.google.gerrit.server.plugins; package com.google.gerrit.server.plugins;
import com.google.common.base.Optional;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.lang.annotation.Annotation; import java.lang.annotation.Annotation;
@@ -23,6 +21,7 @@ import java.nio.file.NoSuchFileException;
import java.util.Collections; import java.util.Collections;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.jar.Manifest; import java.util.jar.Manifest;
/** /**
@@ -51,9 +50,8 @@ public interface PluginContentScanner {
} }
@Override @Override
public Optional<PluginEntry> getEntry(String resourcePath) public Optional<PluginEntry> getEntry(String resourcePath) {
throws IOException { return Optional.empty();
return Optional.absent();
} }
@Override @Override

View File

@@ -11,13 +11,13 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
package com.google.gerrit.server.plugins;
import com.google.common.base.Optional; package com.google.gerrit.server.plugins;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.Map; import java.util.Map;
import java.util.Optional;
/** /**
* Plugin static resource entry * Plugin static resource entry
@@ -38,7 +38,7 @@ public class PluginEntry {
}; };
private static final Map<Object, String> EMPTY_ATTRS = Collections.emptyMap(); private static final Map<Object, String> EMPTY_ATTRS = Collections.emptyMap();
private static final Optional<Long> NO_SIZE = Optional.absent(); private static final Optional<Long> NO_SIZE = Optional.empty();
private final String name; private final String name;
private final long time; private final long time;