/* * */ package au.org.aurin.wif.model.suitability; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import au.org.aurin.wif.model.ScenarioCouchDoc; import au.org.aurin.wif.model.allocation.AllocationLU; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; /** * The Class SuitabilityRule. */ @JsonPropertyOrder({ "id", "docType", "suitabilityLU", "convertibleLUs" }) // @JsonInclude(Include.NON_NULL) public class SuitabilityRule extends ScenarioCouchDoc { /** The Constant serialVersionUID. */ private static final long serialVersionUID = -7737874431897648747L; /** The suitability scenario. */ @JsonIgnore private SuitabilityScenario suitabilityScenario; /** The suitability lu. */ @JsonIgnore private SuitabilityLU suitabilityLU; /** The convertible l us. */ @JsonIgnore private Set<AllocationLU> convertibleLUs; /** The factor importances. */ private Set<FactorImportance> factorImportances; /** The suitability lu map. */ @JsonIgnore private Map<String, String> suitabilityLUMap; /** The convertible l us map. */ @JsonIgnore private Map<String, String> convertibleLUsMap; /** * Update new values. * * @param copyRule * the copy rule */ public void updateNewValues(SuitabilityRule copyRule) { Set<FactorImportance> importances = this.getFactorImportances(); for (FactorImportance factorImportance : importances) { for (FactorImportance copyImportance : copyRule.getFactorImportances()) { // if (copyImportance.getId().equals(factorImportance.getId())) { // // factorImportance.updateNewValues(copyImportance); // } } } this.setConvertibleLUs(copyRule.getConvertibleLUs()); } /** * Gets the suitability scenario. * * @return the suitability scenario */ public SuitabilityScenario getSuitabilityScenario() { return suitabilityScenario; } /** * Sets the suitability scenario. * * @param suitabilityScenario * the new suitability scenario */ public void setSuitabilityScenario(SuitabilityScenario suitabilityScenario) { this.suitabilityScenario = suitabilityScenario; } /** * Gets the suitability lu. * * @return the suitability lu */ public SuitabilityLU getSuitabilityLU() { return suitabilityLU; } /** * Sets the suitability lu. * * @param suitabilityLU * the new suitability lu */ public void setSuitabilityLU(SuitabilityLU suitabilityLU) { this.suitabilityLU = suitabilityLU; } /** * Gets the convertible l us. * * @return the convertible l us */ public Set<AllocationLU> getConvertibleLUs() { return convertibleLUs; } /** * Gets the convertible l us map. * * @return the convertible l us map */ @JsonProperty(value = "convertibleLUs") public Map<String, String> getConvertibleLUsMap() { return this.convertibleLUsMap; } /** * Sets the convertible l us map. * * @param idLabelMap * the id label map */ @JsonProperty(value = "convertibleLUs") public void setConvertibleLUsMap(Map<String, String> idLabelMap) { this.convertibleLUsMap = idLabelMap; } /** * Sets the convertible l us. * * @param convertibleLUs * the new convertible l us */ public void setConvertibleLUs(Set<AllocationLU> convertibleLUs) { this.convertibleLUs = convertibleLUs; } /** * Sets the factor importances. * * @param factorImportances * the new factor importances */ public void setFactorImportances(Set<FactorImportance> factorImportances) { this.factorImportances = factorImportances; } /** * Gets the factor importances. * * @return the factor importances */ public Set<FactorImportance> getFactorImportances() { return factorImportances; } /** * Gets the suitability lu map. * * @return the suitability lu map */ @JsonProperty(value = "suitabilityLU") public Map<String, String> getSuitabilityLUMap() { return suitabilityLUMap; } // @JsonProperty(value = "label") // public String getLabel() { // return suitabilityLUMap.values().toString(); // } /** * Sets the suitability lu map. * * @param suitabilityLUMap * the suitability lu map */ @JsonProperty(value = "suitabilityLU") public void setSuitabilityLUMap(Map<String, String> suitabilityLUMap) { this.suitabilityLUMap = suitabilityLUMap; } /* * (non-Javadoc) * @see java.lang.Object#toString() */ @Override public String toString() { return "SuitabilityRule [" + (suitabilityScenario != null ? "suitabilityScenario=" + suitabilityScenario + ", " : "") + (suitabilityLU != null ? "suitabilityLU=" + suitabilityLU + ", " : "") + (convertibleLUs != null ? "convertibleLUs=" + convertibleLUs + ", " : "") + (factorImportances != null ? "factorImportances=" + factorImportances + ", " : "") + (suitabilityLUMap != null ? "suitabilityLUMap=" + suitabilityLUMap + ", " : "") + (convertibleLUsMap != null ? "convertibleLUsMap=" + convertibleLUsMap + ", " : "") + (docType != null ? "docType=" + docType + ", " : "") + (getScenarioId() != null ? "getScenarioId()=" + getScenarioId() + ", " : "") + (getId() != null ? "getId()=" + getId() + ", " : "") + (getRevision() != null ? "getRevision()=" + getRevision() : "") + "]"; } /** * */ public SuitabilityRule() { super(); convertibleLUsMap = new HashMap<String, String>(); suitabilityLUMap = new HashMap<String, String>(); convertibleLUs = new HashSet<AllocationLU>(); factorImportances = new HashSet<FactorImportance>(); } }