private void fixConnectiveConstraints(SingleFieldConstraint sfc) { if ( sfc.connectives == null ) { return; } for ( ConnectiveConstraint cc : sfc.connectives ) { if ( cc.getFieldName() == null ) { cc.setFieldName( sfc.getFieldName() ); cc.setFieldType( sfc.getFieldType() ); } } }
private void fixConnectiveConstraints(SingleFieldConstraint sfc) { if ( sfc.connectives == null ) { return; } for ( ConnectiveConstraint cc : sfc.connectives ) { if ( cc.getFieldName() == null ) { cc.setFieldName( sfc.getFieldName() ); cc.setFieldType( sfc.getFieldType() ); } } }
private ConnectiveConstraint visitConnectiveConstraint(ConnectiveConstraint cc) { ConnectiveConstraint clone = new ConnectiveConstraint(); clone.setConstraintValueType( cc.getConstraintValueType() ); clone.setExpressionValue( (ExpressionFormLine) visit( cc.getExpressionValue() ) ); clone.setFieldName( cc.getFieldName() ); clone.setFieldType( cc.getFieldType() ); clone.setOperator( cc.getOperator() ); for ( Map.Entry<String, String> entry : cc.getParameters().entrySet() ) { clone.setParameter( entry.getKey(), entry.getValue() ); } clone.setValue( cc.getValue() ); return clone; }
private ConnectiveConstraint visitConnectiveConstraint(ConnectiveConstraint cc) { ConnectiveConstraint clone = new ConnectiveConstraint(); clone.setConstraintValueType( cc.getConstraintValueType() ); clone.setExpressionValue( (ExpressionFormLine) visit( cc.getExpressionValue() ) ); clone.setFieldName( cc.getFieldName() ); clone.setFieldType( cc.getFieldType() ); clone.setOperator( cc.getOperator() ); for ( Map.Entry<String, String> entry : cc.getParameters().entrySet() ) { clone.setParameter( entry.getKey(), entry.getValue() ); } clone.setValue( cc.getValue() ); return clone; }
@Test public void testConnective() { RuleModel m = new RuleModel(); m.name = "test literal strings"; FactPattern p = new FactPattern( "Person" ); SingleFieldConstraint con = new SingleFieldConstraint(); con.setFieldType( SuggestionCompletionEngine.TYPE_STRING ); con.setFieldName( "field1" ); con.setOperator( "==" ); con.setValue( "goo" ); con.setConstraintValueType( SingleFieldConstraint.TYPE_VARIABLE ); p.addConstraint( con ); ConnectiveConstraint connective = new ConnectiveConstraint(); connective.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL ); connective.setFieldType( SuggestionCompletionEngine.TYPE_STRING ); connective.setOperator( "|| ==" ); connective.setValue( "blah" ); con.connectives = new ConnectiveConstraint[ 1 ]; con.connectives[ 0 ] = connective; m.addLhsItem( p ); String result = BRDRLPersistence.getInstance().marshal( m ); String expected = "rule \"test literal strings\" " + "\tdialect \"mvel\"\n when " + "Person( field1 == goo || == \"blah\" )" + " then " + "end"; assertEqualsIgnoreWhitespace( expected, result ); }
X.connectives[ 0 ] = new ConnectiveConstraint(); X.connectives[ 0 ].setConstraintValueType( ConnectiveConstraint.TYPE_LITERAL ); X.connectives[ 0 ].setFieldType( SuggestionCompletionEngine.TYPE_STRING ); X.connectives[ 0 ].setOperator( "|| ==" ); X.connectives[ 0 ].setValue( "bar" );
sfc0cc0.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL ); sfc0cc0.setFieldName( "sfc0" ); sfc0cc0.setFieldType( SuggestionCompletionEngine.TYPE_STRING ); sfc0cc0.setOperator( "|| ==" ); sfc0cc0.setParameter( "sfc0cc0p0",