* @return the birt engine
*/
public static synchronized IReportEngine getBirtEngine(HttpServletRequest request, ServletContext sc) {
logger.debug("IN");
if (birtEngine == null) {
EngineConfig config = new EngineConfig();
if (configProps != null && !configProps.isEmpty()) {
String logLevel = configProps.getProperty("logLevel");
Level level = Level.OFF;
if ("SEVERE".equalsIgnoreCase(logLevel)) {
level = Level.SEVERE;
} else if ("WARNING".equalsIgnoreCase(logLevel)) {
level = Level.WARNING;
} else if ("INFO".equalsIgnoreCase(logLevel)) {
level = Level.INFO;
} else if ("CONFIG".equalsIgnoreCase(logLevel)) {
level = Level.CONFIG;
} else if ("FINE".equalsIgnoreCase(logLevel)) {
level = Level.FINE;
} else if ("FINER".equalsIgnoreCase(logLevel)) {
level = Level.FINER;
} else if ("FINEST".equalsIgnoreCase(logLevel)) {
level = Level.FINEST;
} else if ("ALL".equalsIgnoreCase(logLevel)) {
level = Level.ALL;
} else if ("OFF".equalsIgnoreCase(logLevel)) {
level = Level.OFF;
}
String logDir = configProps.getProperty("logDirectory");
logDir = Utils.resolveSystemProperties(logDir);
logger.debug("Birt LOG Dir:"+logDir);
logger.debug("Log config: logDirectory = [" + logDir + "]; level = [" + level + "]");
config.setLogConfig(logDir, level);
}
/*DefaultResourceLocator drl=new DefaultResourceLocator();
drl.findResource(birtEngine.openReportDesign(arg0), "messages_it_IT.properties", DefaultResourceLocator.MESSAGE_FILE);
*/
config.setEngineHome("");
IPlatformContext context = new PlatformServletContext(sc);
config.setPlatformContext(context);
config.setTempDir(System.getProperty("java.io.tmpdir") + "/birt/");
// ParameterAccessor.initParameters(sc);
//config.setResourcePath(ParameterAccessor.getResourceFolder(request));
// Prepare ScriptLib location
String scriptLibDir = ParameterAccessor.scriptLibDir;
ArrayList jarFileList = new ArrayList();
if (scriptLibDir != null) {
File dir = new File(scriptLibDir);
getAllJarFiles(dir, jarFileList);
}
String scriptlibClassPath = ""; //$NON-NLS-1$
for (int i = 0; i < jarFileList.size(); i++)
scriptlibClassPath += EngineConstants.PROPERTYSEPARATOR + ((File) jarFileList.get(i)).getAbsolutePath();
if (scriptlibClassPath.startsWith(EngineConstants.PROPERTYSEPARATOR))
scriptlibClassPath = scriptlibClassPath.substring(EngineConstants.PROPERTYSEPARATOR.length());
config.setProperty(EngineConstants.WEBAPP_CLASSPATH_KEY, scriptlibClassPath);
try {
Platform.startup(config);
logger.debug("Birt Platform started");
} catch (BirtException e) {