/** shuts down the report engine */ public void destroy() { logger.fine("ReportEngine.destroy"); rootScope = null; helper = null; synchronized (openedDocuments) { for (ReportDocumentReader document : openedDocuments) { logger.log(Level.WARNING, "{0} is not closed.", document.getName()); document.setEngineCacheEntry(null); document.close(); } openedDocuments.clear(); } IStatusHandler handler = config.getStatusHandler(); if (handler != null) { handler.finish(); } if (extensionManager != null) { extensionManager.close(); extensionManager = null; } EngineLogger.removeSetting(loggerSetting); if (engineClassLoader != null) { engineClassLoader.close(); } }
void cacheOpenedDocument(ReportDocumentReader document) { synchronized (openedDocuments) { LinkedEntry<ReportDocumentReader> entry = openedDocuments.add(document); document.setEngineCacheEntry(entry); } }