package org.qrone.r7.script;
import org.mozilla.javascript.ClassShutter;
public class ServerJSClassShutter implements ClassShutter{
public static final String[] denyClasses = {
"java.lang.System",
"java.lang.Thread",
"java.lang.ThreadGroup",
"java.lang.ThreadLocal",
};
public static final String[] allowPackages = {
"java.lang",
"java.math",
"java.util",
"org.w3c.dom",
"org.qrone.database",
"org.qrone.img",
"org.qrone.kvs",
"org.qrone.login",
"org.qrone.memcached",
"org.qrone.mongo",
"org.qrone.r7.fetcher",
"org.qrone.r7.format",
"org.qrone.r7.parser",
"org.qrone.r7.script",
"org.qrone.r7.script.browser",
"org.qrone.r7.script.ext",
"org.qrone.r7.script.tag",
"org.qrone.r7.parser",
"org.qrone.util",
"org.eclipse.jetty.server",
};
@Override
public boolean visibleToScripts(String fullClass) {
for (int i = 0; i < denyClasses.length; i++) {
if(fullClass.equals(denyClasses[i])){
return false;
}
}
for (int i = 0; i < allowPackages.length; i++) {
if(fullClass.substring(0, fullClass.lastIndexOf('.')).equals(allowPackages[i])){
return true;
}
}
return false;
}
}