@Override public void actionPerform(Component component) { if (!isEnabled()) { return; } ReportGroup group = (ReportGroup) target.getSingleSelected(); if (group != null) { if (group.getSystemFlag()) { showNotification(getMessage("unableToDeleteSystemReportGroup"), NotificationType.WARNING); } else { LoadContext<Report> loadContext = new LoadContext<>(Report.class); loadContext.setView("report.view"); LoadContext.Query query = new LoadContext.Query("select r from report$Report r where r.group.id = :groupId"); query.setMaxResults(1); query.setParameter("groupId", group.getId()); loadContext.setQuery(query); DataSupplier dataService = getDsContext().getDataSupplier(); Report report = dataService.load(loadContext); if (report != null) { showNotification(getMessage("unableToDeleteNotEmptyReportGroup"), NotificationType.WARNING); } else { super.actionPerform(component); } } } } }