From 882c7e4ea47897f9d2eab68242f9c306e96c3c44 Mon Sep 17 00:00:00 2001
From: apvrille <ludovic.apvrille@eurecom.fr>
Date: Tue, 4 Jul 2017 13:11:40 +0200
Subject: [PATCH] Update on plugin management

---
 plugins/testPluginCodeGeneration/Makefile |  2 +-
 src/main/java/myutil/Plugin.java          | 20 +++++++++++++++-----
 src/main/java/myutil/PluginManager.java   |  2 ++
 3 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/plugins/testPluginCodeGeneration/Makefile b/plugins/testPluginCodeGeneration/Makefile
index 0f0a835cd7..ddabf994b3 100644
--- a/plugins/testPluginCodeGeneration/Makefile
+++ b/plugins/testPluginCodeGeneration/Makefile
@@ -1,7 +1,7 @@
 JAVAC  = javac
 JAR    = jar
 JAR_TXT = customizer.txt
-JAR_TARGET = ../CustomizerAvatarCodeGeneration.jar
+JAR_TARGET = ../CustomizerAvatarJavaCodeGeneration.jar
 
 all:
 	javac *.java
diff --git a/src/main/java/myutil/Plugin.java b/src/main/java/myutil/Plugin.java
index 8f4c6d44b9..48faf49c06 100755
--- a/src/main/java/myutil/Plugin.java
+++ b/src/main/java/myutil/Plugin.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);
+
+    }
+
 }
diff --git a/src/main/java/myutil/PluginManager.java b/src/main/java/myutil/PluginManager.java
index 1838c498a7..60a740a9d4 100755
--- a/src/main/java/myutil/PluginManager.java
+++ b/src/main/java/myutil/PluginManager.java
@@ -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;
     }
 
-- 
GitLab