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);