@Test public void testMoveRowMoveUpMidBlock() throws VetoException { modelSynchronizer.appendRow(); modelSynchronizer.appendRow(); modelSynchronizer.appendRow(); final GridRow uiRow0 = uiModel.getRow(0); final GridRow uiRow1 = uiModel.getRow(1); final GridRow uiRow2 = uiModel.getRow(2); final List<DTCellValue52> row0 = model.getData().get(0); final List<DTCellValue52> row1 = model.getData().get(1); final List<DTCellValue52> row2 = model.getData().get(2); uiModel.moveRowsTo(1, new ArrayList<GridRow>() {{ add(uiRow2); }}); assertEquals(uiRow0, uiModel.getRow(0)); assertEquals(uiRow2, uiModel.getRow(1)); assertEquals(uiRow1, uiModel.getRow(2)); assertEquals(row0, model.getData().get(0)); assertEquals(row2, model.getData().get(1)); assertEquals(row1, model.getData().get(2)); }
@Override public void moveRowsTo(final List<MoveRowToMetaData> metaData) throws VetoException { if (!handlesMoveRowsTo(metaData)) { return; } for (int idx = 0; idx < metaData.size(); idx++) { final MoveRowToMetaData md = metaData.get(idx); final int sourceRowIndex = md.getSourceRowIndex(); final int targetRowIndex = md.getTargetRowIndex(); final List<DTCellValue52> row = md.getRow(); if (targetRowIndex < sourceRowIndex) { model.getData().remove(sourceRowIndex); model.getData().add(targetRowIndex, row); } else if (targetRowIndex > sourceRowIndex) { model.getData().remove(sourceRowIndex - idx); model.getData().add(targetRowIndex - idx, row); } } }
RowSynchronizer extends BaseSynchronizer<RowMetaData, RowMetaData, RowMetaData> { @Override public void moveRowsTo(final List<MoveRowToMetaData> metaData) throws VetoException { if (!handlesMoveRowsTo(metaData)) { return; } for (int idx = 0; idx < metaData.size(); idx++) { final MoveRowToMetaData md = metaData.get(idx); final int sourceRowIndex = md.getSourceRowIndex(); final int targetRowIndex = md.getTargetRowIndex(); final List<DTCellValue52> row = md.getRow(); if (targetRowIndex < sourceRowIndex) { model.getData().remove(sourceRowIndex); model.getData().add(targetRowIndex, row); } else if (targetRowIndex > sourceRowIndex) { model.getData().remove(sourceRowIndex - idx); model.getData().add(targetRowIndex - idx, row); } } } }
RowSynchronizer extends BaseSynchronizer<RowMetaData, RowMetaData, RowMetaData> { @Override public void moveRowsTo(final List<MoveRowToMetaData> metaData) throws VetoException { if (!handlesMoveRowsTo(metaData)) { return; } for (int idx = 0; idx < metaData.size(); idx++) { final MoveRowToMetaData md = metaData.get(idx); final int sourceRowIndex = md.getSourceRowIndex(); final int targetRowIndex = md.getTargetRowIndex(); final List<DTCellValue52> row = md.getRow(); if (targetRowIndex < sourceRowIndex) { model.getData().remove(sourceRowIndex); model.getData().add(targetRowIndex, row); } else if (targetRowIndex > sourceRowIndex) { model.getData().remove(sourceRowIndex - idx); model.getData().add(targetRowIndex - idx, row); } } }  }
RowSynchronizer extends BaseSynchronizer<RowMetaData, RowMetaData, RowMetaData> { @Override public void moveRowsTo(final List<MoveRowToMetaData> metaData) throws VetoException { if (!handlesMoveRowsTo(metaData)) { return; } for (int idx = 0; idx < metaData.size(); idx++) { final MoveRowToMetaData md = metaData.get(idx); final int sourceRowIndex = md.getSourceRowIndex(); final int targetRowIndex = md.getTargetRowIndex(); final List<DTCellValue52> row = md.getRow(); if (targetRowIndex < sourceRowIndex) { model.getData().remove(sourceRowIndex); model.getData().add(targetRowIndex, row); } else if (targetRowIndex > sourceRowIndex) { model.getData().remove(sourceRowIndex - idx); model.getData().add(targetRowIndex - idx, row); } } }  @Override boolean handlesAppend(final MetaData metaData); @Override void append(final RowMetaData metaData); @Override boolean handlesInsert(final MetaData metaData); @Override void insert(final RowMetaData metaData); @Override boolean handlesUpdate(final MetaData metaData); @Override List<BaseColumnFieldDiff> update(final RowMetaData originalMetaData,
                                            final RowMetaData editedMetaData); @Override boolean handlesDelete(final MetaData metaData); @Override void delete(final RowMetaData metaData); @Override boolean handlesMoveColumnsTo(final List<? extends MetaData> metaData); @Override void moveColumnsTo(final List<MoveColumnToMetaData> metaData); @Override boolean handlesMoveRowsTo(final List<? extends MetaData> metaData); @Override void moveRowsTo(final List<MoveRowToMetaData> metaData); }
RowSynchronizer extends BaseSynchronizer<RowMetaData, RowMetaData, RowMetaData> { @Override public void moveRowsTo(final List<MoveRowToMetaData> metaData) throws VetoException { if (!handlesMoveRowsTo(metaData)) { return; } for (int idx = 0; idx < metaData.size(); idx++) { final MoveRowToMetaData md = metaData.get(idx); final int sourceRowIndex = md.getSourceRowIndex(); final int targetRowIndex = md.getTargetRowIndex(); final List<DTCellValue52> row = md.getRow(); if (targetRowIndex < sourceRowIndex) { model.getData().remove(sourceRowIndex); model.getData().add(targetRowIndex, row); } else if (targetRowIndex > sourceRowIndex) { model.getData().remove(sourceRowIndex - idx); model.getData().add(targetRowIndex - idx, row); } } }  @Override boolean handlesAppend(final MetaData metaData); @Override void append(final RowMetaData metaData); @Override boolean handlesInsert(final MetaData metaData); @Override void insert(final RowMetaData metaData); @Override boolean handlesUpdate(final MetaData metaData); @Override List<BaseColumnFieldDiff> update(final RowMetaData originalMetaData,
                                            final RowMetaData editedMetaData); @Override boolean handlesDelete(final MetaData metaData); @Override void delete(final RowMetaData metaData); @Override boolean handlesMoveColumnsTo(final List<? extends MetaData> metaData); @Override void moveColumnsTo(final List<MoveColumnToMetaData> metaData); @Override boolean handlesMoveRowsTo(final List<? extends MetaData> metaData); @Override void moveRowsTo(final List<MoveRowToMetaData> metaData);  }