Package org.kie.pmml.compiler.api.utils
Class ModelUtils
- java.lang.Object
-
- org.kie.pmml.compiler.api.utils.ModelUtils
-
public class ModelUtils extends java.lang.ObjectClass to provide common methods to interact withModel, to convert org.dmn.pmml objects to Kie ones, etc...
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.List<org.kie.pmml.api.models.Interval>convertDataFieldIntervals(java.util.List<org.dmg.pmml.Interval> toConvert)static java.util.List<java.lang.String>convertDataFieldValues(java.util.List<org.dmg.pmml.Value> toConvert)static org.kie.pmml.api.models.MiningFieldconvertToKieMiningField(org.dmg.pmml.MiningField toConvert, org.dmg.pmml.Field<?> field)Return aorg.kie.pmml.api.models.MiningFieldout of aorg.dmg.pmml.MiningFieldand relativeorg.dmg.pmml.DataFieldonesstatic java.util.List<org.kie.pmml.api.models.MiningField>convertToKieMiningFieldList(org.dmg.pmml.MiningSchema toConvert, java.util.List<org.dmg.pmml.Field<?>> fields)Return aList<org.kie.pmml.api.models.MiningField&glt;out of aorg.dmg.pmml .MiningSchemaonestatic org.kie.pmml.api.models.OutputFieldconvertToKieOutputField(org.dmg.pmml.OutputField toConvert, org.dmg.pmml.Field<?> field)Return aorg.kie.pmml.api.models.OutputFieldout of aorg.dmg.pmml.OutputFieldonestatic java.util.List<org.kie.pmml.api.models.OutputField>convertToKieOutputFieldList(java.util.List<org.dmg.pmml.OutputField> toConvert, java.util.List<org.dmg.pmml.Field<?>> fields)Return aList<org.kie.pmml.api.models.OutputField>out of aList<org.dmg.pmml.OutputField>onestatic java.util.List<org.kie.pmml.api.models.OutputField>convertToKieOutputFieldList(org.dmg.pmml.Output toConvert, java.util.List<org.dmg.pmml.Field<?>> fields)Return aList<org.kie.pmml.api.models.OutputField>out of aorg.dmg.pmml .Outputonestatic org.kie.pmml.api.models.TargetFieldconvertToKieTargetField(org.dmg.pmml.Target toConvert)Return aorg.kie.pmml.api.models.TargetFieldout of aorg.dmg.pmml.Targetstatic java.util.List<org.kie.pmml.api.models.TargetField>convertToKieTargetFieldList(org.dmg.pmml.Targets toConvert)Return aList<org.kie.pmml.api.models.TargetField>out of aorg.dmg.pmml .Targetsstatic org.kie.pmml.api.models.TargetValueconvertToKieTargetValue(org.dmg.pmml.TargetValue toConvert)Return aorg.kie.pmml.api.models.TargetValueout of aorg.dmg.pmml .TargetValuestatic java.util.List<org.kie.pmml.api.models.TargetValue>convertToKieTargetValueList(java.util.List<org.dmg.pmml.TargetValue> toConvert)Return aList<org.kie.pmml.api.models.TargetValue>out of aList<org.dmg.pmml.TargetValue>static java.lang.StringgetBoxedClassName(org.dmg.pmml.DataType dataType)Retrieve the mapped class name of the givenDataType, eventually boxed (for primitive ones).static java.lang.StringgetBoxedClassName(org.dmg.pmml.ParameterField parameterField)Retrieve the mapped class name of the givenParameterField, eventually boxed (for primitive ones) It returns ObjectParameterField.getDataType()is nullstatic org.kie.pmml.api.enums.DATA_TYPEgetDATA_TYPE(java.util.List<org.dmg.pmml.Field<?>> fields, java.lang.String fieldName)DATA_TYPEof the given fieldstatic org.dmg.pmml.DataTypegetDataType(java.util.List<org.dmg.pmml.Field<?>> fields, java.lang.String fieldName)DataTypeof the given field, first looked upon derivedFields and then in dataDictionarystatic java.util.List<org.dmg.pmml.DerivedField>getDerivedFields(org.dmg.pmml.TransformationDictionary transformationDictionary, org.dmg.pmml.LocalTransformations localTransformations)ReturnList<DerivedField>s from the givenTransformationDictionaryandLocalTransformationsstatic java.util.List<org.dmg.pmml.Field<?>>getFieldsFromDataDictionaryAndTransformationDictionary(org.dmg.pmml.DataDictionary dataDictionary, org.dmg.pmml.TransformationDictionary transformationDictionary)static java.util.List<org.dmg.pmml.Field<?>>getFieldsFromDataDictionaryTransformationDictionaryAndModel(org.dmg.pmml.DataDictionary dataDictionary, org.dmg.pmml.TransformationDictionary transformationDictionary, org.dmg.pmml.Model model)static java.util.List<java.lang.Object>getObjectsFromArray(org.dmg.pmml.Array source)static org.kie.pmml.api.enums.OP_TYPEgetOpType(java.util.List<org.dmg.pmml.Field<?>> fields, org.dmg.pmml.Model model, java.lang.String targetFieldName)OP_TYPEmay be defined insideDataField,MiningFieldor both.static java.util.Optional<org.kie.pmml.api.enums.OP_TYPE>getOpTypeFromFields(java.util.List<org.dmg.pmml.Field<?>> fields, java.lang.String fieldName)ReturnOptional<OP_TYPE>of field with given fieldName fromDataDictionarystatic java.util.Optional<org.kie.pmml.api.enums.OP_TYPE>getOpTypeFromMiningFields(org.dmg.pmml.MiningSchema miningSchema, java.lang.String fieldName)ReturnOptional<OP_TYPE>of field with given fieldName fromMiningSchemastatic java.util.Optional<org.kie.pmml.api.enums.OP_TYPE>getOpTypeFromTargets(org.dmg.pmml.Targets targets, java.lang.String fieldName)ReturnOptional<OP_TYPE>of field with given fieldName fromTargetsstatic java.lang.StringgetPrefixedName(javax.xml.namespace.QName qName)static java.util.Map<java.lang.String,java.lang.Object>getRowDataMap(org.dmg.pmml.Row source)static java.util.Optional<java.lang.String>getTargetFieldName(java.util.List<org.dmg.pmml.Field<?>> fields, org.dmg.pmml.Model model)Return anOptionalwith the name of the field whose usageType isTARGETorPREDICTEDstatic java.util.List<org.kie.pmml.commons.model.tuples.KiePMMLNameOpType>getTargetFields(java.util.List<org.dmg.pmml.Field<?>> fields, org.dmg.pmml.Model model)Return aList<KiePMMLNameOpType>of target fields Please note that only predicted/targetMiningFieldare considered.static java.util.Map<java.lang.String,org.kie.pmml.api.enums.DATA_TYPE>getTargetFieldsTypeMap(java.util.List<org.dmg.pmml.Field<?>> fields, org.dmg.pmml.Model model)Returns aMap<String, DATA_TYPE>of target fields, where the key is the name of the field, and the value is the type of the field Please note that only predicted/targetMiningFieldare considered.static org.kie.pmml.api.enums.DATA_TYPEgetTargetFieldType(java.util.List<org.dmg.pmml.Field<?>> fields, org.dmg.pmml.Model model)Return theDATA_TYPEof the field whose usageType isTARGETorPREDICTED.
-
-
-
Method Detail
-
getTargetFieldName
public static java.util.Optional<java.lang.String> getTargetFieldName(java.util.List<org.dmg.pmml.Field<?>> fields, org.dmg.pmml.Model model)Return anOptionalwith the name of the field whose usageType isTARGETorPREDICTEDWhile the xsd schema does not strictly enforce this, it seems that by convention majority of models has only one target.
(see https://github.com/jpmml/jpmml-evaluator/issues/64 discussion)
- Parameters:
fields-model-- Returns:
-
getTargetFieldType
public static org.kie.pmml.api.enums.DATA_TYPE getTargetFieldType(java.util.List<org.dmg.pmml.Field<?>> fields, org.dmg.pmml.Model model)Return theDATA_TYPEof the field whose usageType isTARGETorPREDICTED. It throws exception if none of such fields are foundWhile the xsd schema does not strictly enforce this, it seems that by convention majority of models has only one target.
(see https://github.com/jpmml/jpmml-evaluator/issues/64 discussion)
- Parameters:
fields-model-- Returns:
-
getTargetFields
public static java.util.List<org.kie.pmml.commons.model.tuples.KiePMMLNameOpType> getTargetFields(java.util.List<org.dmg.pmml.Field<?>> fields, org.dmg.pmml.Model model)Return aList<KiePMMLNameOpType>of target fields Please note that only predicted/targetMiningFieldare considered.- Parameters:
fields-model-- Returns:
-
getTargetFieldsTypeMap
public static java.util.Map<java.lang.String,org.kie.pmml.api.enums.DATA_TYPE> getTargetFieldsTypeMap(java.util.List<org.dmg.pmml.Field<?>> fields, org.dmg.pmml.Model model)Returns aMap<String, DATA_TYPE>of target fields, where the key is the name of the field, and the value is the type of the field Please note that only predicted/targetMiningFieldare considered.- Parameters:
fields-model-- Returns:
-
getOpType
public static org.kie.pmml.api.enums.OP_TYPE getOpType(java.util.List<org.dmg.pmml.Field<?>> fields, org.dmg.pmml.Model model, java.lang.String targetFieldName)OP_TYPEmay be defined insideDataField,MiningFieldor both. In the latter case,MiningFieldoverrideDataFielddefinition- Parameters:
fields-model-targetFieldName-- Returns:
-
getOpTypeFromFields
public static java.util.Optional<org.kie.pmml.api.enums.OP_TYPE> getOpTypeFromFields(java.util.List<org.dmg.pmml.Field<?>> fields, java.lang.String fieldName)ReturnOptional<OP_TYPE>of field with given fieldName fromDataDictionary- Parameters:
fields-fieldName-- Returns:
-
getOpTypeFromMiningFields
public static java.util.Optional<org.kie.pmml.api.enums.OP_TYPE> getOpTypeFromMiningFields(org.dmg.pmml.MiningSchema miningSchema, java.lang.String fieldName)ReturnOptional<OP_TYPE>of field with given fieldName fromMiningSchema- Parameters:
miningSchema-fieldName-- Returns:
-
getOpTypeFromTargets
public static java.util.Optional<org.kie.pmml.api.enums.OP_TYPE> getOpTypeFromTargets(org.dmg.pmml.Targets targets, java.lang.String fieldName)ReturnOptional<OP_TYPE>of field with given fieldName fromTargets- Parameters:
targets-fieldName-- Returns:
-
getDataType
public static org.dmg.pmml.DataType getDataType(java.util.List<org.dmg.pmml.Field<?>> fields, java.lang.String fieldName)DataTypeof the given field, first looked upon derivedFields and then in dataDictionary- Parameters:
fields-fieldName-- Returns:
-
getDATA_TYPE
public static org.kie.pmml.api.enums.DATA_TYPE getDATA_TYPE(java.util.List<org.dmg.pmml.Field<?>> fields, java.lang.String fieldName)DATA_TYPEof the given field- Parameters:
fields-fieldName-- Returns:
-
getDerivedFields
public static java.util.List<org.dmg.pmml.DerivedField> getDerivedFields(org.dmg.pmml.TransformationDictionary transformationDictionary, org.dmg.pmml.LocalTransformations localTransformations)ReturnList<DerivedField>s from the givenTransformationDictionaryandLocalTransformations- Parameters:
transformationDictionary-localTransformations-- Returns:
-
getObjectsFromArray
public static java.util.List<java.lang.Object> getObjectsFromArray(org.dmg.pmml.Array source)
-
convertToKieMiningFieldList
public static java.util.List<org.kie.pmml.api.models.MiningField> convertToKieMiningFieldList(org.dmg.pmml.MiningSchema toConvert, java.util.List<org.dmg.pmml.Field<?>> fields)Return aList<org.kie.pmml.api.models.MiningField&glt;out of aorg.dmg.pmml .MiningSchemaone- Parameters:
toConvert-fields-- Returns:
-
convertToKieMiningField
public static org.kie.pmml.api.models.MiningField convertToKieMiningField(org.dmg.pmml.MiningField toConvert, org.dmg.pmml.Field<?> field)Return aorg.kie.pmml.api.models.MiningFieldout of aorg.dmg.pmml.MiningFieldand relativeorg.dmg.pmml.DataFieldones- Parameters:
toConvert-field-- Returns:
-
convertToKieOutputFieldList
public static java.util.List<org.kie.pmml.api.models.OutputField> convertToKieOutputFieldList(org.dmg.pmml.Output toConvert, java.util.List<org.dmg.pmml.Field<?>> fields)Return aList<org.kie.pmml.api.models.OutputField>out of aorg.dmg.pmml .Outputone- Parameters:
toConvert-- Returns:
-
convertToKieOutputFieldList
public static java.util.List<org.kie.pmml.api.models.OutputField> convertToKieOutputFieldList(java.util.List<org.dmg.pmml.OutputField> toConvert, java.util.List<org.dmg.pmml.Field<?>> fields)Return aList<org.kie.pmml.api.models.OutputField>out of aList<org.dmg.pmml.OutputField>one- Parameters:
toConvert-- Returns:
-
convertToKieOutputField
public static org.kie.pmml.api.models.OutputField convertToKieOutputField(org.dmg.pmml.OutputField toConvert, org.dmg.pmml.Field<?> field)Return aorg.kie.pmml.api.models.OutputFieldout of aorg.dmg.pmml.OutputFieldone- Parameters:
toConvert-field- - this may benull- Returns:
-
convertToKieTargetFieldList
public static java.util.List<org.kie.pmml.api.models.TargetField> convertToKieTargetFieldList(org.dmg.pmml.Targets toConvert)
Return aList<org.kie.pmml.api.models.TargetField>out of aorg.dmg.pmml .Targets- Parameters:
toConvert-- Returns:
-
convertToKieTargetField
public static org.kie.pmml.api.models.TargetField convertToKieTargetField(org.dmg.pmml.Target toConvert)
Return aorg.kie.pmml.api.models.TargetFieldout of aorg.dmg.pmml.Target- Parameters:
toConvert-- Returns:
-
convertToKieTargetValueList
public static java.util.List<org.kie.pmml.api.models.TargetValue> convertToKieTargetValueList(java.util.List<org.dmg.pmml.TargetValue> toConvert)
Return aList<org.kie.pmml.api.models.TargetValue>out of aList<org.dmg.pmml.TargetValue>- Parameters:
toConvert-- Returns:
-
convertToKieTargetValue
public static org.kie.pmml.api.models.TargetValue convertToKieTargetValue(org.dmg.pmml.TargetValue toConvert)
Return aorg.kie.pmml.api.models.TargetValueout of aorg.dmg.pmml .TargetValue- Parameters:
toConvert-- Returns:
-
getBoxedClassName
public static java.lang.String getBoxedClassName(org.dmg.pmml.ParameterField parameterField)
Retrieve the mapped class name of the givenParameterField, eventually boxed (for primitive ones) It returns ObjectParameterField.getDataType()is null- Parameters:
parameterField-- Returns:
-
getBoxedClassName
public static java.lang.String getBoxedClassName(org.dmg.pmml.DataType dataType)
Retrieve the mapped class name of the givenDataType, eventually boxed (for primitive ones). It returns Object if null- Parameters:
dataType-- Returns:
-
getFieldsFromDataDictionaryAndTransformationDictionary
public static java.util.List<org.dmg.pmml.Field<?>> getFieldsFromDataDictionaryAndTransformationDictionary(org.dmg.pmml.DataDictionary dataDictionary, org.dmg.pmml.TransformationDictionary transformationDictionary)
-
getFieldsFromDataDictionaryTransformationDictionaryAndModel
public static java.util.List<org.dmg.pmml.Field<?>> getFieldsFromDataDictionaryTransformationDictionaryAndModel(org.dmg.pmml.DataDictionary dataDictionary, org.dmg.pmml.TransformationDictionary transformationDictionary, org.dmg.pmml.Model model)
-
convertDataFieldValues
public static java.util.List<java.lang.String> convertDataFieldValues(java.util.List<org.dmg.pmml.Value> toConvert)
-
convertDataFieldIntervals
public static java.util.List<org.kie.pmml.api.models.Interval> convertDataFieldIntervals(java.util.List<org.dmg.pmml.Interval> toConvert)
-
getRowDataMap
public static java.util.Map<java.lang.String,java.lang.Object> getRowDataMap(org.dmg.pmml.Row source)
-
getPrefixedName
public static java.lang.String getPrefixedName(javax.xml.namespace.QName qName)
-
-