@Override public void run() { try { Template template = cfg.getTemplate("/reports/templates/classloader.ftl"); ApplicationContext appCtx = new ApplicationContext(namingUtility.getApplicationName()); ClassloaderReport report = new ClassloaderReport("Class Not Found", "Class Not Found", "Referenced By"); // for each class leveraging a blacklist... for (JavaClass clz : javaClassDao.getAllClassNotFound()) { Name name = namingUtility.getReportJavaResource(runDirectory, reportReference.getParentFile(), clz); // get reference... ClassLoaderReportRow row = new ClassLoaderReportRow(name); addAll(row.getReferences(), clz.providesForJavaClass()); report.getClasses().add(row); } Map<String, Object> objects = new HashMap<String, Object>(); objects.put("application", appCtx); objects.put("classloader", report); template.process(objects, new FileWriter(reportReference)); } catch (Exception e) { throw new RuntimeException("Exception processing report.", e); } }
public void addAll(Collection<ClassReference> references, Iterable<JavaClass> clzs) { for (JavaClass clz : clzs) { Name name = namingUtility.getReportJavaResource(runDirectory, reportReference.getParentFile(), clz); ClassReference clzRef = new ClassReference("", name); references.add(clzRef); } }