pattern.getConstraint(),
boundParams,
dmo );
fcfp.setFactPattern( factPattern );
ExpressionFormLine expression = new ExpressionFormLine();
fcfp.setExpression( expression );
String dataSource = from.getDataSource().toString();
String[] splitSource = dataSource.split( "\\." );
ModelField[] fields = null;
for ( int i = 0; i < splitSource.length; i++ ) {
String sourcePart = splitSource[ i ];
if ( i == 0 ) {
String type = boundParams.get( sourcePart );
expression.appendPart( new ExpressionVariable( sourcePart, type, DataType.TYPE_NUMERIC ) );
fields = findFields( dmo, m, type );
} else {
ModelField modelField = null;
for ( ModelField field : fields ) {
if ( field.getName().equals( sourcePart ) ) {
modelField = field;
break;
}
}
expression.appendPart( new ExpressionField( sourcePart, modelField.getClassName(), modelField.getType() ) );
fields = findFields( dmo, m, modelField.getClassName() );
}
}
return fcfp;