Skip to content
Snippets Groups Projects
Commit 882c7e4e authored by apvrille's avatar apvrille
Browse files

Update on plugin management

parent 885c1e23
No related branches found
No related tags found
No related merge requests found
JAVAC = javac
JAR = jar
JAR_TXT = customizer.txt
JAR_TARGET = ../CustomizerAvatarCodeGeneration.jar
JAR_TARGET = ../CustomizerAvatarJavaCodeGeneration.jar
all:
javac *.java
......
......@@ -78,7 +78,7 @@ public class Plugin {
public boolean hasAvatarCodeGenerator() {
String ret = executeRetStringMethod(name, "hasAvatarCodeGenerator");
String ret = executeRetStringMethod(removeJar(name), "hasAvatarCodeGenerator");
if (ret != null) {
classAvatarCodeGenerator = getClass(ret);
return true;
......@@ -103,7 +103,7 @@ public class Plugin {
TraceManager.addDev("Loading plugin=" + path + java.io.File.separator + name);
URL[] urls = new URL[] { file.toURI().toURL() };
ClassLoader loader = new URLClassLoader(urls);
TraceManager.addDev("Loader created");
//TraceManager.addDev("Loader created");
c = loader.loadClass(_className);
if (c == null) {
return null;
......@@ -149,14 +149,14 @@ public class Plugin {
// We have a valid plugin. We now need to get the Method
Method m = getMethod(_className, _methodName);
if (m == null) {
TraceManager.addDev("Null method");
TraceManager.addDev("Null method with class as a string class=" + _className + " _method=" + _methodName);
return null;
}
try {
return (String)(m.invoke(null));
} catch (Exception e) {
TraceManager.addDev("Exception occured when executing method " + _methodName);
TraceManager.addDev("Exception occured when executing method " + _methodName + " in class=" + _className);
return null;
}
}
......@@ -165,10 +165,11 @@ public class Plugin {
// We have a valid plugin. We now need to get the Method
try {
TraceManager.addDev("Getting " + _methodName + " in class " + c.getName());
Method m = c.getMethod(_methodName);
if (m == null) {
TraceManager.addDev("Null method");
TraceManager.addDev("Null method in executeRetStringMethod with Class parameter");
return null;
}
return (String)(m.invoke(null));
......@@ -206,4 +207,13 @@ public class Plugin {
}
}
public String removeJar(String withjar) {
int index = withjar.indexOf(".jar");
if (index == -1) {
return withjar;
}
return withjar.substring(0, index);
}
}
......@@ -72,9 +72,11 @@ public class PluginManager {
public Plugin getPluginAvatarCodeGenerator() {
for(Plugin plugin: plugins) {
if (plugin.hasAvatarCodeGenerator()) {
TraceManager.addDev(" Found avatar code generation plugin");
return plugin;
}
}
TraceManager.addDev(" NOT Found avatar code generation plugin");
return null;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment