Merge topic 'scripting-reloaded'

* changes:
  Renaming JarPlugin to ServerPlugin for future extensions
  Removed unused methods and fields in JarScanner
This commit is contained in:
Shawn Pearce
2014-05-01 19:51:49 +00:00
committed by Gerrit Code Review
3 changed files with 5 additions and 33 deletions

View File

@@ -38,12 +38,10 @@ import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.Type;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.lang.annotation.Annotation;
import java.util.Collection;
import java.util.Arrays;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Map;
@@ -59,26 +57,17 @@ public class JarScanner {
@Override
public ExtensionMetaData apply(ClassData classData) {
return new ExtensionMetaData(classData.className,
classData.annotationValue, classData.interfaces);
}
};
private static final Function<String, String> TO_JAVA_QUALIFIED_CLASS_NAME =
new Function<String, String>() {
@Override
public String apply(String in) {
return in.replace("/", ".");
classData.annotationValue);
}
};
public static class ExtensionMetaData {
private final String className;
private final String annotationValue;
private final Iterable<String> interfaces;
private ExtensionMetaData(String className, String annotationValue, Iterable<String> interfaces) {
private ExtensionMetaData(String className, String annotationValue) {
this.className = className;
this.annotationValue = annotationValue;
this.interfaces = interfaces;
}
public String getAnnotationValue() {
@@ -88,19 +77,6 @@ public class JarScanner {
public String getClassName() {
return className;
}
public Iterable<String> getInterfaces() {
return interfaces;
}
}
public static Iterable<ExtensionMetaData> scan(File file, String pluginName,
Class<? extends Annotation> annotation) throws InvalidPluginException,
IOException {
Map<Class<? extends Annotation>, Iterable<ExtensionMetaData>> result =
scan(new JarFile(file), pluginName,
Arrays.<Class<? extends Annotation>> asList(annotation));
return result.get(annotation);
}
public static Map<Class<? extends Annotation>, Iterable<ExtensionMetaData>> scan(
@@ -194,7 +170,6 @@ public class JarScanner {
String className;
String annotationName;
String annotationValue;
Iterable<String> interfaces;
Iterable<String> exports;
private ClassData(Iterable<String> exports) {
@@ -210,9 +185,6 @@ public class JarScanner {
@Override
public void visit(int version, int access, String name, String signature,
String superName, String[] interfaces) {
this.interfaces =
Iterables.transform(Sets.newHashSet(interfaces),
TO_JAVA_QUALIFIED_CLASS_NAME);
this.className = Type.getObjectType(name).getClassName();
this.access = access;
}

View File

@@ -586,7 +586,7 @@ public class PluginLoader implements LifecycleListener {
CharMatcher.is('/').trimTrailingFrom(urlProvider.get()),
name);
Plugin plugin = new JarPlugin(name, url,
Plugin plugin = new ServerPlugin(name, url,
pluginUserFactory.create(name),
srcJar, snapshot,
jarFile, manifest,

View File

@@ -40,7 +40,7 @@ import java.util.jar.Attributes;
import java.util.jar.JarFile;
import java.util.jar.Manifest;
class JarPlugin extends Plugin {
class ServerPlugin extends Plugin {
/** Unique key that changes whenever a plugin reloads. */
public static final class CacheKey {
@@ -72,7 +72,7 @@ class JarPlugin extends Plugin {
private LifecycleManager manager;
private List<ReloadableRegistrationHandle<?>> reloadableHandles;
public JarPlugin(String name,
public ServerPlugin(String name,
String pluginCanonicalWebUrl,
PluginUser pluginUser,
File srcJar,