private RuleModel newRuleModel() { final BRLRuleModel ruleModel = new BRLRuleModel(presenter.getModel()); final List<IAction> definition = editingCol.getDefinition(); ruleModel.rhs = definition.toArray(new IAction[definition.size()]); return ruleModel; }
private RuleModel newRuleModel() { final BRLRuleModel ruleModel = new BRLRuleModel(presenter.getModel()); final List<IAction> definition = editingCol.getDefinition(); ruleModel.rhs = definition.toArray(new IAction[definition.size()]); return ruleModel; }
private ActionCol52 getLinkedDefinitionColumn(final GuidedDecisionTable52 model, final BRLActionColumn fragment, final String factType, final String fieldName) { final Map<String, List<String>> rhsTypeFields = rhsTypeFieldsExtractor.extract(model, fragment.getDefinition()); if (rhsTypeFields.containsKey(factType)) { for (String field : rhsTypeFields.get(factType)) { if (field.equals(fieldName)) { return fragment.getChildColumns().get(0); } } } return null; } }
private ActionCol52 getLinkedDefinitionColumn(final GuidedDecisionTable52 model, final BRLActionColumn fragment, final String factType, final String fieldName) { final Map<String, List<String>> rhsTypeFields = rhsTypeFieldsExtractor.extract(model, fragment.getDefinition()); if (rhsTypeFields.containsKey(factType)) { for (String field : rhsTypeFields.get(factType)) { if (field.equals(fieldName)) { return fragment.getChildColumns().get(0); } } } return null; } }
private boolean hasTemplateKeys(final BRLActionColumn column) { final Map<InterpolationVariable, Integer> ivs = new HashMap<>(); final RuleModel rm = new RuleModel(); column.getDefinition().forEach(rm::addRhsItem); final RuleModelVisitor rmv = new RuleModelVisitor(ivs); rmv.visit(rm); return ivs.size() > 0; }
private boolean hasTemplateKeys(final BRLActionColumn column) { final Map<InterpolationVariable, Integer> ivs = new HashMap<>(); final RuleModel rm = new RuleModel(); column.getDefinition().forEach(rm::addRhsItem); final RuleModelVisitor rmv = new RuleModelVisitor(ivs); rmv.visit(rm); return ivs.size() > 0; }
@Override public List<String> getRHSBoundFacts() { final Set<String> variables = new HashSet<>(); for (ActionCol52 col : dtable.getActionCols()) { if (col instanceof ActionInsertFactCol52) { final ActionInsertFactCol52 action = (ActionInsertFactCol52) col; variables.add(action.getBoundName()); } else if (col instanceof BRLActionColumn) { //Delegate to super class's implementation final RuleModel rm = new RuleModel(); final BRLActionColumn brl = (BRLActionColumn) col; rm.rhs = brl.getDefinition().toArray(new IAction[brl.getDefinition().size()]); variables.addAll(rm.getRHSBoundFacts()); } } variables.addAll(super.getRHSBoundFacts()); return new ArrayList<>(variables); }
@Override public List<String> getAllRHSVariables() { final Set<String> variables = new HashSet<>(); for (ActionCol52 col : dtable.getActionCols()) { if (col instanceof ActionInsertFactCol52) { final ActionInsertFactCol52 action = (ActionInsertFactCol52) col; variables.add(action.getBoundName()); } else if (col instanceof BRLActionColumn) { //Delegate to super class's implementation final RuleModel rm = new RuleModel(); final BRLActionColumn brl = (BRLActionColumn) col; rm.rhs = brl.getDefinition().toArray(new IAction[brl.getDefinition().size()]); variables.addAll(rm.getAllRHSVariables()); } } variables.addAll(super.getAllRHSVariables()); return new ArrayList<>(variables); }
private boolean hasVariables(BRLActionColumn column) { Map<InterpolationVariable, Integer> ivs = new HashMap<InterpolationVariable, Integer>(); RuleModel rm = new RuleModel(); for (IAction action : column.getDefinition()) { rm.addRhsItem(action); } RuleModelVisitor rmv = new RuleModelVisitor(ivs); rmv.visit(rm); return ivs.size() > 0; }
@Override public List<BaseColumnFieldDiff> diff( BaseColumn otherColumn ) { if ( otherColumn == null ) { return null; } List<BaseColumnFieldDiff> result = super.diff( otherColumn ); BRLActionColumn other = (BRLActionColumn) otherColumn; // Field: definition. if ( !isEqualOrNull( this.getDefinition(), other.getDefinition() ) ) { result.add( new BaseColumnFieldDiffImpl( FIELD_DEFINITION, this.getDefinition(), other.getDefinition() ) ); } // Field: childColumns. if ( !isEqualOrNull( this.getChildColumns(), other.getChildColumns() ) ) { result.addAll( getColumnDiffs( other.getChildColumns() ) ); } return result; }
final DTCellValue52 dcv = row.get(index); if (dcv.getBooleanValue()) { for (IAction action : column.getDefinition()) { addAction(action, actions); for (IAction action : column.getDefinition()) {
public Set<String> getConsumedModelClasses() { final Set<String> factTypes = new HashSet<String>(); //Extract Fact Types from model for (CompositeColumn<?> cc : model.getConditions()) { if (cc instanceof BRLConditionColumn) { final List<IPattern> definition = ((BRLConditionColumn) cc).getDefinition(); factTypes.addAll(getConditionFactTypesFromRuleModel(definition)); } else if (cc instanceof Pattern52) { factTypes.add(((Pattern52) cc).getFactType()); } } for (ActionCol52 c : model.getActionCols()) { if (c instanceof BRLActionColumn) { final List<IAction> definition = ((BRLActionColumn) c).getDefinition(); factTypes.addAll(getActionFactTypesFromRuleModel(definition)); } else if (c instanceof ActionInsertFactCol52) { factTypes.add(((ActionInsertFactCol52) c).getFactType()); } } //Convert Fact Types into Fully Qualified Class Names final Set<String> fullyQualifiedClassNames = new HashSet<String>(); for (String factType : factTypes) { fullyQualifiedClassNames.add(convertToFullyQualifiedClassName(factType)); } return fullyQualifiedClassNames; }
@Override public ActionInsertFact getRHSBoundFact(final String var) { for (ActionCol52 col : dtable.getActionCols()) { if (col instanceof ActionInsertFactCol52) { final ActionInsertFactCol52 action = (ActionInsertFactCol52) col; if (action.getBoundName().equals(var)) { if (action.isInsertLogical()) { return new ActionInsertFactCol52ActionInsertLogicalFactAdaptor(action); } return new ActionInsertFactCol52ActionInsertFactAdaptor(action); } } else if (col instanceof BRLActionColumn) { //Delegate to super class's implementation final RuleModel rm = new RuleModel(); final BRLActionColumn brl = (BRLActionColumn) col; rm.rhs = brl.getDefinition().toArray(new IAction[brl.getDefinition().size()]); final ActionInsertFact aif = rm.getRHSBoundFact(var); if (aif != null) { return aif; } } } return super.getRHSBoundFact(var); } }
/** * Check is the model uses DSLSentences and hence requires expansion * @return true if any BRLColumn's contain DSLSentence's */ public boolean hasDSLSentences() { for (CompositeColumn<? extends BaseColumn> column : this.model.getConditions()) { if (column instanceof BRLConditionColumn) { final BRLConditionColumn brlColumn = (BRLConditionColumn) column; for (IPattern pattern : brlColumn.getDefinition()) { if (pattern instanceof DSLSentence) { return true; } } } } for (ActionCol52 column : this.model.getActionCols()) { if (column instanceof BRLActionColumn) { final BRLActionColumn brlColumn = (BRLActionColumn) column; for (IAction action : brlColumn.getDefinition()) { if (action instanceof DSLSentence) { return true; } } } } return false; }
public static boolean hasDSLSentences(final GuidedDecisionTable52 model) { for (CompositeColumn<? extends BaseColumn> column : model.getConditions()) { if (column instanceof BRLConditionColumn) { final BRLConditionColumn brlColumn = (BRLConditionColumn) column; for (IPattern pattern : brlColumn.getDefinition()) { if (pattern instanceof DSLSentence) { return true; } } } } for (ActionCol52 column : model.getActionCols()) { if (column instanceof BRLActionColumn) { final BRLActionColumn brlColumn = (BRLActionColumn) column; for (IAction action : brlColumn.getDefinition()) { if (action instanceof DSLSentence) { return true; } } } } return false; }
/** * Check is the model uses DSLSentences and hence requires expansion * @return true if any BRLColumn's contain DSLSentence's */ public boolean hasDSLSentences() { for (CompositeColumn<? extends BaseColumn> column : this.model.getConditions()) { if (column instanceof BRLConditionColumn) { final BRLConditionColumn brlColumn = (BRLConditionColumn) column; for (IPattern pattern : brlColumn.getDefinition()) { if (pattern instanceof DSLSentence) { return true; } } } } for (ActionCol52 column : this.model.getActionCols()) { if (column instanceof BRLActionColumn) { final BRLActionColumn brlColumn = (BRLActionColumn) column; for (IAction action : brlColumn.getDefinition()) { if (action instanceof DSLSentence) { return true; } } } } return false; }
@Test public void testSetupEditingColWhenColumnIsNotNew() throws Exception { final BRLActionColumn originalColumn = mock(BRLActionColumn.class); final BRLActionColumn editingColumn = mock(BRLActionColumn.class); final String header = "header"; final ArrayList<IAction> definition = new ArrayList<>(); final ArrayList<BRLActionVariableColumn> childColumns = new ArrayList<>(); final boolean isHideColumn = false; doReturn(false).when(plugin).isNewColumn(); doReturn(editingColumn).when(plugin).newBRLActionColumn(); doReturn(originalColumn).when(plugin).getOriginalColumnConfig52(); doReturn(header).when(originalColumn).getHeader(); doReturn(definition).when(originalColumn).getDefinition(); doReturn(childColumns).when(originalColumn).getChildColumns(); doReturn(isHideColumn).when(originalColumn).isHideColumn(); plugin.setupEditingCol(); verify(editingColumn).setHeader(header); verify(editingColumn).setDefinition(definition); verify(editingColumn).setChildColumns(childColumns); verify(editingColumn).setHideColumn(isHideColumn); assertEquals(editingColumn, plugin.editingCol()); }
private void setupBRLActionColumn() { final BRLActionColumn brl = new BRLActionColumn(); final ActionInsertFact ifc1 = new ActionInsertFact(); ifc1.setFactType("Person"); ifc1.setBoundName("$a"); final ActionFieldValue afv1 = new ActionFieldValue(); afv1.setNature(FieldNatureType.TYPE_TEMPLATE); afv1.setField("name"); afv1.setValue("f1"); ifc1.addFieldValue(afv1); final ActionFieldValue afv2 = new ActionFieldValue(); afv2.setNature(FieldNatureType.TYPE_TEMPLATE); afv2.setField("age"); afv2.setValue("f2"); ifc1.addFieldValue(afv2); brl.getDefinition().add(ifc1); brl.getChildColumns().add(new BRLActionVariableColumn("f1", DataType.TYPE_STRING)); brl.getChildColumns().add(new BRLActionVariableColumn("f2", DataType.TYPE_NUMERIC_INTEGER)); model.getActionCols().add(brl); when(dmo.getFieldType(eq("Person"), eq("name"))).thenReturn(DataType.TYPE_STRING); when(dmo.getFieldType(eq("Person"), eq("age"))).thenReturn(DataType.TYPE_NUMERIC_INTEGER); } }
void setupEditingCol() { editingCol = newBRLActionColumn(); if (!isNewColumn()) { editingCol().setHeader(originalCol().getHeader()); editingCol().setDefinition(originalCol().getDefinition()); editingCol().setChildColumns(originalCol().getChildColumns()); editingCol().setHideColumn(originalCol().isHideColumn()); fireChangeEvent(additionalInfoPage); } }
void setupEditingCol() { editingCol = newBRLActionColumn(); if (!isNewColumn()) { editingCol().setHeader(originalCol().getHeader()); editingCol().setDefinition(originalCol().getDefinition()); editingCol().setChildColumns(originalCol().getChildColumns()); editingCol().setHideColumn(originalCol().isHideColumn()); fireChangeEvent(additionalInfoPage); } }