diff --git a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceUtils.java b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceUtils.java index dbf2e70e3..a74ba441b 100644 --- a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceUtils.java +++ b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceUtils.java @@ -374,11 +374,9 @@ private static void filterRowGroupBelongToControlAreaByDiffState( (rowGroup, notBelongToAreaState) -> rowGroup.getRows() .forEach(row -> handleTableRowNotBelongToArea() .accept(row, notBelongToAreaState))); - result.getTablecontent().getRowgroups().forEach(group -> { - if (!relevantRowGroup.contains(group)) { - group.getRows().clear(); - } - }); + result.getTablecontent() + .getRowgroups() + .removeIf(group -> !relevantRowGroup.contains(group)); } private static List filterElementBelongToControlArea( @@ -413,13 +411,13 @@ private static List filterElementBelongToControlArea( return listElement.stream().filter(ele -> { final UrObjektEachContainer objEachContainer = getUrObj.apply(ele); - - final boolean isInitialObjBelongToAreas = transformationService - .isObjectBelongToRendereArea(objEachContainer.initalObj, - inititalControlAreas); - final boolean isFinalObjBelongToAreas = transformationService - .isObjectBelongToRendereArea(objEachContainer.finalObj, - finalControlAreas); + final boolean isInitialObjBelongToAreas = !inititalControlAreas + .isEmpty() + && transformationService.isObjectBelongToRendereArea( + objEachContainer.initalObj, inititalControlAreas); + final boolean isFinalObjBelongToAreas = !finalControlAreas.isEmpty() + && transformationService.isObjectBelongToRendereArea( + objEachContainer.finalObj, finalControlAreas); if (isInitialObjBelongToAreas != isFinalObjBelongToAreas && handleByInitialOrFinalElementNotBelongToArea != null) { handleByInitialOrFinalElementNotBelongToArea.accept(ele, diff --git a/java/bundles/org.eclipse.set.model.tablemodel.extensions/src/org/eclipse/set/model/tablemodel/extensions/CellContentExtensions.xtend b/java/bundles/org.eclipse.set.model.tablemodel.extensions/src/org/eclipse/set/model/tablemodel/extensions/CellContentExtensions.xtend index 43aede3eb..405e4725d 100644 --- a/java/bundles/org.eclipse.set.model.tablemodel.extensions/src/org/eclipse/set/model/tablemodel/extensions/CellContentExtensions.xtend +++ b/java/bundles/org.eclipse.set.model.tablemodel.extensions/src/org/eclipse/set/model/tablemodel/extensions/CellContentExtensions.xtend @@ -188,7 +188,12 @@ class CellContentExtensions { static def dispatch String getPlainStringValue( CompareStateCellContent content) { - return '''«content.oldValue.stringValueIterable»/«content.newValue.stringValueIterable»''' + val oldValue = content?.oldValue?.stringValueIterable + val newValue = content?.newValue?.stringValueIterable + if (oldValue.isNullOrEmpty && newValue.nullOrEmpty) { + return "" + } + return '''«oldValue»/«newValue»''' } static def dispatch String getPlainStringValue( @@ -217,7 +222,9 @@ class CellContentExtensions { static def dispatch Iterable getStringValueIterable( StringCellContent content) { - return content.value + return content?.value?.filterNull?.map[trim]?.filter [ + !blank && !nullOrEmpty + ] ?: #[] } static def List getStringValueList(CellContent content) {