Search in sources :

Example 1 with ComplianceCheckImpl

use of com.hack23.cia.web.impl.ui.application.views.user.parliament.pagemode.risk.ComplianceCheckImpl in project cia by Hack23.

the class ParliamentRiskPageModContentFactoryImpl method createContent.

@Secured({ "ROLE_ANONYMOUS", "ROLE_USER", "ROLE_ADMIN" })
@Override
public Layout createContent(final String parameters, final MenuBar menuBar, final Panel panel) {
    final VerticalLayout panelContent = createPanelContent();
    getParliamentMenuItemFactory().createParliamentTopicMenu(menuBar);
    final String pageId = getPageId(parameters);
    final HorizontalLayout horizontalLayout = new HorizontalLayout();
    final DataContainer<RuleViolation, String> dataContainer = getApplicationManager().getDataContainer(RuleViolation.class);
    final List<RuleViolation> ruleViolations = dataContainer.getAll();
    final List<ComplianceCheckImpl> checks = new ArrayList<>();
    for (final Entry<String, List<RuleViolation>> idMapViolations : ruleViolations.stream().collect(Collectors.groupingBy(RuleViolation::getReferenceId)).entrySet()) {
        checks.add(new ComplianceCheckImpl(idMapViolations.getValue()));
    }
    Collections.sort(checks, (o1, o2) -> Integer.compare(o2.getRuleViolations().size(), o1.getRuleViolations().size()));
    for (final Entry<Status, List<RuleViolation>> statusEntry : ruleViolations.stream().collect(Collectors.groupingBy(RuleViolation::getStatus)).entrySet()) {
        horizontalLayout.addComponent(new CounterStatisticsCard(VaadinIcons.WARNING, new CounterStatisticModel("ALL:" + statusEntry.getKey(), statusEntry.getValue().size()).withShow(StatisticShow.Sum).withIconHidden().withShowOnlyStatistic(true), "ALL:" + statusEntry.getKey()));
    }
    for (final Entry<ResourceType, List<RuleViolation>> statusEntry : ruleViolations.stream().collect(Collectors.groupingBy(RuleViolation::getResourceType)).entrySet()) {
        horizontalLayout.addComponent(new CounterStatisticsCard(VaadinIcons.WARNING, new CounterStatisticModel("ALL:" + statusEntry.getKey(), statusEntry.getValue().size()).withShow(StatisticShow.Sum).withIconHidden().withShowOnlyStatistic(true), "ALL:" + statusEntry.getKey()));
    }
    panelContent.addComponent(horizontalLayout);
    getGridFactory().createBasicBeanItemGrid(panelContent, ComplianceCheckImpl.class, checks, "Risk", new String[] { "name", "resourceType", "numberRuleViolations", "ruleSummary" }, new String[] { "id", "ruleViolations" }, CLICK_LISTENER, null, null);
    getPageActionEventHelper().createPageEvent(ViewAction.VISIT_PARLIAMENT_RANKING_VIEW, ApplicationEventGroup.USER, NAME, parameters, pageId);
    panel.setCaption(new StringBuilder().append(NAME).append("::").append(PARLIAMENT_RISK_SUMMARY).toString());
    return panelContent;
}
Also used : Status(com.hack23.cia.model.internal.application.data.rules.impl.Status) CounterStatisticsCard(com.github.markash.ui.component.card.CounterStatisticsCard) ArrayList(java.util.ArrayList) ResourceType(com.hack23.cia.model.internal.application.data.rules.impl.ResourceType) RuleViolation(com.hack23.cia.model.internal.application.data.rules.impl.RuleViolation) HorizontalLayout(com.vaadin.ui.HorizontalLayout) ComplianceCheckImpl(com.hack23.cia.web.impl.ui.application.views.user.parliament.pagemode.risk.ComplianceCheckImpl) VerticalLayout(com.vaadin.ui.VerticalLayout) ArrayList(java.util.ArrayList) List(java.util.List) CounterStatisticModel(com.github.markash.ui.component.card.CounterStatisticModel) Secured(org.springframework.security.access.annotation.Secured)

Aggregations

CounterStatisticModel (com.github.markash.ui.component.card.CounterStatisticModel)1 CounterStatisticsCard (com.github.markash.ui.component.card.CounterStatisticsCard)1 ResourceType (com.hack23.cia.model.internal.application.data.rules.impl.ResourceType)1 RuleViolation (com.hack23.cia.model.internal.application.data.rules.impl.RuleViolation)1 Status (com.hack23.cia.model.internal.application.data.rules.impl.Status)1 ComplianceCheckImpl (com.hack23.cia.web.impl.ui.application.views.user.parliament.pagemode.risk.ComplianceCheckImpl)1 HorizontalLayout (com.vaadin.ui.HorizontalLayout)1 VerticalLayout (com.vaadin.ui.VerticalLayout)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 Secured (org.springframework.security.access.annotation.Secured)1