ComplianceCheckImpl.java

  1. package com.hack23.cia.web.impl.ui.application.views.user.parliament.pagemode.risk;

  2. import java.util.ArrayList;
  3. import java.util.List;

  4. import com.hack23.cia.model.internal.application.data.rules.impl.ResourceType;
  5. import com.hack23.cia.model.internal.application.data.rules.impl.RuleViolation;
  6. import com.hack23.cia.service.api.action.kpi.ComplianceCheck;

  7. /**
  8.  * The Class ComplianceCheckImpl.
  9.  */
  10. public class ComplianceCheckImpl implements ComplianceCheck {

  11.     /** The Constant serialVersionUID. */
  12.     private static final long serialVersionUID = 1L;

  13.     /** The rule violations. */
  14.     private final List<RuleViolation> ruleViolations;

  15.     /** The resource type. */
  16.     private final ResourceType resourceType;

  17.     /** The id. */
  18.     private final String id;

  19.     /** The name. */
  20.     private final String name;

  21.     /**
  22.      * Instantiates a new compliance check impl.
  23.      *
  24.      * @param ruleViolations the rule violations
  25.      */
  26.     public ComplianceCheckImpl(final List<RuleViolation> ruleViolations) {
  27.         this.ruleViolations = new ArrayList<>(ruleViolations);
  28.         this.resourceType = ruleViolations.get(0).getResourceType();
  29.         this.id = ruleViolations.get(0).getReferenceId();
  30.         this.name = ruleViolations.get(0).getName();
  31.     }

  32.     @Override
  33.     public ResourceType getResourceType() {
  34.         return resourceType;
  35.     }

  36.     @Override
  37.     public List<RuleViolation> getRuleViolations() {
  38.         return new ArrayList<>(ruleViolations);
  39.     }


  40.     /**
  41.      * Gets the number rule violations.
  42.      *
  43.      * @return the number rule violations
  44.      */
  45.     public int getNumberRuleViolations() {
  46.         return ruleViolations.size();
  47.     }

  48.     /**
  49.      * Gets the rule summary.
  50.      *
  51.      * @return the rule summary
  52.      */
  53.     public String getRuleSummary() {
  54.         final StringBuilder builder = new StringBuilder();
  55.         for (final RuleViolation ruleViolation : ruleViolations) {
  56.             builder.append('[').append(ruleViolation.getRuleName()).append('/').append(ruleViolation.getStatus()) .append(']');
  57.         }
  58.         return builder.toString();
  59.     }

  60.     @Override
  61.     public String getId() {
  62.         return id;
  63.     }

  64.     @Override
  65.     public String getName() {
  66.         return name;
  67.     }
  68. }