@Override
public void accumulateConfigLabels(LabelStack configLabels, int columnPosition, int rowPosition) {
- CdmBase rowObject = dataProvider.getRowObject(natTable.getRowIndexByPosition(rowPosition));
+ if(rowPosition<0){
+ return;
+ }
+ CdmBase rowObject = dataProvider.getRowObject(rowPosition);
if(input.getMergeCandidates().contains(rowObject)){
configLabels.addLabel(BulkEditorE4Composite.CANDIDATE_LABEL);
}
List<CdmBase> selection = new ArrayList<>();
int[] fullySelectedRowPositions = bodyLayer.getSelectionLayer().getFullySelectedRowPositions();
for (int i : fullySelectedRowPositions) {
- /*
- * Differentiation between "index" and "position" is important here
- * "position" is the current visible index "index" refers to the
- * underlying data model deleting an entity could lead to an
- * IndexOutOfBoundExceptions if the position is used
- */
- int rowIndexByPosition = natTable.getRowIndexByPosition(i);
- Object rowObject = bodyDataProvider.getRowObject(rowIndexByPosition);
+ if(i<0){
+ continue;
+ }
+ Object rowObject = bodyDataProvider.getRowObject(i);
if(rowObject instanceof CdmBase){
selection.add((CdmBase) rowObject);
}