@Override public Rectangle getHeaderBackground(final GridColumn<?> column) { String colorToApply; // GIVEN if(FactMappingType.GIVEN.name().equalsIgnoreCase(column.getHeaderMetaData().get(0).getTitle())) { colorToApply = HEADER_BACKGROUND_LIGHT_BLUE; } // EXPECT else if (FactMappingType.EXPECT.name().equalsIgnoreCase(column.getHeaderMetaData().get(0).getTitle())) { colorToApply = HEADER_BACKGROUND_DARK_BLUE; } // DEFAULT else { colorToApply = HEADER_BACKGROUND_WHITE; } return new Rectangle(0, 0) .setFillColor(colorToApply); }
@Test public void updateHeader() { String newValue = "NEW_VALUE"; scenarioGridModel.updateHeader(COLUMN_INDEX, 1, newValue); // This is instance header verify(eventBusMock, times(1)).fireEvent(isA(ReloadRightPanelEvent.class)); reset(eventBusMock); scenarioGridModel.updateHeader(COLUMN_INDEX, 2, newValue); // This is property header verify(eventBusMock, never()).fireEvent(any()); reset(eventBusMock); // if update with same value, no event should be raised String title = scenarioGridModel.getColumns().get(COLUMN_INDEX).getHeaderMetaData().get(1).getTitle(); scenarioGridModel.updateHeader(COLUMN_INDEX, 1, title); verify(eventBusMock, never()).fireEvent(any()); }
@Before @SuppressWarnings("unchecked") public void setup() { this.renderer = getRenderer(); this.gridColumn = getGridColumn(); final GridData uiModel = new BaseGridData(); uiModel.appendColumn(gridColumn); when(context.getRenderer()).thenReturn(gridRenderer); when(headerContext.getRenderer()).thenReturn(gridRenderer); when(headerContext.getAllColumns()).thenReturn(uiModel.getColumns()); when(headerContext.getBlockColumns()).thenReturn(uiModel.getColumns()); when(gridRenderer.getTheme()).thenReturn(theme); when(theme.getBodyText()).thenReturn(text); when(theme.getHeaderText()).thenReturn(text); when(theme.getPlaceholderText()).thenReturn(placeHolderText); when(text.asNode()).thenReturn(textNode); when(placeHolderText.asNode()).thenReturn(placeHolderTextNode); when(headerGroup.asNode()).thenReturn(headerGroupNode); when(parentGroup.asNode()).thenReturn(parentGroupNode); when(renderContext.getGroup()).thenReturn(parentGroup); when(headerMetaData.getTitle()).thenReturn(TITLE); }
@Test public void testUpdate2() throws VetoException { final MetadataCol52 column = spy(new MetadataCol52()); column.setMetadata("smurf"); modelSynchronizer.appendColumn(column); final MetadataCol52 edited = new MetadataCol52(); edited.setWidth(column.getWidth()); edited.setMetadata("smurf"); edited.setHideColumn(true); List<BaseColumnFieldDiff> diffs = modelSynchronizer.updateColumn(column, edited); assertEquals(1, diffs.size()); verify(column).diff(edited); assertEquals(1, model.getMetadataCols().size()); assertEquals("smurf", model.getMetadataCols().get(0).getMetadata()); assertEquals(3, uiModel.getColumns().size()); assertEquals("smurf", uiModel.getColumns().get(2).getHeaderMetaData().get(0).getTitle()); assertEquals(false, uiModel.getColumns().get(2).isVisible()); }
@Test public void testAppendMultipleColumns() throws VetoException { final ActionWorkItemInsertFactCol52 column1 = new ActionWorkItemInsertFactCol52(); column1.setWorkItemName(WORK_ITEM_NAME); column1.setHeader("col1"); final ActionWorkItemInsertFactCol52 column2 = new ActionWorkItemInsertFactCol52(); column2.setWorkItemName(WORK_ITEM_NAME); column2.setHeader("col2"); modelSynchronizer.appendColumn(column1); modelSynchronizer.appendColumn(column2); assertEquals(3, model.getActionCols().size()); assertEquals(5, uiModel.getColumns().size()); assertTrue(uiModel.getColumns().get(3) instanceof BooleanUiColumn); assertTrue(uiModel.getColumns().get(4) instanceof BooleanUiColumn); assertEquals(true, ((BaseMultipleDOMElementUiColumn) uiModel.getColumns().get(3)).isEditable()); assertEquals(true, ((BaseMultipleDOMElementUiColumn) uiModel.getColumns().get(4)).isEditable()); assertEquals(column1.getHeader(), uiModel.getColumns().get(3).getHeaderMetaData().get(1).getTitle()); assertEquals(column2.getHeader(), uiModel.getColumns().get(4).getHeaderMetaData().get(1).getTitle()); }
@Test public void testUpdate1() throws VetoException { final AttributeCol52 column = spy(new AttributeCol52()); column.setAttribute(RuleAttributeWidget.SALIENCE_ATTR); modelSynchronizer.appendColumn(column); final AttributeCol52 edited = new AttributeCol52(); edited.setWidth(column.getWidth()); edited.setAttribute(RuleAttributeWidget.ENABLED_ATTR); List<BaseColumnFieldDiff> diffs = modelSynchronizer.updateColumn(column, edited); assertEquals(1, diffs.size()); verify(column).diff(edited); assertEquals(1, model.getAttributeCols().size()); assertEquals(RuleAttributeWidget.ENABLED_ATTR, model.getAttributeCols().get(0).getAttribute()); assertEquals(3, uiModel.getColumns().size()); assertTrue(uiModel.getColumns().get(2) instanceof BooleanUiColumn); assertEquals(RuleAttributeWidget.ENABLED_ATTR, uiModel.getColumns().get(2).getHeaderMetaData().get(0).getTitle()); }
@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 testUpdate1() throws VetoException { final MetadataCol52 column = spy(new MetadataCol52()); column.setMetadata("smurf"); modelSynchronizer.appendColumn(column); final MetadataCol52 edited = new MetadataCol52(); edited.setWidth(column.getWidth()); edited.setMetadata("changed"); List<BaseColumnFieldDiff> diffs = modelSynchronizer.updateColumn(column, edited); assertEquals(1, diffs.size()); verify(column).diff(edited); assertEquals(1, model.getMetadataCols().size()); assertEquals("changed", model.getMetadataCols().get(0).getMetadata()); assertEquals(3, uiModel.getColumns().size()); assertEquals("changed", uiModel.getColumns().get(2).getHeaderMetaData().get(0).getTitle()); }
@Test public void testAppendMultipleColumns() throws VetoException { final ActionWorkItemSetFieldCol52 column1 = new ActionWorkItemSetFieldCol52(); column1.setWorkItemName(WORK_ITEM_NAME); column1.setHeader("col1"); final ActionWorkItemSetFieldCol52 column2 = new ActionWorkItemSetFieldCol52(); column2.setWorkItemName(WORK_ITEM_NAME); column2.setHeader("col2"); modelSynchronizer.appendColumn(column1); modelSynchronizer.appendColumn(column2); assertEquals(3, model.getActionCols().size()); assertEquals(5, uiModel.getColumns().size()); assertTrue(uiModel.getColumns().get(3) instanceof BooleanUiColumn); assertTrue(uiModel.getColumns().get(4) instanceof BooleanUiColumn); assertEquals(true, ((BaseMultipleDOMElementUiColumn) uiModel.getColumns().get(3)).isEditable()); assertEquals(true, ((BaseMultipleDOMElementUiColumn) uiModel.getColumns().get(4)).isEditable()); assertEquals(column1.getHeader(), uiModel.getColumns().get(3).getHeaderMetaData().get(1).getTitle()); assertEquals(column2.getHeader(), uiModel.getColumns().get(4).getHeaderMetaData().get(1).getTitle()); }
@Test public void checkConvertColumn() { final BaseColumn column = getColumn(); final GridColumn<?> uiColumn = converter.convertColumn(column, access, gridWidget); assertTrue(uiColumn.isResizable()); assertTrue(uiColumn.isVisible()); assertEquals(WIDTH, uiColumn.getWidth(), 0.0); assertEquals(2, uiColumn.getHeaderMetaData().size()); final GridColumn.HeaderMetaData row0 = uiColumn.getHeaderMetaData().get(0); assertEquals(WID_NAME, row0.getTitle()); assertEquals(ActionCol52.class.getName(), row0.getColumnGroup()); final GridColumn.HeaderMetaData row1 = uiColumn.getHeaderMetaData().get(1); assertEquals(HEADER, row1.getTitle()); assertEquals(getExpectedColumnGroup(), row1.getColumnGroup()); } }
@Test public void testUpdate() throws VetoException { final ActionWorkItemCol52 column = spy(new ActionWorkItemCol52()); column.setHeader("col1"); modelSynchronizer.appendColumn(column); final ActionWorkItemCol52 edited = new ActionWorkItemCol52(); edited.setWidth(column.getWidth()); edited.setHideColumn(true); edited.setHeader("updated"); List<BaseColumnFieldDiff> diffs = modelSynchronizer.updateColumn(column, edited); assertEquals(2, diffs.size()); verify(column).diff(edited); assertEquals(1, model.getActionCols().size()); assertEquals(3, uiModel.getColumns().size()); assertTrue(uiModel.getColumns().get(2) instanceof BooleanUiColumn); assertEquals("updated", uiModel.getColumns().get(2).getHeaderMetaData().get(1).getTitle()); assertEquals(false, uiModel.getColumns().get(2).isVisible()); }
@Before @SuppressWarnings("unchecked") public void setup() { this.renderer = getRenderer(); this.gridColumn = getGridColumn(); final GridData uiModel = new BaseGridData(); uiModel.appendColumn(gridColumn); when(context.getRenderer()).thenReturn(gridRenderer); when(headerContext.getRenderer()).thenReturn(gridRenderer); when(headerContext.getAllColumns()).thenReturn(uiModel.getColumns()); when(headerContext.getBlockColumns()).thenReturn(uiModel.getColumns()); when(gridRenderer.getTheme()).thenReturn(theme); when(theme.getBodyText()).thenReturn(text); when(theme.getHeaderText()).thenReturn(text); when(theme.getPlaceholderText()).thenReturn(placeHolderText); when(text.asNode()).thenReturn(textNode); when(placeHolderText.asNode()).thenReturn(placeHolderTextNode); when(headerGroup.asNode()).thenReturn(headerGroupNode); when(parentGroup.asNode()).thenReturn(parentGroupNode); when(renderContext.getGroup()).thenReturn(parentGroup); when(headerMetaData.getTitle()).thenReturn(TITLE); }
@Test public void testUpdate() throws VetoException { final ActionRetractFactCol52 column = spy(new ActionRetractFactCol52()); column.setHeader("col1"); modelSynchronizer.appendColumn(column); final ActionRetractFactCol52 edited = new ActionRetractFactCol52(); edited.setWidth(column.getWidth()); edited.setHideColumn(true); edited.setHeader("updated"); List<BaseColumnFieldDiff> diffs = modelSynchronizer.updateColumn(column, edited); assertEquals(2, diffs.size()); verify(column).diff(edited); assertEquals(1, model.getActionCols().size()); assertEquals(3, uiModel.getColumns().size()); assertTrue(uiModel.getColumns().get(2) instanceof BoundFactUiColumn); assertEquals("updated", uiModel.getColumns().get(2).getHeaderMetaData().get(0).getTitle()); assertEquals(false, uiModel.getColumns().get(2).isVisible()); }
@Test public void testUpdateToNegated() throws VetoException { final Pattern52 pattern = spy(boundApplicantPattern("$a")); final ConditionCol52 condition = spy(ageEqualsCondition()); modelSynchronizer.appendColumn(pattern, condition); assertEquals("$a : Applicant", uiModel.getColumns().get(2).getHeaderMetaData().get(0).getTitle()); final Pattern52 editedPattern = new Pattern52(); editedPattern.setNegated(true); editedPattern.setFactType("Applicant"); final ConditionCol52 editedCondition = spy(ageEqualsCondition()); modelSynchronizer.updateColumn(pattern, condition, editedPattern, editedCondition); assertEquals("not Applicant", uiModel.getColumns().get(2).getHeaderMetaData().get(0).getTitle()); assertEquals(editedCondition.getHeader(), uiModel.getColumns().get(2).getHeaderMetaData().get(1).getTitle()); }
@Test public void testUpdate() throws VetoException { final LimitedEntryBRLActionColumn column = new LimitedEntryBRLActionColumn(); column.setHeader("col1"); modelSynchronizer.appendColumn(column); final LimitedEntryBRLActionColumn edited = new LimitedEntryBRLActionColumn(); edited.setHideColumn(true); edited.setHeader("updated"); modelSynchronizer.updateColumn(column, edited); assertEquals(1, model.getActionCols().size()); assertEquals(3, uiModel.getColumns().size()); assertTrue(uiModel.getColumns().get(2) instanceof BooleanUiColumn); assertEquals("updated", uiModel.getColumns().get(2).getHeaderMetaData().get(0).getTitle()); assertEquals(false, uiModel.getColumns().get(2).isVisible()); }
@Test public void testUpdate() throws VetoException { final LimitedEntryBRLConditionColumn column = new LimitedEntryBRLConditionColumn(); column.setHeader("col1"); modelSynchronizer.appendColumn(column); final LimitedEntryBRLConditionColumn edited = new LimitedEntryBRLConditionColumn(); edited.setHideColumn(true); edited.setHeader("updated"); modelSynchronizer.updateColumn(column, edited); assertEquals(1, model.getConditions().size()); assertEquals(3, uiModel.getColumns().size()); assertTrue(uiModel.getColumns().get(2) instanceof BooleanUiColumn); assertEquals("updated", uiModel.getColumns().get(2).getHeaderMetaData().get(0).getTitle()); assertEquals(false, uiModel.getColumns().get(2).isVisible()); }
@Test public void testAppend() throws VetoException { final AttributeCol52 column = new AttributeCol52(); column.setAttribute(RuleAttributeWidget.SALIENCE_ATTR); modelSynchronizer.appendColumn(column); assertEquals(1, model.getAttributeCols().size()); assertEquals(RuleAttributeWidget.SALIENCE_ATTR, model.getAttributeCols().get(0).getAttribute()); assertEquals(3, uiModel.getColumns().size()); assertTrue(uiModel.getColumns().get(2) instanceof IntegerUiColumn); assertEquals(RuleAttributeWidget.SALIENCE_ATTR, uiModel.getColumns().get(2).getHeaderMetaData().get(0).getTitle()); assertEquals(true, ((BaseSingletonDOMElementUiColumn) uiModel.getColumns().get(2)).isEditable()); }
@Override public Group renderHeaderContent(final List<GridColumn.HeaderMetaData> headerMetaData, final GridHeaderColumnRenderContext context, final int headerRowIndex, final double blockWidth, final double rowHeight) { final Group headerGroup = GWT.create(Group.class); final String title = headerMetaData.get(headerRowIndex).getTitle(); final Text t = context.getRenderer().getTheme().getHeaderText(); t.setText(title); t.setListening(false); t.setX(blockWidth / 2); t.setY(rowHeight / 2); headerGroup.add(t); return headerGroup; }
@Override public Group renderHeaderContent(final List<GridColumn.HeaderMetaData> headerMetaData, final GridHeaderColumnRenderContext context, final int headerRowIndex, final double blockWidth, final double rowHeight) { final Group headerGroup = GWT.create(Group.class); final String title = headerMetaData.get(headerRowIndex).getTitle(); final Text t = context.getRenderer().getTheme().getHeaderText(); t.setText(title); t.setListening(false); t.setX(blockWidth / 2); t.setY(rowHeight / 2); headerGroup.add(t); return headerGroup; }
@Test public void testAppend() throws VetoException { final MetadataCol52 column = new MetadataCol52(); column.setMetadata("smurf"); modelSynchronizer.appendColumn(column); assertEquals(1, model.getMetadataCols().size()); assertEquals("smurf", model.getMetadataCols().get(0).getMetadata()); assertEquals(3, uiModel.getColumns().size()); assertEquals("smurf", uiModel.getColumns().get(2).getHeaderMetaData().get(0).getTitle()); }