package org.ovirt.engine.core.common.businessentities;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import org.ovirt.engine.core.common.businessentities.Erratum.ErrataSeverity;
import org.ovirt.engine.core.common.businessentities.Erratum.ErrataType;
/**
* A simple counter for counting errata by type and severity. Primarily used by the 'dashboard'
* views in the 'Hosts > General > Errata' and 'VMs > Errata' subtabs.
*/
public class ErrataCounts implements Serializable {
private static final long serialVersionUID = -1790668006895698912L;
/**
* The total amount of errata per content host
*/
private int totalErrata;
/**
* The sub-total amount of errata per content host, according to the search query used to filter the errata
*/
private int subTotalErrata;
/**
* A map of errata-type to the total amount of errata of that type
*/
private Map<ErrataType, ErrataCount> errataCountByType;
public ErrataCounts() {
errataCountByType = new HashMap<>();
}
public int getCountByType(ErrataType type) {
if (errataCountByType.containsKey(type)) {
return errataCountByType.get(type).getTotalCount();
}
return 0;
}
public int getCountByTypeAndSeverity(ErrataType type, ErrataSeverity severity) {
if (errataCountByType.containsKey(type)
&& errataCountByType.get(type).getCountBySeverity().containsKey(severity)) {
return errataCountByType.get(type).getCountBySeverity().get(severity);
}
return 0;
}
public int getTotalErrata() {
return totalErrata;
}
public void setTotalErrata(int totalErrata) {
this.totalErrata = totalErrata;
}
public int getSubTotalErrata() {
return subTotalErrata;
}
public void setSubTotalErrata(int subTotalErrata) {
this.subTotalErrata = subTotalErrata;
}
public Map<ErrataType, ErrataCount> getErrataCountByType() {
return errataCountByType;
}
}