Search in sources :

Example 1 with HasBinding

use of org.drools.workbench.models.datamodel.workitems.HasBinding in project drools by kiegroup.

the class RuleModelDRLPersistenceImpl method buildPortableParameterDefinition.

private PortableParameterDefinition buildPortableParameterDefinition(final String name, final String value, final Map<String, String> boundParams) {
    PortableParameterDefinition paramDef;
    String type = boundParams.get(value);
    if (type != null) {
        if (type.equals("Boolean")) {
            paramDef = new PortableBooleanParameterDefinition();
        } else if (type.equals("String")) {
            paramDef = new PortableStringParameterDefinition();
        } else if (type.equals("Float")) {
            paramDef = new PortableBooleanParameterDefinition();
        } else if (type.equals("Integer")) {
            paramDef = new PortableIntegerParameterDefinition();
        } else {
            paramDef = new PortableObjectParameterDefinition();
        }
        ((HasBinding) paramDef).setBinding(value);
    } else if (value.equals("true") || value.equals("false") || value.equals("Boolean.TRUE") || value.equals("Boolean.FALSE")) {
        paramDef = new PortableBooleanParameterDefinition();
        boolean b = value.equals("true") || value.equals("Boolean.TRUE");
        ((PortableBooleanParameterDefinition) paramDef).setValue(b);
    } else if (value.startsWith("\"")) {
        paramDef = new PortableStringParameterDefinition();
        ((PortableStringParameterDefinition) paramDef).setValue(value.substring(1, value.length() - 1));
    } else if (Character.isDigit(value.charAt(0))) {
        if (value.endsWith("f")) {
            paramDef = new PortableFloatParameterDefinition();
            ((PortableFloatParameterDefinition) paramDef).setValue(Float.parseFloat(value));
        } else {
            paramDef = new PortableIntegerParameterDefinition();
            ((PortableIntegerParameterDefinition) paramDef).setValue(Integer.parseInt(value));
        }
    } else {
        throw new RuntimeException("Unknown parameter " + value);
    }
    paramDef.setName(name.substring(1, name.length() - 1));
    return paramDef;
}
Also used : PortableStringParameterDefinition(org.drools.workbench.models.datamodel.workitems.PortableStringParameterDefinition) PortableIntegerParameterDefinition(org.drools.workbench.models.datamodel.workitems.PortableIntegerParameterDefinition) PortableFloatParameterDefinition(org.drools.workbench.models.datamodel.workitems.PortableFloatParameterDefinition) PortableObjectParameterDefinition(org.drools.workbench.models.datamodel.workitems.PortableObjectParameterDefinition) PortableParameterDefinition(org.drools.workbench.models.datamodel.workitems.PortableParameterDefinition) HasBinding(org.drools.workbench.models.datamodel.workitems.HasBinding) PortableBooleanParameterDefinition(org.drools.workbench.models.datamodel.workitems.PortableBooleanParameterDefinition)

Aggregations

HasBinding (org.drools.workbench.models.datamodel.workitems.HasBinding)1 PortableBooleanParameterDefinition (org.drools.workbench.models.datamodel.workitems.PortableBooleanParameterDefinition)1 PortableFloatParameterDefinition (org.drools.workbench.models.datamodel.workitems.PortableFloatParameterDefinition)1 PortableIntegerParameterDefinition (org.drools.workbench.models.datamodel.workitems.PortableIntegerParameterDefinition)1 PortableObjectParameterDefinition (org.drools.workbench.models.datamodel.workitems.PortableObjectParameterDefinition)1 PortableParameterDefinition (org.drools.workbench.models.datamodel.workitems.PortableParameterDefinition)1 PortableStringParameterDefinition (org.drools.workbench.models.datamodel.workitems.PortableStringParameterDefinition)1