@Override public List<BaseColumnFieldDiff> update(final ColumnMetaData originalMetaData, final ColumnMetaData editedMetaData) throws VetoException { //Check operation is supported if (!(handlesUpdate(originalMetaData) && handlesUpdate(editedMetaData))) { return Collections.emptyList(); } //Get differences between original and edited column final ActionWorkItemCol52 originalColumn = (ActionWorkItemCol52) originalMetaData.getColumn(); final ActionWorkItemCol52 editedColumn = (ActionWorkItemCol52) editedMetaData.getColumn(); final List<BaseColumnFieldDiff> diffs = originalColumn.diff(editedColumn); update(originalColumn, editedColumn); //ActionWorkItem columns are always represented with a BooleanUiColumn final boolean isHideUpdated = BaseColumnFieldDiffImpl.hasChanged(ActionWorkItemCol52.FIELD_HIDE_COLUMN, diffs); final boolean isHeaderUpdated = BaseColumnFieldDiffImpl.hasChanged(ActionWorkItemCol52.FIELD_HEADER, diffs); if (isHideUpdated) { setColumnVisibility(originalColumn, originalColumn.isHideColumn()); } if (isHeaderUpdated) { setColumnHeader(originalColumn, originalColumn.getHeader()); } return diffs; }
@Override public List<BaseColumnFieldDiff> update(final ColumnMetaData originalMetaData, final ColumnMetaData editedMetaData) throws VetoException { //Check operation is supported if (!(handlesUpdate(originalMetaData) && handlesUpdate(editedMetaData))) { return Collections.emptyList(); } //Get differences between original and edited column final ActionWorkItemCol52 originalColumn = (ActionWorkItemCol52) originalMetaData.getColumn(); final ActionWorkItemCol52 editedColumn = (ActionWorkItemCol52) editedMetaData.getColumn(); final List<BaseColumnFieldDiff> diffs = originalColumn.diff(editedColumn); update(originalColumn, editedColumn); //ActionWorkItem columns are always represented with a BooleanUiColumn final boolean isHideUpdated = BaseColumnFieldDiffImpl.hasChanged(ActionWorkItemCol52.FIELD_HIDE_COLUMN, diffs); final boolean isHeaderUpdated = BaseColumnFieldDiffImpl.hasChanged(ActionWorkItemCol52.FIELD_HEADER, diffs); if (isHideUpdated) { setColumnVisibility(originalColumn, originalColumn.isHideColumn()); } if (isHeaderUpdated) { setColumnHeader(originalColumn, originalColumn.getHeader()); } return diffs; }
@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()); }
@Test public void testWorkItemDefinition_ParamAndNull() { PortableWorkDefinition def1 = new PortableWorkDefinition(); def1.setName("def1name"); PortableStringParameterDefinition param1 = new PortableStringParameterDefinition(); param1.setName("param1"); param1.setValue("value1"); def1.addParameter(param1); column1.setWorkItemDefinition(null); column2.setWorkItemDefinition(def1); List<BaseColumnFieldDiff> diff = column1.diff(column2); assertNotNull(diff); assertEquals(3, diff.size()); assertEquals(FIELD_WORKITEM_DEFINITION_NAME, diff.get(0).getFieldName()); assertEquals(null, diff.get(0).getOldValue()); assertEquals("def1name", diff.get(0).getValue()); assertEquals(FIELD_WORKITEM_DEFINITION_PARAMETER_NAME, diff.get(1).getFieldName()); assertEquals(null, diff.get(1).getOldValue()); assertEquals("param1", diff.get(1).getValue()); assertEquals(FIELD_WORKITEM_DEFINITION_PARAMETER_VALUE, diff.get(2).getFieldName()); assertEquals(null, diff.get(2).getOldValue()); assertEquals("\"value1\"", diff.get(2).getValue()); }
column2.setDefaultValue(new DTCellValue52("default2")); List<BaseColumnFieldDiff> diff = column1.diff(column2); assertNotNull(diff); assertEquals(4, diff.size());
List<BaseColumnFieldDiff> diff = column1.diff(column2); assertNotNull(diff); for (BaseColumnFieldDiff item : diff) {
@Test public void getSafeHtml_ActionWorkItemExecute_Simple() { ActionWorkItemCol52 originalColumn = new ActionWorkItemCol52(); originalColumn.setHeader("action1"); originalColumn.setHideColumn(false); ActionWorkItemCol52 newColumn = new ActionWorkItemCol52(); newColumn.setHeader("action2"); newColumn.setHideColumn(true); PortableStringParameterDefinition param1 = new PortableStringParameterDefinition(); param1.setName("param1"); param1.setValue("value1"); PortableWorkDefinition def1 = new PortableWorkDefinition(); def1.setName("def1name"); def1.addParameter(param1); PortableStringParameterDefinition param3 = new PortableStringParameterDefinition(); param3.setName("param3"); param3.setValue("value3"); PortableWorkDefinition def2 = new PortableWorkDefinition(); def2.setName("def2name"); def2.addParameter(param3); originalColumn.setWorkItemDefinition(def1); newColumn.setWorkItemDefinition(def2); List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn); SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs)); assertEquals(getActionHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString()); }
newColumn.setWorkItemDefinition(def2); List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);