diff --git a/src/helma/main/launcher/Commandline.java b/src/helma/main/launcher/Commandline.java
index 39ccc7ee..5dc211bd 100644
--- a/src/helma/main/launcher/Commandline.java
+++ b/src/helma/main/launcher/Commandline.java
@@ -38,7 +38,7 @@ public class Commandline {
try {
String installDir = Main.getInstallDir(args);
- FilteredClassLoader loader = Main.createClassLoader(installDir);
+ ClassLoader loader = Main.createClassLoader(installDir);
// get the main server class
Class clazz = loader.loadClass("helma.main.CommandlineRunner");
diff --git a/src/helma/main/launcher/FilteredClassLoader.java b/src/helma/main/launcher/FilteredClassLoader.java
deleted file mode 100644
index 09c67cd6..00000000
--- a/src/helma/main/launcher/FilteredClassLoader.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Helma License Notice
- *
- * The contents of this file are subject to the Helma License
- * Version 2.0 (the "License"). You may not use this file except in
- * compliance with the License. A copy of the License is available at
- * http://adele.helma.org/download/helma/license.txt
- *
- * Copyright 1998-2003 Helma Software. All Rights Reserved.
- *
- * $RCSfile$
- * $Author$
- * $Revision$
- * $Date$
- */
-
-package helma.main.launcher;
-
-import java.net.URL;
-import java.net.URLClassLoader;
-
-/**
- * ClassLoader that is able to exclude certain packages from loading.
- */
-public class FilteredClassLoader extends URLClassLoader {
- /**
- * Create a server wide class loader that doesn't see the scripting engine(s)
- * embedded in helma.jar. These files should be loaded by the per-application
- * class loaders so that special security policies can be applied to them and
- * so that they can load classes from jar files in the app directories.
- */
- public FilteredClassLoader(URL[] urls) {
- super(urls);
- }
-
- /**
- * Create a server wide class loader that doesn't see the scripting engine(s)
- * embedded in helma.jar. These files should be loaded by the per-application
- * class loaders so that special security policies can be applied to them and
- * so that they can load classes from jar files in the app directories.
- */
- public FilteredClassLoader(URL[] urls, ClassLoader parent) {
- super(urls, parent);
- }
-
- /**
- * Mask classes that implement the scripting engine(s) contained in helma.jar
- */
- protected Class findClass(String name) throws ClassNotFoundException {
- if ((name != null) && (name.startsWith("helma")) &&
- (name.endsWith("PhantomEngine"))) {
- throw new ClassNotFoundException(name);
- }
-
- return super.findClass(name);
- }
-}
diff --git a/src/helma/main/launcher/Main.java b/src/helma/main/launcher/Main.java
index 737557b7..87a79fe6 100644
--- a/src/helma/main/launcher/Main.java
+++ b/src/helma/main/launcher/Main.java
@@ -55,7 +55,7 @@ public class Main {
try {
String installDir = getInstallDir(args);
- FilteredClassLoader loader = createClassLoader(installDir);
+ ClassLoader loader = createClassLoader(installDir);
// get the main server class
Class clazz = loader.loadClass("helma.main.Server");
@@ -83,7 +83,7 @@ public class Main {
* @return the main classloader we'll be using
* @throws MalformedURLException
*/
- public static FilteredClassLoader createClassLoader(String installDir)
+ public static ClassLoader createClassLoader(String installDir)
throws MalformedURLException {
// decode installDir in case it is URL-encoded
@@ -129,12 +129,12 @@ public class Main {
// find out if system classes should be excluded from class path
String excludeSystemClasses = System.getProperty("helma.excludeSystemClasses");
- FilteredClassLoader loader;
+ ClassLoader loader;
if ("true".equalsIgnoreCase(excludeSystemClasses)) {
- loader = new FilteredClassLoader(urls, null);
+ loader = new URLClassLoader(urls, null);
} else {
- loader = new FilteredClassLoader(urls);
+ loader = new URLClassLoader(urls);
}
// set the new class loader as context class loader
diff --git a/src/helma/scripting/rhino/PhantomEngine.java b/src/helma/scripting/rhino/PhantomEngine.java
deleted file mode 100644
index 8127e310..00000000
--- a/src/helma/scripting/rhino/PhantomEngine.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Helma License Notice
- *
- * The contents of this file are subject to the Helma License
- * Version 2.0 (the "License"). You may not use this file except in
- * compliance with the License. A copy of the License is available at
- * http://adele.helma.org/download/helma/license.txt
- *
- * Copyright 1998-2003 Helma Software. All Rights Reserved.
- *
- * $RCSfile$
- * $Author$
- * $Revision$
- * $Date$
- */
-
-package helma.scripting.rhino;
-
-import helma.scripting.ScriptingException;
-
-/**
- * This class is filtered out by Helma's main class loader
- * although it is present in the main helma.jar file. This forces
- * it to be loaded through the per-application class loader. The
- * goal is to make jar files in the application directory visible to
- * application code.
- *
- * @see helma.main.launcher.FilteredClassLoader
- */
-public final class PhantomEngine extends RhinoEngine {
-
- /**
- * Invoke a function on some object, using the given arguments and global vars.
- * XML-RPC calls require special input and output parameter conversion.
- *
- * @param thisObject the object to invoke the function on, or null for
- * global functions
- * @param functionName the name of the function to be invoked
- * @param args array of argument objects
- * @param argsWrapMode indicated the way to process the arguments. Must be
- * one of ARGS_WRAP_NONE
,
- * ARGS_WRAP_DEFAULT
,
- * ARGS_WRAP_XMLRPC
- * @param resolve indicates whether functionName may contain an object path
- * or just the plain function name
- * @return the return value of the function
- * @throws ScriptingException to indicate something went wrong
- * with the invocation
- */
- public Object invoke(Object thisObject, String functionName, Object[] args,
- int argsWrapMode, boolean resolve) throws ScriptingException {
- return super.invoke(thisObject, functionName, args, argsWrapMode, resolve);
- }
-}