diff --git a/.travis.yml b/.travis.yml index 060f743..1fa9f29 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,9 @@ language: java +dist: trusty + jdk: - - oraclejdk7 + - openjdk7 - oraclejdk8 before_install: @@ -56,7 +58,7 @@ deploy: branch: - master - development - jdk: 'oraclejdk7' + jdk: 'openjdk7' - provider: script script: "cp ./.travis/.travis.settings.xml $HOME/.m2/settings.xml && mvn package javadoc:javadoc deploy site:deploy" @@ -65,4 +67,4 @@ deploy: repo: Parabot/Parabot branch: - master - jdk: 'oraclejdk7' \ No newline at end of file + jdk: 'openjdk7' \ No newline at end of file diff --git a/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java b/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java index 351e7e8..dde1499 100644 --- a/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java +++ b/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java @@ -8,9 +8,22 @@ import java.io.InputStream; import java.lang.annotation.Annotation; import java.lang.reflect.Field; import java.lang.reflect.Method; +import java.security.AccessController; +import java.security.PrivilegedAction; +import java.security.ProtectionDomain; public class ClassRedirect { + public static ProtectionDomain getProtectionDomain(final Class clazz) { + System.err.println(clazz.getName() + " getProtectionDomain request granted."); + + return AccessController.doPrivileged(new PrivilegedAction() { + public ProtectionDomain run() { + return clazz.getProtectionDomain(); + } + }); + } + public static Object newInstance(Class c) throws IllegalAccessException, InstantiationException { if (validStack()) { return c.newInstance(); diff --git a/src/main/java/org/parabot/core/asm/redirect/ThreadRedirect.java b/src/main/java/org/parabot/core/asm/redirect/ThreadRedirect.java index 10b3fd0..c40d4d2 100644 --- a/src/main/java/org/parabot/core/asm/redirect/ThreadRedirect.java +++ b/src/main/java/org/parabot/core/asm/redirect/ThreadRedirect.java @@ -23,7 +23,7 @@ public class ThreadRedirect { } public static Thread currentThread() { - return null; + return new Thread(); } public static void join(Thread t) throws InterruptedException { diff --git a/src/main/java/org/parabot/core/asm/redirect/ToolkitRedirect.java b/src/main/java/org/parabot/core/asm/redirect/ToolkitRedirect.java index fdfa2cc..45f1326 100644 --- a/src/main/java/org/parabot/core/asm/redirect/ToolkitRedirect.java +++ b/src/main/java/org/parabot/core/asm/redirect/ToolkitRedirect.java @@ -5,6 +5,7 @@ import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; +import java.awt.image.ImageProducer; import java.io.IOException; import java.net.URL; @@ -40,11 +41,15 @@ public class ToolkitRedirect { } public static Image createImage(Toolkit t, byte[] b) { - return null; + return t.createImage(b); } public static Image createImage(Toolkit t, String s) { - return null; + return t.createImage(s); + } + + public static Image createImage(Toolkit t, ImageProducer i) { + return t.createImage(i); } public static Image getImage(Toolkit t, URL u) {