EXTSCRIPT-154: Code Rewrite/Refactoring, loading classes now works


git-svn-id: https://svn.apache.org/repos/asf/myfaces/extensions/scripting/trunk@1298392 13f79535-47bb-0310-9956-ffa450edef68
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 fc54f87..6032f8d 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
@@ -19,6 +19,7 @@
 
 package rewrite.org.apache.myfaces.extensions.scripting.core.loader;
 
+import rewrite.org.apache.myfaces.extensions.scripting.core.common.util.ClassUtils;
 import rewrite.org.apache.myfaces.extensions.scripting.core.context.WeavingContext;
 import rewrite.org.apache.myfaces.extensions.scripting.core.monitor.ClassResource;
 
@@ -131,8 +132,10 @@
 
     private File resolveClassFile(String name)
     {
-        return new File(WeavingContext.getInstance().getConfiguration().getCompileTarget().getAbsolutePath() + File
-                .separator + name);
+        return ClassUtils.classNameToFile(WeavingContext.getInstance().getConfiguration().getCompileTarget()
+                .getAbsolutePath
+                (), name);
+
     }
 
 }
diff --git a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/jsf/adapters/CustomChainLoader.java b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/jsf/adapters/CustomChainLoader.java
index 404a741..b6ce9e6 100644
--- a/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/jsf/adapters/CustomChainLoader.java
+++ b/extscript-core-root/extscript-core/src/main/java/rewrite/org/apache/myfaces/extensions/scripting/jsf/adapters/CustomChainLoader.java
@@ -22,8 +22,8 @@
 import org.apache.myfaces.shared.util.ClassLoaderExtension;
 import rewrite.org.apache.myfaces.extensions.scripting.core.common.util.ClassUtils;
 import rewrite.org.apache.myfaces.extensions.scripting.core.context.WeavingContext;
-import rewrite.org.apache.myfaces.extensions.scripting.core.monitor.ClassResource;
 import rewrite.org.apache.myfaces.extensions.scripting.core.loader.ThrowAwayClassloader;
+import rewrite.org.apache.myfaces.extensions.scripting.core.monitor.ClassResource;
 
 import javax.servlet.ServletContext;
 import java.io.File;
@@ -34,11 +34,11 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *
- * The chainloader docks onto the forName handler
- * in the myfaces classutils which load the
- * artifacting classes, we dock onto this extension point
- * neutrally by indirection over the MyFacesSPI
+ *          <p/>
+ *          The chainloader docks onto the forName handler
+ *          in the myfaces classutils which load the
+ *          artifacting classes, we dock onto this extension point
+ *          neutrally by indirection over the MyFacesSPI
  */
 
 public class CustomChainLoader extends ClassLoaderExtension
@@ -96,7 +96,14 @@
         } else if (name.startsWith("org.apache") && name.startsWith("org.apache.myfaces.config"))
         {
             return null;
+        } else if (name.startsWith("org.apache") && name.startsWith("org.apache.myfaces.spi"))
+        {
+            return null;
+        } else if (name.startsWith("org.apache") && name.startsWith("org.apache.myfaces.application"))
+        {
+            return null;
         }
+        //
         try
         {
             return loadClass(name);
@@ -113,7 +120,8 @@
         File target = ClassUtils.classNameToFile(targetDirectory.getAbsolutePath(), name);
         if (!target.exists()) return null;
         //otherwise check if tainted and if not simply return the class stored
-        if(name.contains("TestNavigationHandler")) {
+        if (name.contains("TestNavigationHandler"))
+        {
             System.out.println("debugpoint found");
         }
         ClassResource resource = (ClassResource) WeavingContext.getInstance().getResource(name);