public void onClick( ClickEvent event ) { Widget sender = (Widget) event.getSource(); if ( sender == fromBtn ) { getFromAccumulatePattern().setSourcePattern( new FromCompositeFactPattern() ); } else if ( sender == fromAccumulateBtn ) { getFromAccumulatePattern().setSourcePattern( new FromAccumulateCompositeFactPattern() ); } else if ( sender == fromCollectBtn ) { getFromAccumulatePattern().setSourcePattern( new FromCollectCompositeFactPattern() ); } else if ( sender == fromEntryPointBtn ) { getFromAccumulatePattern().setSourcePattern( new FromEntryPointFactPattern() ); } else { throw new IllegalArgumentException( "Unknown sender: " + sender ); } setModified( true ); getModeller().refreshWidget(); popup.hide(); } };
public void onClick( ClickEvent event ) { if ( Window.confirm( Constants.INSTANCE.RemoveThisBlockOfData() ) ) { setModified( true ); getFromAccumulatePattern().setSourcePattern( null ); getModeller().refreshWidget(); } } } ) );
public void onChange( ChangeEvent event ) { getFromAccumulatePattern().setSourcePattern( new FactPattern( box.getItemText( box.getSelectedIndex() ) ) ); setModified( true ); getModeller().refreshWidget(); popup.hide(); } } );
AccumulateDescr accumulate = (AccumulateDescr) patternSource; FromAccumulateCompositeFactPattern fac = new FromAccumulateCompositeFactPattern(); fac.setSourcePattern( parseBaseDescr( accumulate.getInput(), boundParams ) ); fac.setFactPattern( new FactPattern( pattern.getObjectType() ) ); for ( AccumulateDescr.AccumulateFunctionCallDescr func : accumulate.getFunctions() ) {
private FromAccumulateCompositeFactPattern visitFromAccumulateCompositeFactPattern( FromAccumulateCompositeFactPattern pattern ) { FromAccumulateCompositeFactPattern clone = new FromAccumulateCompositeFactPattern(); clone.setActionCode( pattern.getActionCode() ); clone.setExpression( (ExpressionFormLine) visit( pattern.getExpression() ) ); clone.setFactPattern( (FactPattern) visit( pattern.getFactPattern() ) ); clone.setFunction( pattern.getFunction() ); clone.setInitCode( pattern.getInitCode() ); clone.setResultCode( pattern.getResultCode() ); clone.setReverseCode( pattern.getReverseCode() ); clone.setSourcePattern( (IPattern) visit( pattern.getSourcePattern() ) ); return clone; }
@Test public void testFromAccumulateWithEmbeddedFromEntryPoint() { RuleModel m = new RuleModel(); m.name = "r1"; SingleFieldConstraint sfc = new SingleFieldConstraint( "bar" ); sfc.setFactType( DataType.TYPE_NUMERIC_INTEGER ); sfc.setFieldBinding( "$a" ); sfc.setOperator( "==" ); sfc.setValue( "777" ); FactPattern fp = new FactPattern( "Foo" ); fp.addConstraint( sfc ); FromEntryPointFactPattern fep = new FromEntryPointFactPattern(); fep.setEntryPointName( "ep" ); fep.setFactPattern( fp ); FromAccumulateCompositeFactPattern fac = new FromAccumulateCompositeFactPattern(); fac.setSourcePattern( fep ); fac.setFactPattern( new FactPattern( "java.util.List" ) ); fac.setFunction( "max($a)" ); m.addLhsItem( fac ); String expected = "rule \"r1\"\n" + "dialect \"mvel\"\n" + "when\n" + "java.util.List( ) from accumulate ( Foo( $a : bar == 777 ) from entry-point \"ep\", \n" + "max($a))\n" + "then\n" + "end"; checkMarshallUnmarshall( expected, m ); }