Merge topic 'scripting-reloaded'
* changes: Renaming JarPlugin to ServerPlugin for future extensions Removed unused methods and fields in JarScanner
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
@@ -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,
|
||||
|
@@ -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,
|
Reference in New Issue
Block a user