/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.customconfigcontroller;
import java.util.Map;
import com.emc.storageos.customconfigcontroller.exceptions.CustomConfigControllerException;
public class MinConstraint extends CustomConfigConstraint {
private static final long serialVersionUID = -6356570983262033063L;
private Map<String, Double> minVals = null;
@Override
public String applyConstraint(String dataField, String systemType) {
Double val = Double.parseDouble(dataField);
Double minVal = getMinVal(systemType);
if (val < minVal) {
return minVal.toString();
}
return dataField;
}
@Override
public void validate(String dataField, String systemType) {
Double minVal = getMinVal(systemType);
Double val = Double.parseDouble(dataField);
if (val < minVal) {
throw CustomConfigControllerException.exceptions.minConstraintViolated(
systemType, val, minVal);
}
}
private Double getMinVal(String systemType) {
if (minVals.containsKey(systemType)) {
return minVals.get(systemType);
}
return minVals.get(CustomConfigConstants.DEFAULT_KEY);
}
public Map<String, Double> getMinVals() {
return minVals;
}
public void setMinVals(Map<String, Double> minVals) {
this.minVals = minVals;
}
}