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 );