private BRLConditionColumn newBRLCondition() { switch (tableFormat()) { case EXTENDED_ENTRY: return new BRLConditionColumn(); case LIMITED_ENTRY: return new LimitedEntryBRLConditionColumn(); default: throw new UnsupportedOperationException("Unsupported table format: " + tableFormat()); } }
private BRLConditionColumn newBRLCondition() { switch (tableFormat()) { case EXTENDED_ENTRY: return new BRLConditionColumn(); case LIMITED_ENTRY: return new LimitedEntryBRLConditionColumn(); default: throw new UnsupportedOperationException("Unsupported table format: " + tableFormat()); } }
public static BRLConditionColumn createBRLConditionColumn() { final BRLConditionColumn brlConditionColumn = new BRLConditionColumn(); final ArrayList<IPattern> definition = new ArrayList<>(); definition.add(mock(IPattern.class)); brlConditionColumn.setDefinition(definition); final ArrayList<BRLConditionVariableColumn> childColumns = new ArrayList<>(); final BRLConditionVariableColumn brlConditionVariableColumn = new BRLConditionVariableColumn(); brlConditionVariableColumn.getFactType(); childColumns.add(brlConditionVariableColumn); brlConditionColumn.setChildColumns(childColumns); return brlConditionColumn; }
public static BRLConditionColumn createBRLConditionColumn() { final BRLConditionColumn brlConditionColumn = new BRLConditionColumn(); final ArrayList<IPattern> definition = new ArrayList<>(); definition.add(mock(IPattern.class)); brlConditionColumn.setDefinition(definition); final ArrayList<BRLConditionVariableColumn> childColumns = new ArrayList<>(); final BRLConditionVariableColumn brlConditionVariableColumn = new BRLConditionVariableColumn(); brlConditionVariableColumn.getFactType(); childColumns.add(brlConditionVariableColumn); brlConditionColumn.setChildColumns(childColumns); return brlConditionColumn; }
protected BRLConditionColumn whenThereIsABRLFactPattern(final String factType, final String binding) { final FactPattern fp = new FactPattern(factType); fp.setBoundName(binding); final BRLConditionColumn brl = new BRLConditionColumn(); brl.getDefinition().add(fp); dtable.getConditions().add(brl); return brl; }
@Test public void testInsertBRLConditionColumn() throws Exception { BRLConditionColumn brlConditionOne = new BRLConditionColumn(); BRLConditionVariableColumn a = new BRLConditionVariableColumn(); BRLConditionVariableColumn b = new BRLConditionVariableColumn(); BRLConditionColumn brlConditionTwo = new BRLConditionColumn(); BRLConditionVariableColumn c = new BRLConditionVariableColumn(); BRLConditionVariableColumn d = new BRLConditionVariableColumn(); brlConditionOne.setChildColumns(Arrays.asList(a, b)); brlConditionTwo.setChildColumns(Arrays.asList(c, d)); model.getConditions().addAll(Arrays.asList(brlConditionOne, brlConditionTwo)); decisionTableAnalyzer.insertColumn(brlConditionTwo); verify(updateManager).newColumn(model, 4); }
private void addBrlConstraintToModel(final GuidedDecisionTable52 model, final String factType, final String field) { final Pattern52 p = new Pattern52(); p.setFactType(factType); final BRLConditionColumn conditionColumn = new BRLConditionColumn(); conditionColumn.setFactField(field); p.getChildColumns().add(conditionColumn); model.getConditions().add(p); }
protected BRLConditionColumn whenThereIsABRLFromCompositeFactPattern(final String factType, final String binding) { final FromCompositeFactPattern fcfp = new FromCompositeFactPattern(); final FactPattern fp = new FactPattern(factType); fp.setBoundName(binding); fcfp.setFactPattern(fp); final BRLConditionColumn brl = new BRLConditionColumn(); brl.getDefinition().add(fcfp); dtable.getConditions().add(brl); return brl; }
@Test public void testGetPatternsWithBRLCondition() throws Exception { final Pattern52 pattern = new Pattern52() {{ setFactType("FactType"); setBoundName("$fact"); }}; final BRLConditionColumn brlColumn = new BRLConditionColumn(); final FactPattern fp = new FactPattern("AnotherFact") {{ setBoundName("$another"); }}; brlColumn.setDefinition(Collections.singletonList(fp)); doReturn(Arrays.asList(pattern, brlColumn)).when(model).getConditions(); doReturn(pattern).when(model).getConditionPattern(eq("$fact")); doReturn(new FactPatternPattern52Adaptor(fp)).when(model).getConditionPattern(eq("$another")); final Set<PatternWrapper> patterns = plugin.getPatterns(); assertEquals(1, patterns.size()); assertTrue(patterns.contains(new PatternWrapper("FactType", "$fact", false))); }
@Test public void testInsertBRLVariableColumn() throws Exception { ConditionCol52 a = new ConditionCol52(); ConditionCol52 b = new ConditionCol52(); pattern.setChildColumns(Arrays.asList(a, b)); BRLConditionColumn brlCondition = new BRLConditionColumn(); BRLConditionVariableColumn c = new BRLConditionVariableColumn(); BRLConditionVariableColumn d = new BRLConditionVariableColumn(); brlCondition.setChildColumns(Arrays.asList(c, d)); model.getConditions().addAll(Arrays.asList(pattern, brlCondition)); decisionTableAnalyzer.insertColumn(d); verify(updateManager).newColumn(model, 5); }
@Test(expected = IllegalArgumentException.class) public void testInsertNonExistingColumn() throws Exception { ConditionCol52 a = new ConditionCol52(); ConditionCol52 b = new ConditionCol52(); pattern.setChildColumns(Arrays.asList(a)); BRLConditionColumn brlCondition = new BRLConditionColumn(); BRLConditionVariableColumn c = new BRLConditionVariableColumn(); BRLConditionVariableColumn d = new BRLConditionVariableColumn(); brlCondition.setChildColumns(Arrays.asList(c, d)); model.getConditions().addAll(Arrays.asList(pattern, brlCondition)); decisionTableAnalyzer.insertColumn(b); } }
private BRLConditionColumn makeBRLConditionColumn(final String header, final boolean hideColumn, final List<IPattern> definition, final List<BRLConditionVariableColumn> childColumns) { final BRLConditionColumn column = new BRLConditionColumn(); column.setHeader(header); column.setHideColumn(hideColumn); column.setDefinition(definition); column.setChildColumns(childColumns); return column; }
@Before public void setup() { column1 = new BRLConditionColumn(); List<IPattern> definition1 = Arrays.asList(new FactPattern("Mock")); column1.setDefinition(definition1); List<BRLConditionVariableColumn> childColumns1 = Arrays.asList(new BRLConditionVariableColumn("var", "FieldType")); column1.setChildColumns(childColumns1); column1.setHeader("header"); column1.setHideColumn(false); column2 = new BRLConditionColumn(); List<IPattern> definition2 = Arrays.asList(new FactPattern("Mock")); column2.setDefinition(definition2); List<BRLConditionVariableColumn> childColumns2 = Arrays.asList(new BRLConditionVariableColumn("var", "FieldType")); column2.setChildColumns(childColumns2); column2.setHeader("header"); column2.setHideColumn(false); }
@Test public void getSafeHtml_BrlCondition_DefinitionOnly() { BRLConditionColumn originalColumn = new BRLConditionColumn(); originalColumn.setDefinition(Arrays.asList(new FactPattern("FactType1"))); originalColumn.setHeader("condition"); originalColumn.setHideColumn(false); BRLConditionColumn newColumn = new BRLConditionColumn(); originalColumn.setDefinition(Arrays.asList(new FactPattern("FactType2"), new FactPattern("FactType3"))); newColumn.setHeader("condition"); newColumn.setHideColumn(false); List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn); SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs)); // Definition diffs are currently not supported, maybe #soon? // assertEquals(getHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString()); assertEquals(getHeaderRepre(newColumn.getHeader()) + getDiffRepre(new ArrayList<>()), result.asString()); }
@Test public void testAppend1() throws VetoException { //Single Column, single variable final BRLConditionColumn column = new BRLConditionColumn(); final BRLConditionVariableColumn columnV0 = new BRLConditionVariableColumn("$age", DataType.TYPE_NUMERIC_INTEGER, "Applicant", "age"); column.getChildColumns().add(columnV0); column.setHeader("col1"); columnV0.setHeader("col1v0"); modelSynchronizer.appendColumn(column); assertEquals(3, model.getExpandedColumns().size()); assertEquals(1, model.getConditions().size()); assertEquals(3, uiModel.getColumns().size()); assertTrue(uiModel.getColumns().get(2) instanceof IntegerUiColumn); assertEquals(2, uiModel.getColumns().get(2).getHeaderMetaData().size()); assertEquals("$age", uiModel.getColumns().get(2).getHeaderMetaData().get(1).getTitle()); }
@Test public void getSafeHtml_BrlCondition() { // Definition diffs are currently not supported, maybe #soon? BRLConditionColumn originalColumn = new BRLConditionColumn(); // originalColumn.setDefinition(Arrays.asList(new FactPattern("FactType1"))); originalColumn.setHeader("condition1"); originalColumn.setHideColumn(false); BRLConditionColumn newColumn = new BRLConditionColumn(); // originalColumn.setDefinition(Arrays.asList(new FactPattern("FactType2"), new FactPattern("FactType3"))); newColumn.setHeader("condition2"); newColumn.setHideColumn(true); List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn); SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs)); assertEquals(getHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString()); }
BRLConditionColumn clone(final DTColumnConfig52 column) { final BRLConditionColumn brlConditionColumn = (BRLConditionColumn) column; final BRLConditionColumn clone; if (tableFormat() == LIMITED_ENTRY) { clone = new LimitedEntryBRLConditionColumn(); } else { clone = new BRLConditionColumn(); clone.setChildColumns(cloneVariables(brlConditionColumn.getChildColumns())); } clone.setHeader(column.getHeader()); clone.setHideColumn(column.isHideColumn()); clone.setDefinition(cloneDefinition(brlConditionColumn.getDefinition())); clone.setOperator(brlConditionColumn.getOperator()); return clone; }
BRLConditionColumn clone(final DTColumnConfig52 column) { final BRLConditionColumn brlConditionColumn = (BRLConditionColumn) column; final BRLConditionColumn clone; if (tableFormat() == LIMITED_ENTRY) { clone = new LimitedEntryBRLConditionColumn(); } else { clone = new BRLConditionColumn(); clone.setChildColumns(cloneVariables(brlConditionColumn.getChildColumns())); } clone.setHeader(column.getHeader()); clone.setHideColumn(column.isHideColumn()); clone.setDefinition(cloneDefinition(brlConditionColumn.getDefinition())); clone.setOperator(brlConditionColumn.getOperator()); return clone; }
@Test public void cloneBRLConditionColumn() { final BRLConditionColumn original = new BRLConditionColumn(); original.setHeader("header"); original.setOperator("=="); final BRLConditionColumn clone = plugin.clone(original); assertEquals("header", clone.getHeader()); assertEquals("==", clone.getOperator()); }
public static GuidedDecisionTable52 makeTableWithBRLFragmentConditionColWithPredicate(final String packageName, final Collection<Import> imports, final String tableName) { final GuidedDecisionTable52 dt = new GuidedDecisionTable52(); dt.setPackageName(packageName); dt.getImports().getImports().addAll(imports); dt.setTableName(tableName); final BRLConditionColumn brl = new BRLConditionColumn(); final FactPattern fp1 = new FactPattern(); fp1.setFactType("Applicant"); final SingleFieldConstraint sfc1 = new SingleFieldConstraint(); sfc1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_PREDICATE); sfc1.setValue("age = 45"); fp1.addConstraint(sfc1); brl.getDefinition().add(fp1); brl.getChildColumns().add(new BRLConditionVariableColumn("f1", DataType.TYPE_BOOLEAN)); dt.getConditions().add(brl); dt.setData(DataUtilities.makeDataLists(new Object[][]{ new Object[]{"1", "desc", true} })); return dt; }