@Override public List<String> getAllVariables() { Set<String> variables = new HashSet<String>(); variables.addAll( getAllLHSVariables() ); variables.addAll( getAllRHSVariables() ); return new ArrayList<String>( variables ); }
BRLRuleModel model = new BRLRuleModel( dt ); FactPattern fp = new FactPattern( "Driver" ); fp.setBoundName( "$brl1" ); model.addLhsItem( fp ); assertNotNull( model.getLHSBoundFacts() ); assertEquals( 2, model.getLHSBoundFacts().size() ); assertTrue( model.getLHSBoundFacts().contains( "$p1" ) ); assertTrue( model.getLHSBoundFacts().contains( "$brl1" ) ); assertNotNull( model.getLHSBindingType( "$p1" ) ); assertEquals( "Driver", model.getLHSBindingType( "$p1" ) ); assertNotNull( model.getLHSBindingType( "$brl1" ) ); assertEquals( "Driver", model.getLHSBindingType( "$brl1" ) ); FactPattern r1 = model.getLHSBoundFact( "$p1" ); assertNotNull( r1 ); assertTrue( r1 instanceof BRLRuleModel.Pattern52FactPatternAdaptor ); raif1.getFactType() ); FactPattern r2 = model.getLHSBoundFact( "$brl1" ); assertNotNull( r2 ); assertEquals( "Driver",
BRLRuleModel model = new BRLRuleModel( dt ); ActionInsertFact aif = new ActionInsertFact( "Person" ); aif.setBoundName( "$aif" ); SuggestionCompletionEngine.TYPE_STRING ) ); aif.fieldValues[0].nature = BaseSingleFieldConstraint.TYPE_LITERAL; model.addRhsItem( aif ); assertNotNull( model.getRHSBoundFacts() ); assertEquals( 2, model.getRHSBoundFacts().size() ); assertTrue( model.getRHSBoundFacts().contains( "$ins" ) ); assertTrue( model.getRHSBoundFacts().contains( "$aif" ) ); ActionInsertFact r1 = model.getRHSBoundFact( "$ins" ); assertNotNull( r1 ); assertTrue( r1 instanceof BRLRuleModel.ActionInsertFactCol52ActionInsertFactAdaptor ); raif1.fieldValues[0].nature ); ActionInsertFact r2 = model.getRHSBoundFact( "$aif" ); assertNotNull( r2 ); assertTrue( r2 instanceof ActionInsertFact );
dt.getActionCols().add( brlAction ); BRLRuleModel model = new BRLRuleModel( dt ); assertNotNull( model.getAllVariables() ); assertEquals( 4, model.getAllVariables().size() ); assertTrue( model.getAllVariables().contains( "$p1" ) ); assertTrue( model.getAllVariables().contains( "$c1" ) ); assertTrue( model.getAllVariables().contains( "$ins" ) ); assertTrue( model.getAllVariables().contains( "$aif" ) ); assertNotNull( model.getRHSBoundFacts() ); assertEquals( 2, model.getRHSBoundFacts().size() ); assertTrue( model.getRHSBoundFacts().contains( "$ins" ) ); assertTrue( model.getRHSBoundFacts().contains( "$aif" ) ); ActionInsertFact r1 = model.getRHSBoundFact( "$ins" ); assertNotNull( r1 ); assertTrue( r1 instanceof BRLRuleModel.ActionInsertFactCol52ActionInsertFactAdaptor ); raif1.fieldValues[0].nature ); ActionInsertFact r2 = model.getRHSBoundFact( "$aif" ); assertNotNull( r2 ); assertTrue( r2 instanceof ActionInsertFact );
dt.getActionCols().add( brlAction ); BRLRuleModel model = new BRLRuleModel( dt ); assertNotNull( model.getRHSBoundFacts() ); assertEquals( 3, model.getRHSBoundFacts().size() ); assertTrue( model.getRHSBoundFacts().contains( "$ins" ) ); assertTrue( model.getRHSBoundFacts().contains( "$ins2" ) ); assertTrue( model.getRHSBoundFacts().contains( "$aif" ) ); ActionInsertFact r1 = model.getRHSBoundFact( "$ins" ); assertNotNull( r1 ); assertTrue( r1 instanceof BRLRuleModel.ActionInsertFactCol52ActionInsertFactAdaptor ); raif1.fieldValues[0].nature ); ActionInsertFact r2 = model.getRHSBoundFact( "$ins2" ); assertNotNull( r2 ); assertTrue( r2 instanceof BRLRuleModel.ActionInsertFactCol52ActionInsertLogicalFactAdaptor ); raif2.fieldValues[0].nature ); ActionInsertFact r3 = model.getRHSBoundFact( "$aif" ); assertNotNull( r3 ); assertTrue( r3 instanceof ActionInsertFact );
@Test public void testOnlyDecisionTableColumns() { GuidedDecisionTable52 dt = new GuidedDecisionTable52(); Pattern52 p1 = new Pattern52(); p1.setFactType( "Driver" ); p1.setBoundName( "$p1" ); ConditionCol52 c1 = new ConditionCol52(); c1.setFactField( "name" ); c1.setConstraintValueType( BaseSingleFieldConstraint.TYPE_LITERAL ); c1.setBinding( "$c1" ); p1.getChildColumns().add( c1 ); dt.getConditions().add( p1 ); ActionInsertFactCol52 ins = new ActionInsertFactCol52(); ins.setBoundName( "$ins" ); ins.setFactField( "rating" ); ins.setFactType( "Person" ); ins.setType( SuggestionCompletionEngine.TYPE_STRING ); dt.getActionCols().add( ins ); BRLRuleModel model = new BRLRuleModel( dt ); assertNotNull( model.getAllVariables() ); assertEquals( 3, model.getAllVariables().size() ); assertTrue( model.getAllVariables().contains( "$p1" ) ); assertTrue( model.getAllVariables().contains( "$c1" ) ); assertTrue( model.getAllVariables().contains( "$ins" ) ); }
@Override public FieldConstraint getLHSBoundField(String var) { for ( CompositeColumn< ? extends BaseColumn> col : dtable.getConditions() ) { if ( col instanceof Pattern52 ) { Pattern52 p = (Pattern52) col; for ( ConditionCol52 cc : p.getChildColumns() ) { if ( cc.isBound() && cc.getBinding().equals( var ) ) { return new ConditionCol52FieldConstraintAdaptor( cc ); } } } else if ( col instanceof BRLConditionColumn ) { BRLConditionColumn brl = (BRLConditionColumn) col; for ( IPattern p : brl.getDefinition() ) { if ( p instanceof FactPattern ) { final FactPattern fp = (FactPattern) p; for ( FieldConstraint fc : fp.getFieldConstraints() ) { List<String> fieldBindings = getFieldBinding( fc ); if ( fieldBindings.contains( var ) ) { return fc; } } } } } } return super.getLHSBoundField( var ); }
dt.getActionCols().add( ins ); BRLRuleModel model = new BRLRuleModel( dt ); FieldConstraint fcr1 = model.getLHSBoundField( "$sfc1" ); assertNotNull( fcr1 ); assertTrue( fcr1 instanceof SingleFieldConstraint );
String desc = row.get( 1 ).getStringValue(); BRLRuleModel rm = new BRLRuleModel( dt ); rm.name = getName( dt.getTableName(), num );
dt.getActionCols().add( ins ); BRLRuleModel model = new BRLRuleModel( dt ); assertNotNull( model.getLHSBoundFacts() ); assertEquals( 2, model.getLHSBoundFacts().size() ); assertTrue( model.getLHSBoundFacts().contains( "$p1" ) ); assertTrue( model.getLHSBoundFacts().contains( "$brl1" ) ); assertNotNull( model.getLHSBindingType( "$p1" ) ); assertEquals( "Driver", model.getLHSBindingType( "$p1" ) ); assertNotNull( model.getLHSBindingType( "$brl1" ) ); assertEquals( "Driver", model.getLHSBindingType( "$brl1" ) ); FactPattern r1 = model.getLHSBoundFact( "$p1" ); assertNotNull( r1 ); assertTrue( r1 instanceof BRLRuleModel.Pattern52FactPatternAdaptor ); raif1.getFactType() ); FactPattern r2 = model.getLHSBoundFact( "$brl1" ); assertNotNull( r2 ); assertEquals( "Driver",
BRLRuleModel model = new BRLRuleModel( dt ); ActionInsertFact aif2 = new ActionInsertFact( "Person" ); aif2.setBoundName( "$aif" ); SuggestionCompletionEngine.TYPE_STRING ) ); aif2.fieldValues[0].nature = BaseSingleFieldConstraint.TYPE_LITERAL; model.addRhsItem( aif2 ); assertNotNull( model.getRHSBoundFacts() ); assertEquals( 2, model.getRHSBoundFacts().size() ); assertTrue( model.getRHSBoundFacts().contains( "$ins" ) ); assertTrue( model.getRHSBoundFacts().contains( "$aif" ) ); ActionInsertFact r1 = model.getRHSBoundFact( "$ins" ); assertNotNull( r1 ); assertTrue( r1 instanceof BRLRuleModel.ActionInsertFactCol52ActionInsertFactAdaptor ); raif1.fieldValues[0].nature ); ActionInsertFact r2 = model.getRHSBoundFact( "$aif" ); assertNotNull( r2 ); assertTrue( r2 instanceof ActionInsertFact );
dt.getActionCols().add( ins ); BRLRuleModel model = new BRLRuleModel( dt ); assertNotNull( model.getAllVariables() ); assertEquals( 5, model.getAllVariables().size() ); assertTrue( model.getAllVariables().contains( "$p1" ) ); assertTrue( model.getAllVariables().contains( "$c1" ) ); assertTrue( model.getAllVariables().contains( "$ins" ) ); assertTrue( model.getAllVariables().contains( "$brl1" ) ); assertTrue( model.getAllVariables().contains( "$sfc1" ) );
@Override public FieldConstraint getLHSBoundField(String var) { for ( CompositeColumn< ? extends BaseColumn> col : dtable.getConditions() ) { if ( col instanceof Pattern52 ) { Pattern52 p = (Pattern52) col; for ( ConditionCol52 cc : p.getChildColumns() ) { if ( cc.isBound() && cc.getBinding().equals( var ) ) { return new ConditionCol52FieldConstraintAdaptor( cc ); } } } else if ( col instanceof BRLConditionColumn ) { BRLConditionColumn brl = (BRLConditionColumn) col; for ( IPattern p : brl.getDefinition() ) { if ( p instanceof FactPattern ) { final FactPattern fp = (FactPattern) p; for ( FieldConstraint fc : fp.getFieldConstraints() ) { List<String> fieldBindings = getFieldBinding( fc ); if ( fieldBindings.contains( var ) ) { return fc; } } } } } } return super.getLHSBoundField( var ); }
String desc = row.get( 1 ).getStringValue(); BRLRuleModel rm = new BRLRuleModel( dt ); rm.name = getName( dt.getTableName(), num );
BRLRuleModel model = new BRLRuleModel( dt ); FactPattern fp2 = new FactPattern( "Driver" ); fp2.setBoundName( "$brl1" ); model.addLhsItem( fp2 ); assertNotNull( model.getLHSBoundFacts() ); assertEquals( 2, model.getLHSBoundFacts().size() ); assertTrue( model.getLHSBoundFacts().contains( "$p1" ) ); assertTrue( model.getLHSBoundFacts().contains( "$brl1" ) ); assertNotNull( model.getLHSBindingType( "$p1" ) ); assertEquals( "Driver", model.getLHSBindingType( "$p1" ) ); assertNotNull( model.getLHSBindingType( "$brl1" ) ); assertEquals( "Driver", model.getLHSBindingType( "$brl1" ) ); FactPattern r1 = model.getLHSBoundFact( "$p1" ); assertNotNull( r1 ); assertTrue( r1 instanceof BRLRuleModel.Pattern52FactPatternAdaptor ); raif1.getFactType() ); FactPattern r2 = model.getLHSBoundFact( "$brl1" ); assertNotNull( r2 ); assertEquals( "Driver",
@Override public List<String> getAllVariables() { Set<String> variables = new HashSet<String>(); variables.addAll( getAllLHSVariables() ); variables.addAll( getAllRHSVariables() ); return new ArrayList<String>( variables ); }
List<String> fieldBindings = getFieldBinding( fc ); if ( fieldBindings.contains( var ) ) { return fp;
List<String> fieldBindings = getFieldBinding( fc ); if ( fieldBindings.contains( var ) ) { return fp;
String type = getFieldBinding( fc, var ); if ( type != null ) {
String type = getFieldBinding( fc, var ); if ( type != null ) {