use of org.drools.workbench.models.guided.dtree.shared.model.nodes.ActionFieldValue in project drools by kiegroup.
the class GuidedDecisionTreeModelMarshallingVisitor method generateActionInsertNodeDRL.
protected void generateActionInsertNodeDRL(final ActionInsertNode an, final Node context, final boolean hasDateFieldValue, final StringBuilder drl) {
if (context == null) {
// No previous context to close
} else if (context instanceof ConstraintNode) {
drl.append(")\n").append(INDENTATION).append("then \n");
if (hasDateFieldValue) {
drl.append(INDENTATION).append(INDENTATION).append("java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(\"" + DateUtils.getDateFormatMask() + "\");\n");
}
} else if (context instanceof TypeNode) {
drl.append(")\n").append(INDENTATION).append("then \n");
if (hasDateFieldValue) {
drl.append(INDENTATION).append(INDENTATION).append("java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(\"" + DateUtils.getDateFormatMask() + "\");\n");
}
}
final Iterator<ActionFieldValue> itr = an.getFieldValues().iterator();
if (!itr.hasNext()) {
return;
}
final String var = "$var" + (varCounter++);
drl.append(INDENTATION).append(INDENTATION).append(an.getClassName()).append(" ").append(var).append(" = new ").append(an.getClassName()).append("();\n");
while (itr.hasNext()) {
final ActionFieldValue afv = itr.next();
drl.append(INDENTATION).append(INDENTATION).append(var).append(".");
drl.append("set");
drl.append(Character.toUpperCase(afv.getFieldName().charAt(0)));
drl.append(afv.getFieldName().substring(1));
drl.append("( ").append(generateRHSValueDRL(afv.getValue())).append(" );\n");
}
if (an.isLogicalInsertion()) {
drl.append(INDENTATION).append(INDENTATION).append("insertLogical( ").append(var).append(" );\n");
} else {
drl.append(INDENTATION).append(INDENTATION).append("insert( ").append(var).append(" );\n");
}
}
use of org.drools.workbench.models.guided.dtree.shared.model.nodes.ActionFieldValue in project drools by kiegroup.
the class GuidedDecisionTreeModelUnmarshallingVisitor method visit.
private List<Node> visit(final IAction a, final List<TypeNode> types, final GuidedDecisionTree model, final PackageDataModelOracle dmo, final List<ParserMessage> messages) {
final List<Node> nodes = new ArrayList<Node>();
if (a instanceof ActionRetractFact) {
final ActionRetractFact arf = (ActionRetractFact) a;
final String binding = arf.getVariableName();
for (TypeNode tn : types) {
if (tn.isBound()) {
if (tn.getBinding().equals(binding)) {
final ActionRetractNode arn = new ActionRetractNodeImpl(tn);
nodes.add(arn);
return nodes;
}
}
}
messages.add(new BindingNotFoundParserMessage(binding));
return nodes;
} else if (a instanceof ActionInsertLogicalFact) {
final ActionInsertLogicalFact aif = (ActionInsertLogicalFact) a;
final ActionInsertNode aun = new ActionInsertNodeImpl(aif.getFactType());
aun.setLogicalInsertion(true);
for (org.drools.workbench.models.datamodel.rule.ActionFieldValue afv : aif.getFieldValues()) {
if (afv.getNature() != FieldNatureType.TYPE_LITERAL) {
messages.add(new UnsupportedFieldNatureTypeParserMessage());
return nodes;
}
final String fieldName = afv.getField();
final Value value = getValue(aif.getFactType(), afv.getField(), model, dmo, messages, afv.getValue());
if (value != null) {
final ActionFieldValue _afv = new ActionFieldValueImpl(fieldName, value);
aun.getFieldValues().add(_afv);
}
}
nodes.add(aun);
return nodes;
} else if (a instanceof ActionInsertFact) {
final ActionInsertFact aif = (ActionInsertFact) a;
final ActionInsertNode aun = new ActionInsertNodeImpl(aif.getFactType());
aun.setLogicalInsertion(false);
for (org.drools.workbench.models.datamodel.rule.ActionFieldValue afv : aif.getFieldValues()) {
if (afv.getNature() != FieldNatureType.TYPE_LITERAL) {
messages.add(new UnsupportedFieldNatureTypeParserMessage());
return nodes;
}
final String fieldName = afv.getField();
final Value value = getValue(aif.getFactType(), afv.getField(), model, dmo, messages, afv.getValue());
if (value != null) {
final ActionFieldValue _afv = new ActionFieldValueImpl(fieldName, value);
aun.getFieldValues().add(_afv);
}
}
nodes.add(aun);
return nodes;
} else if (a instanceof ActionUpdateField) {
final ActionUpdateField auf = (ActionUpdateField) a;
final String binding = auf.getVariable();
for (TypeNode tn : types) {
if (tn.isBound()) {
if (tn.getBinding().equals(binding)) {
final ActionUpdateNode aun = new ActionUpdateNodeImpl(tn);
aun.setModify(true);
for (org.drools.workbench.models.datamodel.rule.ActionFieldValue afv : auf.getFieldValues()) {
if (afv.getNature() != FieldNatureType.TYPE_LITERAL) {
messages.add(new UnsupportedFieldNatureTypeParserMessage());
return nodes;
}
final String fieldName = afv.getField();
final Value value = getValue(tn.getClassName(), afv.getField(), model, dmo, messages, afv.getValue());
if (value != null) {
final ActionFieldValue _afv = new ActionFieldValueImpl(fieldName, value);
aun.getFieldValues().add(_afv);
}
}
nodes.add(aun);
return nodes;
}
}
}
messages.add(new BindingNotFoundParserMessage(binding));
return nodes;
} else if (a instanceof ActionSetField) {
final ActionSetField asf = (ActionSetField) a;
final String binding = asf.getVariable();
for (TypeNode tn : types) {
if (tn.isBound()) {
if (tn.getBinding().equals(binding)) {
final ActionUpdateNode aun = new ActionUpdateNodeImpl(tn);
for (org.drools.workbench.models.datamodel.rule.ActionFieldValue afv : asf.getFieldValues()) {
if (afv.getNature() != FieldNatureType.TYPE_LITERAL) {
messages.add(new UnsupportedFieldNatureTypeParserMessage());
return nodes;
}
final String fieldName = afv.getField();
final Value value = getValue(tn.getClassName(), afv.getField(), model, dmo, messages, afv.getValue());
if (value != null) {
final ActionFieldValue _afv = new ActionFieldValueImpl(fieldName, value);
aun.getFieldValues().add(_afv);
}
}
nodes.add(aun);
return nodes;
}
}
}
messages.add(new BindingNotFoundParserMessage(binding));
return nodes;
} else {
messages.add(new UnsupportedIActionParserMessage());
return nodes;
}
}
use of org.drools.workbench.models.guided.dtree.shared.model.nodes.ActionFieldValue in project drools by kiegroup.
the class GuidedDecisionTreeModelMarshallingVisitor method generateActionSetNodeDRL.
protected void generateActionSetNodeDRL(final ActionUpdateNode an, final StringBuilder drl) {
final Iterator<ActionFieldValue> itr = an.getFieldValues().iterator();
while (itr.hasNext()) {
final ActionFieldValue afv = itr.next();
drl.append(INDENTATION).append(INDENTATION).append(an.getBoundNode().getBinding()).append(".");
drl.append("set");
drl.append(Character.toUpperCase(afv.getFieldName().charAt(0)));
drl.append(afv.getFieldName().substring(1));
drl.append("( ").append(generateRHSValueDRL(afv.getValue())).append(" );\n");
}
}
use of org.drools.workbench.models.guided.dtree.shared.model.nodes.ActionFieldValue in project drools-wb by kiegroup.
the class EditActionInsertPopup method initialiseFieldValues.
private void initialiseFieldValues() {
containerFieldValues.clear();
addFieldValueButton.setEnabled(true);
for (ActionFieldValue afv : clone.getFieldValues()) {
final ActionFieldValueEditor afvEditor = new ActionFieldValueEditor(clone.getClassName(), afv, clone.getFieldValues(), oracle, onDeleteCallback);
containerFieldValues.add(afvEditor);
}
}
use of org.drools.workbench.models.guided.dtree.shared.model.nodes.ActionFieldValue in project drools-wb by kiegroup.
the class EditActionInsertPopup method onAddFieldValueButtonClick.
@UiHandler("addFieldValueButton")
void onAddFieldValueButtonClick(final ClickEvent event) {
final ActionFieldValue afv = new ActionFieldValueImpl();
final ActionFieldValueEditor afvEditor = new ActionFieldValueEditor(clone.getClassName(), afv, clone.getFieldValues(), oracle, onDeleteCallback);
containerFieldValues.add(afvEditor);
clone.getFieldValues().add(afv);
}
Aggregations