// the parameters generate different classes
private static final boolean SHARED_CLASS_LOADER = !DYNAMIC_PAGES;
private JavaSourceClassLoader getSourceClassLoader() {
Map<String,Object> scope = ExtLibUtil.getApplicationScope();
JavaSourceClassLoader loader = SHARED_CLASS_LOADER ? (JavaSourceClassLoader)scope.get("playground.java.loader") : null;
if(loader==null) {
synchronized(this) {
loader = (JavaSourceClassLoader)scope.get("playground.java.loader");
if(loader==null) {
String[] bundles = new String[] {
"com.ibm.commons",
"com.ibm.commons.xml",
"com.ibm.commons.runtime",
"com.ibm.sbt.core",
"com.ibm.sbt.libs",
"com.ibm.xsp.sbtsdk",
"com.ibm.xsp.sbtsdk.playground",
"com.ibm.pvc.servlet",
"com.ibm.pvc.servlet.jsp"
};
loader = new JavaSourceClassLoader(FacesContextEx.getCurrentInstance().getContextClassLoader(),null,bundles);
if(SHARED_CLASS_LOADER && !DEBUG) {
scope.put("playground.java.loader",loader);
}
}
}