Skip to content
Snippets Groups Projects
Commit f145d16e authored by juanf's avatar juanf
Browse files

SSDM-9409 : Updating Jython to get JDK11 working

parent 942760b8
No related branches found
No related tags found
No related merge requests found
......@@ -28,10 +28,13 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import ch.systemsx.cisd.common.logging.LogCategory;
import ch.systemsx.cisd.common.logging.LogFactory;
import org.apache.commons.io.IOUtils;
import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel;
import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException;
import org.apache.log4j.Logger;
/**
* Special class loader for classes based on jython 2.7. The jython JAR file has to be provided in the
......@@ -49,6 +52,7 @@ import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException;
*/
public class Jython27ClassLoader extends ClassLoader
{
private static final Logger machineLog = LogFactory.getLogger(LogCategory.MACHINE, Jython27ClassLoader.class);
private static final List<String> EXCLUDED_PACKAGES_STARTS = Arrays.asList("java", "jdk.", "sun.", "com.sun.");
private final URLClassLoader jythonJarClassLoader;
private final Map<String, Class<?>> cachedClasses = new HashMap<>();
......@@ -75,6 +79,7 @@ public class Jython27ClassLoader extends ClassLoader
@Override
protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
{
machineLog.info("loadClass - name: " + name + " resolve: " + resolve);
Class<?> clazz = cachedClasses.get(name);
if (clazz == null)
{
......@@ -168,6 +173,7 @@ public class Jython27ClassLoader extends ClassLoader
private Class<?> tryLoadClass(ClassLoader classLoader, String name)
{
machineLog.info("loadClass - classLoader: " + classLoader + " name: " + name);
synchronized (getClassLoadingLock(name))
{
InputStream stream = classLoader.getResourceAsStream(name.replace('.', '/') + ".class");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment