AttributeCol attr = new AttributeCol();
attr.setAttribute( "salience" );
attr.setDefaultValue( "66" );
dt.getAttributeCols().add( attr );
ConditionCol con = new ConditionCol();
con.setBoundName( "f1" );
con.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
con.setFactField( "age" );
con.setFactType( "Driver" );
con.setHeader( "Driver f1 age" );
con.setOperator( "==" );
dt.getConditionCols().add( con );
ConditionCol con2 = new ConditionCol();
con2.setBoundName( "f1" );
con2.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL );
con2.setFactField( "name" );
con2.setFactType( "Driver" );
con2.setHeader( "Driver f1 name" );
con2.setOperator( "==" );
dt.getConditionCols().add( con2 );
ConditionCol con3 = new ConditionCol();
con3.setBoundName( "f1" );
con3.setConstraintValueType( BaseSingleFieldConstraint.TYPE_RET_VALUE );
con3.setFactField( "rating" );
con3.setFactType( "Driver" );
con3.setHeader( "Driver rating" );
con3.setOperator( "==" );
dt.getConditionCols().add( con3 );
ConditionCol con4 = new ConditionCol();
con4.setBoundName( "f2" );
con4.setConstraintValueType( BaseSingleFieldConstraint.TYPE_PREDICATE );
con4.setFactType( "Driver" );
con4.setHeader( "Driver 2 pimp" );
con4.setFactField( "(not needed)" );
dt.getConditionCols().add( con4 );
ActionInsertFactCol ins = new ActionInsertFactCol();
ins.setBoundName( "ins" );
ins.setFactType( "Cheese" );