use of org.drools.workbench.models.datamodel.workitems.PortableObjectParameterDefinition in project drools-wb by kiegroup.
the class WorkItemsEditorServiceImpl method convertWorkItemParameters.
private Set<PortableParameterDefinition> convertWorkItemParameters(final Set<ParameterDefinition> parameters) {
final Set<PortableParameterDefinition> pps = new HashSet<PortableParameterDefinition>();
for (ParameterDefinition pd : parameters) {
final DataType pdt = pd.getType();
PortableParameterDefinition ppd = null;
if (pdt instanceof BooleanDataType) {
ppd = new PortableBooleanParameterDefinition();
} else if (pdt instanceof FloatDataType) {
ppd = new PortableFloatParameterDefinition();
} else if (pdt instanceof IntegerDataType) {
ppd = new PortableIntegerParameterDefinition();
} else if (pdt instanceof ObjectDataType) {
ppd = new PortableObjectParameterDefinition();
final PortableObjectParameterDefinition oppd = (PortableObjectParameterDefinition) ppd;
final ObjectDataType odt = (ObjectDataType) pdt;
oppd.setClassName(odt.getClassName());
} else if (pd.getType() instanceof StringDataType) {
ppd = new PortableStringParameterDefinition();
}
if (ppd != null) {
ppd.setName(pd.getName());
pps.add(ppd);
}
}
return pps;
}
use of org.drools.workbench.models.datamodel.workitems.PortableObjectParameterDefinition 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;
}
Aggregations