public ComplexScore(Characteristic charac, Attribute attrib) { this.characteristicName = charac.getName(); this.attributeIndex = charac.getAttributes().indexOf(attrib); this.complexScore = helper.createPartialScoreFormula(attrib); this.fldNames = new ArrayList<>(); createListOfFieldNames(attrib); }
private void checkForMissingAttributes() { for (Object obj :scorecard.getExtensionsAndCharacteristicsAndMiningSchemas()){ if (obj instanceof Characteristics){ Characteristics characteristics = (Characteristics)obj; for (Characteristic characteristic : characteristics.getCharacteristics()){ String newCellRef = ScorecardPMMLUtils.getExtensionValue(characteristic.getExtensions(), "cellRef"); if ( characteristic.getAttributes().size() == 0 ) { parseErrors.add(new ScorecardError(newCellRef, "Missing Attribute Bins for Characteristic '"+characteristic.getName()+"'.")); } } } } }
String value = ScorecardPMMLUtils.getExtensionValue(attribute.getExtensions(), "predicateResolver"); if (!"TRUE".equalsIgnoreCase(value) && !"FALSE".equalsIgnoreCase(value)){ parseErrors.add(new ScorecardError(newCellRef, "Characteristic '"+characteristic.getName()+"' is Boolean and can support TRUE|FALSE only")); break; String value = ScorecardPMMLUtils.getExtensionValue(attribute.getExtensions(), "predicateResolver"); if (!StringUtil.isNumericWithOperators(value)){ parseErrors.add(new ScorecardError(newCellRef, "Characteristic '"+characteristic.getName()+"' is Number and can support numerics only"));