EXTSCRIPT-154: Code Rewrite/Refactoring, fixing issues


git-svn-id: https://svn.apache.org/repos/asf/myfaces/extensions/scripting/trunk@1299587 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/context/WeavingContext.java b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/context/WeavingContext.java
index 6b651e2..6f88f98 100644
--- a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/context/WeavingContext.java
+++ b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/context/WeavingContext.java
@@ -210,9 +210,10 @@
         if (resource.isTainted() || resource.getAClass() == null)
         {
             clazz = _implementation.forName(clazz.getName());
+            //TODO not needed anymore, done by the forName now
             resource.setAClass(clazz);
         }
-        return null;
+        return clazz;
     }
 
     public Object reload(Object instance, int strategyType)
diff --git a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/loader/ThrowAwayClassloader.java b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/loader/ThrowAwayClassloader.java
index 6032f8d..0c72c09 100644
--- a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/loader/ThrowAwayClassloader.java
+++ b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/loader/ThrowAwayClassloader.java
@@ -55,6 +55,9 @@
      */
     public Class<?> loadClass(String className) throws ClassNotFoundException
     {
+        if(className.contains("TestResourceHandler")) {
+            System.out.println("Debugppint found");
+        }
         ClassResource res = (ClassResource) WeavingContext.getInstance().getResource(className);
         if (res == null) return super.loadClass(className);
         if (!res.isTainted() && res.getAClass() != null) return res.getAClass();
diff --git a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/reloading/SimpleReloadingStrategy.java b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/reloading/SimpleReloadingStrategy.java
index aa30a35..e01a0da 100644
--- a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/reloading/SimpleReloadingStrategy.java
+++ b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/core/reloading/SimpleReloadingStrategy.java
@@ -59,10 +59,13 @@
      * @return either the same object or a new instance utilizing the changed code
      */
     public Object reload(Object scriptingInstance, int artifactType) {
-
+        if(scriptingInstance.getClass().getName().contains("TestResourceHandler")) {
+            System.out.println("debugpoint found");
+        }
         //reload the class to get new static content if needed
         Class aclass = WeavingContext.getInstance().reload(scriptingInstance.getClass());
-        if (aclass.hashCode() == scriptingInstance.getClass().hashCode()) {
+
+        if (aclass == null || aclass.hashCode() == scriptingInstance.getClass().hashCode()) {
             //class of this object has not changed although
             // reload is enabled we can skip the rest now
             return scriptingInstance;