protected BRLRuleModel getRuleModel( BRLColumn<IAction, BRLActionVariableColumn> column ) { BRLRuleModel ruleModel = new BRLRuleModel( model ); List<IAction> definition = column.getDefinition(); ruleModel.rhs = definition.toArray( new IAction[ definition.size() ] ); return ruleModel; }
private String getFactType( String boundName ) { return rm.getLHSBoundFact( boundName ).getFactType(); }
private DecoratedGridCellValueAdaptor<? extends Comparable<?>> derieveCellFromAction( ActionRetractFactCol52 col ) { //Drop down of possible patterns PopupBoundPatternDropDownEditCell pudd = new PopupBoundPatternDropDownEditCell( eventBus, isReadOnly ); BRLRuleModel rm = new BRLRuleModel( model ); pudd.setFactBindings( rm.getLHSBoundFacts() ); return new DecoratedGridCellValueAdaptor<String>( pudd, eventBus ); }
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 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" ); DataType.TYPE_STRING ) ); aif.getFieldValues()[ 0 ].setNature( 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 ActionInsertFactCol52ActionInsertFactAdaptor ); raif1.getFieldValues()[ 0 ].getNature() ); 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 ActionInsertFactCol52ActionInsertFactAdaptor); raif1.getFieldValues()[ 0 ].getNature() ); ActionInsertFact r2 = model.getRHSBoundFact( "$aif" ); assertNotNull( r2 ); assertTrue( r2 instanceof ActionInsertFact );
private ListBox loadBoundFacts( String binding ) { ListBox listBox = new ListBox(); listBox.addItem( Constants.INSTANCE.Choose() ); List<String> factBindings = rm.getLHSBoundFacts(); for ( int index = 0; index < factBindings.size(); index++ ) { String boundName = factBindings.get( index ); if ( !"".equals( boundName ) ) { listBox.addItem( boundName ); if ( boundName.equals( binding ) ) { listBox.setSelectedIndex( index + 1 ); } } } listBox.setEnabled( listBox.getItemCount() > 1 ); if ( listBox.getItemCount() == 1 ) { listBox.clear(); listBox.addItem( Constants.INSTANCE.NoPatternBindingsAvailable() ); } return listBox; }
@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( DataType.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" ) ); }
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 ActionInsertFactCol52ActionInsertFactAdaptor ); raif1.getFieldValues()[ 0 ].getNature() ); ActionInsertFact r2 = model.getRHSBoundFact( "$ins2" ); assertNotNull( r2 ); assertTrue( r2 instanceof ActionInsertFactCol52ActionInsertLogicalFactAdaptor); raif2.getFieldValues()[ 0 ].getNature() ); ActionInsertFact r3 = model.getRHSBoundFact( "$aif" ); assertNotNull( r3 ); assertTrue( r3 instanceof ActionInsertFact );
dt.getActionCols().add( ins ); BRLRuleModel model = new BRLRuleModel( dt ); FieldConstraint fcr1 = model.getLHSBoundField( "$sfc1" ); assertNotNull( fcr1 ); assertTrue( fcr1 instanceof SingleFieldConstraint );
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 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" ); DataType.TYPE_STRING ) ); aif2.getFieldValues()[ 0 ].setNature( 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 ActionInsertFactCol52ActionInsertFactAdaptor ); raif1.getFieldValues()[ 0 ].getNature() ); ActionInsertFact r2 = model.getRHSBoundFact( "$aif" ); assertNotNull( r2 ); assertTrue( r2 instanceof ActionInsertFact );
/** * Add a column to the table. * @param pattern The Pattern to which the column will be added * @param modelColumn The Decision Table column to insert */ public void addColumn( Pattern52 pattern, ConditionCol52 modelColumn ) { if ( pattern == null ) { throw new IllegalArgumentException( "pattern cannot be null." ); } if ( modelColumn == null ) { throw new IllegalArgumentException( "modelColumn cannot be null." ); } //Add pattern if it does not already exist if ( !model.getConditions().contains( pattern ) ) { model.getConditions().add( pattern ); //Signal patterns changed event BoundFactsChangedEvent pce = new BoundFactsChangedEvent( rm.getLHSBoundFacts() ); eventBus.fireEvent( pce ); } //Column needs to be added to pattern first so it can be correctly positioned pattern.getChildColumns().add( modelColumn ); addColumn( modelColumn, cellValueFactory.makeColumnData( modelColumn ), true ); //Log addition of column model.getAuditLog().add( new InsertColumnAuditLogEntry( identity.getName(), modelColumn ) ); }
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" ) );
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 Pattern52FactPatternAdaptor ); raif1.getFactType() ); FactPattern r2 = model.getLHSBoundFact( "$brl1" ); assertNotNull( r2 ); assertEquals( "Driver",
public BRLRuleModel getRuleModel( BRLColumn<IPattern, BRLConditionVariableColumn> column ) { BRLRuleModel ruleModel = new BRLRuleModel( model ); List<IPattern> definition = column.getDefinition(); ruleModel.lhs = definition.toArray( new IPattern[ definition.size() ] ); return ruleModel; }
BoundFactsChangedEvent pce = new BoundFactsChangedEvent( rm.getLHSBoundFacts() ); eventBus.fireEvent( pce ); BRLRuleModel rm = new BRLRuleModel( model ); BoundFactsChangedEvent pce = new BoundFactsChangedEvent( rm.getLHSBoundFacts() ); eventBus.fireEvent( pce );
/** * Delete the given column from the given pattern * @param modelColumn */ public void deleteColumn( ConditionCol52 modelColumn ) { if ( modelColumn == null ) { throw new IllegalArgumentException( "modelColumn cannot be null." ); } int index = model.getExpandedColumns().indexOf( modelColumn ); Pattern52 pattern = model.getPattern( modelColumn ); pattern.getChildColumns().remove( modelColumn ); //Remove pattern if it contains zero conditions if ( pattern.getChildColumns().size() == 0 ) { model.getConditions().remove( pattern ); //Signal patterns changed event to Decision Table Widget BoundFactsChangedEvent pce = new BoundFactsChangedEvent( rm.getLHSBoundFacts() ); eventBus.fireEvent( pce ); } deleteColumn( index, true ); //Log deletion of column model.getAuditLog().add( new DeleteColumnAuditLogEntry( identity.getName(), modelColumn ) ); }
public BRLRuleModel getRuleModel( BRLColumn<IPattern, BRLConditionVariableColumn> column ) { BRLRuleModel ruleModel = new BRLRuleModel( model ); List<IPattern> definition = column.getDefinition(); ruleModel.lhs = definition.toArray( new IPattern[ definition.size() ] ); return ruleModel; }
BoundFactsChangedEvent pce = new BoundFactsChangedEvent( rm.getLHSBoundFacts() ); eventBus.fireEvent( pce );