protected void initMiningFieldMap() throws IllegalArgumentException { MiningSchema schema = getMiningSchema(); boolean addExternalBeanRefs = isUseExternalBeanRefs(schema); miningFieldMap = new HashMap<>(); externalMiningFields = new ArrayList<>(); for (MiningField field : schema.getMiningFields()) { miningFieldMap.put(field.getName(), field); if (addExternalBeanRefs) { Extension ext = getExternalClassInfo(field.getExtensions()); if (ext != null) { ExternalBeanRef ref; try { ref = new ExternalBeanRef(field.getName(), ext.getValue(), ModelUsage.MINING); if (ExternalBeanDefinition.DEFAULT_BEAN_PKG.equals(ref.getBeanPackageName()) && this.getOwner().getRootPackage() != null) { ref.setBeanPackageName(this.getOwner().getRootPackage()); } externalMiningFields.add(ref); } catch (IllegalArgumentException e) { throw new IllegalArgumentException("Error while initializing the MiningField map. ",e); } } } } }
if ( extension != null ) { characteristic.getExtensions().remove(extension); if ( ScorecardPMMLUtils.getExtension(miningField.getExtensions(), PMMLExtensionNames.EXTERNAL_CLASS ) == null ) { miningField.getExtensions().add(extension);
extension.setName(PMMLExtensionNames.EXTERNAL_CLASS); extension.setValue(characteristic.getFact()); miningField.getExtensions().add(extension);