From dfde8d8f86597c0cf94f964de459f62becf243b0 Mon Sep 17 00:00:00 2001
From: TruongQuangSB
Date: Thu, 8 Jan 2026 16:13:22 +0100
Subject: [PATCH 1/9] Modify CompareCellContent
---
.../cacheservice/CacheServiceImpl.java | 15 +-
.../set/core/services/cache/CacheService.java | 12 +-
.../core/services/cache/NoCacheService.java | 7 +-
.../export/pdf/TableToTableDocument.xtend | 21 +-
.../pt1/sskp/SskpTransformationService.java | 24 +-
.../MixedStringCellComparatorTest.xtend | 5 +-
.../table/diff/TableProjectDiffService.java | 27 +-
.../table/diff/TableStateDiffService.java | 38 ++-
...ntent_newValue_CompareStateCellContent.gif | Bin 0 -> 223 bytes
...ntent_newValue_CompareTableCellContent.gif | Bin 0 -> 223 bytes
...Content_newValue_MultiColorCellContent.gif | Bin 0 -> 223 bytes
...CellContent_newValue_StringCellContent.gif | Bin 0 -> 223 bytes
...ntent_oldValue_CompareStateCellContent.gif | Bin 0 -> 223 bytes
...ntent_oldValue_CompareTableCellContent.gif | Bin 0 -> 223 bytes
...Content_oldValue_MultiColorCellContent.gif | Bin 0 -> 223 bytes
...CellContent_oldValue_StringCellContent.gif | Bin 0 -> 223 bytes
...lanCellContent_CompareStateCellContent.gif | Bin 0 -> 223 bytes
...lanCellContent_CompareStateCellContent.gif | Bin 0 -> 223 bytes
...leCell_content_CompareStateCellContent.gif | Bin 0 -> 223 bytes
.../full/obj16/CompareStateCellContent.gif | Bin 0 -> 129 bytes
.../plugin.properties | 3 +
.../CompareCellContentItemProvider.java | 161 ----------
.../CompareStateCellContentItemProvider.java | 214 +++++++++++++
.../CompareTableCellContentItemProvider.java | 4 +-
.../provider/TableCellItemProvider.java | 2 +-
.../TablemodelItemProviderAdapterFactory.java | 20 +-
.../extensions/CellContentExtensionsTest.java | 15 +-
.../extensions/CellContentExtensions.xtend | 38 ++-
.../model/tablemodel.ecore | 18 +-
.../model/tablemodel.genmodel | 6 +-
.../model/tablemodel/CompareCellContent.java | 61 ----
.../tablemodel/CompareStateCellContent.java | 85 ++++++
.../model/tablemodel/TablemodelFactory.java | 6 +-
.../model/tablemodel/TablemodelPackage.java | 106 ++++---
.../impl/CompareCellContentImpl.java | 192 ------------
.../impl/CompareStateCellContentImpl.java | 284 ++++++++++++++++++
.../impl/TablemodelFactoryImpl.java | 10 +-
.../impl/TablemodelPackageImpl.java | 56 ++--
.../util/TablemodelAdapterFactory.java | 19 +-
.../tablemodel/util/TablemodelSwitch.java | 14 +-
.../extensions/StellBereichExtensions.java | 4 +-
.../extensions/UrObjectExtensions.xtend | 5 +-
.../TableModelInstanceBodyDataProvider.java | 36 ++-
.../set/utils/table/TableSpanUtils.java | 25 +-
.../sorting/AbstractCellComparator.xtend | 15 +-
45 files changed, 885 insertions(+), 663 deletions(-)
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_newValue_CompareStateCellContent.gif
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_newValue_CompareTableCellContent.gif
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_newValue_MultiColorCellContent.gif
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_newValue_StringCellContent.gif
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_oldValue_CompareStateCellContent.gif
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_oldValue_CompareTableCellContent.gif
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_oldValue_MultiColorCellContent.gif
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_oldValue_StringCellContent.gif
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareTableCellContent_comparePlanCellContent_CompareStateCellContent.gif
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareTableCellContent_mainPlanCellContent_CompareStateCellContent.gif
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateTableCell_content_CompareStateCellContent.gif
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/obj16/CompareStateCellContent.gif
delete mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/CompareCellContentItemProvider.java
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/CompareStateCellContentItemProvider.java
delete mode 100644 java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/CompareCellContent.java
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/CompareStateCellContent.java
delete mode 100644 java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/CompareCellContentImpl.java
create mode 100644 java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/CompareStateCellContentImpl.java
diff --git a/java/bundles/org.eclipse.set.application/src/org/eclipse/set/application/cacheservice/CacheServiceImpl.java b/java/bundles/org.eclipse.set.application/src/org/eclipse/set/application/cacheservice/CacheServiceImpl.java
index 2614f7b78a..1ea6c6c53e 100644
--- a/java/bundles/org.eclipse.set.application/src/org/eclipse/set/application/cacheservice/CacheServiceImpl.java
+++ b/java/bundles/org.eclipse.set.application/src/org/eclipse/set/application/cacheservice/CacheServiceImpl.java
@@ -8,9 +8,11 @@
*/
package org.eclipse.set.application.cacheservice;
+import java.util.Arrays;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
import org.eclipse.e4.core.services.events.IEventBroker;
import org.eclipse.set.basis.IModelSession;
@@ -58,10 +60,8 @@ public Cache getCache(final PlanPro_Schnittstelle schnittstelle,
@Override
public Cache getCache(final PlanPro_Schnittstelle schnittstelle,
- final String cacheId, final String containerCacheId)
- throws IllegalArgumentException {
- return getCache(getSessionRole(schnittstelle), cacheId,
- containerCacheId);
+ final String... cacheId) throws IllegalArgumentException {
+ return getCache(getSessionRole(schnittstelle), cacheId);
}
private void invalidate(final ToolboxFileRole role) {
@@ -126,9 +126,10 @@ public Cache getCache(final ToolboxFileRole role, final String cacheId)
}
@Override
- public Cache getCache(final ToolboxFileRole role, final String cacheId,
- final String containerCacheId) throws IllegalArgumentException {
- final String cacheKey = cacheId + "/" + containerCacheId; //$NON-NLS-1$
+ public Cache getCache(final ToolboxFileRole role, final String... cacheId)
+ throws IllegalArgumentException {
+ final String cacheKey = Arrays.stream(cacheId)
+ .collect(Collectors.joining("/")); //$NON-NLS-1$
return getCache(role, cacheKey);
}
diff --git a/java/bundles/org.eclipse.set.core.services/src/org/eclipse/set/core/services/cache/CacheService.java b/java/bundles/org.eclipse.set.core.services/src/org/eclipse/set/core/services/cache/CacheService.java
index 9d7b1a2929..ae74323d16 100644
--- a/java/bundles/org.eclipse.set.core.services/src/org/eclipse/set/core/services/cache/CacheService.java
+++ b/java/bundles/org.eclipse.set.core.services/src/org/eclipse/set/core/services/cache/CacheService.java
@@ -38,15 +38,13 @@ public Cache getCache(PlanPro_Schnittstelle schnittstelle, String cacheId)
* the {@link PlanPro_Schnittstelle}
* @param cacheId
* the id for the cache
- * @param containerCacheId
- * the id for the container to consider
* @return the container cache
*
* @throws IllegalArgumentException
* if no cache for the given id is found
*/
- public Cache getCache(PlanPro_Schnittstelle schnittstelle, String cacheId,
- String containerCacheId) throws IllegalArgumentException;
+ public Cache getCache(PlanPro_Schnittstelle schnittstelle,
+ String... cacheId) throws IllegalArgumentException;
/**
* check if already storage cache
@@ -80,15 +78,13 @@ public Cache getCache(ToolboxFileRole role, String cacheId)
* {@link ToolboxFileRole}
* @param cacheId
* the id for the cache
- * @param containerCacheId
- * the id for the container to consider
* @return the container cache
*
* @throws IllegalArgumentException
* if no cache for the given id is found
*/
- public Cache getCache(ToolboxFileRole role, String cacheId,
- String containerCacheId) throws IllegalArgumentException;
+ public Cache getCache(ToolboxFileRole role, String... cacheId)
+ throws IllegalArgumentException;
/**
* check if already storage cache
diff --git a/java/bundles/org.eclipse.set.core.services/src/org/eclipse/set/core/services/cache/NoCacheService.java b/java/bundles/org.eclipse.set.core.services/src/org/eclipse/set/core/services/cache/NoCacheService.java
index 478a17e92c..feb874ebc9 100644
--- a/java/bundles/org.eclipse.set.core.services/src/org/eclipse/set/core/services/cache/NoCacheService.java
+++ b/java/bundles/org.eclipse.set.core.services/src/org/eclipse/set/core/services/cache/NoCacheService.java
@@ -36,8 +36,7 @@ public Cache getCache(final PlanPro_Schnittstelle schnittStellle,
@Override
public Cache getCache(final PlanPro_Schnittstelle schnittStellle,
- final String cacheId, final String containerCacheId)
- throws IllegalArgumentException {
+ final String... cacheId) throws IllegalArgumentException {
return new NoCache();
}
@@ -54,8 +53,8 @@ public Cache getCache(final ToolboxFileRole role, final String cacheId)
}
@Override
- public Cache getCache(final ToolboxFileRole role, final String cacheId,
- final String containerCacheId) throws IllegalArgumentException {
+ public Cache getCache(final ToolboxFileRole role, final String... cacheId)
+ throws IllegalArgumentException {
return new NoCache();
}
diff --git a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend
index 99bb47388c..3ec54f07c6 100644
--- a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend
+++ b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend
@@ -17,13 +17,16 @@ import javax.imageio.ImageIO
import javax.xml.parsers.DocumentBuilderFactory
import javax.xml.parsers.ParserConfigurationException
import org.eclipse.set.basis.FreeFieldInfo
+import org.eclipse.set.basis.constants.ToolboxConstants
import org.eclipse.set.model.tablemodel.CellContent
-import org.eclipse.set.model.tablemodel.CompareCellContent
import org.eclipse.set.model.tablemodel.CompareFootnoteContainer
+import org.eclipse.set.model.tablemodel.CompareStateCellContent
import org.eclipse.set.model.tablemodel.CompareTableCellContent
+import org.eclipse.set.model.tablemodel.CompareTableFootnoteContainer
import org.eclipse.set.model.tablemodel.FootnoteContainer
import org.eclipse.set.model.tablemodel.MultiColorCellContent
import org.eclipse.set.model.tablemodel.MultiColorContent
+import org.eclipse.set.model.tablemodel.PlanCompareRow
import org.eclipse.set.model.tablemodel.SimpleFootnoteContainer
import org.eclipse.set.model.tablemodel.Table
import org.eclipse.set.model.tablemodel.TableContent
@@ -41,15 +44,12 @@ import org.w3c.dom.Document
import org.w3c.dom.Element
import static extension org.eclipse.set.model.tablemodel.extensions.CellContentExtensions.*
+import static extension org.eclipse.set.model.tablemodel.extensions.TableCellExtensions.*
import static extension org.eclipse.set.model.tablemodel.extensions.TableContentExtensions.*
import static extension org.eclipse.set.model.tablemodel.extensions.TableExtensions.*
-import static extension org.eclipse.set.model.tablemodel.extensions.TableCellExtensions.*
import static extension org.eclipse.set.model.tablemodel.extensions.TableRowExtensions.*
import static extension org.eclipse.set.utils.StringExtensions.*
import static extension org.eclipse.set.utils.export.xsl.siteplan.SiteplanXSL.pxToMilimeter
-import org.eclipse.set.basis.constants.ToolboxConstants
-import org.eclipse.set.model.tablemodel.PlanCompareRow
-import org.eclipse.set.model.tablemodel.CompareTableFootnoteContainer
/**
* Transformation from {@link Table} to TableDocument {@link Document}.
@@ -343,12 +343,12 @@ class TableToTableDocument {
}
}
- private def dispatch Element createContent(CompareCellContent content,
+ private def dispatch Element createContent(CompareStateCellContent content,
FootnoteContainer fc, int columnNumber, boolean isRemarkColumn) {
val element = doc.createElement("DiffContent")
formatCompareContent(
- content.oldValue,
- content.newValue,
+ content.oldValue.stringValueIterable,
+ content.newValue.stringValueIterable,
[doc.createElement("OldValue")],
[doc.createElement("UnchangedValue")],
[doc.createElement("NewValue")],
@@ -487,8 +487,9 @@ class TableToTableDocument {
private def Element addContentToElement(String content, Element element,
int columnNumber, boolean isRemarkColumn) {
val checkOutput = content.checkForTestOutput(columnNumber)
- element.textContent = isRemarkColumn ? checkOutput : checkOutput.
- intersperseWithZeroSpacesSC
+ element.textContent = isRemarkColumn
+ ? checkOutput
+ : checkOutput.intersperseWithZeroSpacesSC
return element
}
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformationService.java
index c2948ebe66..8fbe58c1d6 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformationService.java
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformationService.java
@@ -26,18 +26,20 @@
import org.eclipse.set.model.planpro.Basisobjekte.Punkt_Objekt;
import org.eclipse.set.model.planpro.PZB.PZB_Element;
import org.eclipse.set.model.tablemodel.ColumnDescriptor;
-import org.eclipse.set.model.tablemodel.CompareCellContent;
+import org.eclipse.set.model.tablemodel.CompareStateCellContent;
import org.eclipse.set.model.tablemodel.MultiColorCellContent;
import org.eclipse.set.model.tablemodel.MultiColorContent;
import org.eclipse.set.model.tablemodel.RowGroup;
import org.eclipse.set.model.tablemodel.RowMergeMode;
import org.eclipse.set.model.tablemodel.StringCellContent;
import org.eclipse.set.model.tablemodel.TableCell;
+import org.eclipse.set.model.tablemodel.extensions.CellContentExtensions;
import org.eclipse.set.ppmodel.extensions.PZBElementExtensions;
import org.eclipse.set.ppmodel.extensions.utils.TableNameInfo;
import org.eclipse.set.utils.table.ColumnDescriptorModelBuilder;
import org.eclipse.set.utils.table.sorting.ComparatorBuilder.CellComparatorType;
import org.eclipse.set.utils.table.sorting.TableRowGroupComparator;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.event.EventAdmin;
@@ -91,15 +93,19 @@ private static String getCellContent(final TableCell cell) {
if (cell.getContent() instanceof final StringCellContent cellContent) {
return getFirstOrNull(cellContent.getValue());
}
- if (cell.getContent() instanceof final CompareCellContent cellContent) {
- if (cellContent.getNewValue().isEmpty()
- || cellContent.getOldValue().isEmpty()) {
- return Optional
- .ofNullable(getFirstOrNull(cellContent.getNewValue()))
- .orElse(getFirstOrNull(cellContent.getOldValue()));
+ if (cell.getContent() instanceof final CompareStateCellContent cellContent) {
+ final List oldValues = IterableExtensions
+ .toList(CellContentExtensions
+ .getStringValueIterable(cellContent.getOldValue()));
+ final List newValues = IterableExtensions
+ .toList(CellContentExtensions
+ .getStringValueIterable(cellContent.getNewValue()));
+ if (oldValues.isEmpty() || newValues.isEmpty()) {
+ return Optional.ofNullable(getFirstOrNull(newValues))
+ .orElse(getFirstOrNull(oldValues));
}
- return cellContent.getNewValue().get(0) + cellContent.getSeparator()
- + cellContent.getOldValue().get(0);
+ return newValues.get(0) + cellContent.getSeparator()
+ + oldValues.get(0);
}
if (cell.getContent() instanceof final MultiColorCellContent cellContent) {
final MultiColorContent firstOrNull = getFirstOrNull(
diff --git a/java/bundles/org.eclipse.set.feature.table.test/src/org/eclipse/set/feature/table/sorting/MixedStringCellComparatorTest.xtend b/java/bundles/org.eclipse.set.feature.table.test/src/org/eclipse/set/feature/table/sorting/MixedStringCellComparatorTest.xtend
index e467dc3fa9..3461290aaf 100644
--- a/java/bundles/org.eclipse.set.feature.table.test/src/org/eclipse/set/feature/table/sorting/MixedStringCellComparatorTest.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.test/src/org/eclipse/set/feature/table/sorting/MixedStringCellComparatorTest.xtend
@@ -14,6 +14,7 @@ import org.eclipse.set.utils.table.sorting.MixedStringCellComparator
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
+import static org.eclipse.set.model.tablemodel.extensions.CellContentExtensions.createStringCellContent
import static org.hamcrest.MatcherAssert.assertThat
import static org.hamcrest.core.Is.*
import static org.junit.jupiter.api.Assertions.*
@@ -35,8 +36,8 @@ class MixedStringCellComparatorTest {
@Test
def void testMixedCells() {
val cell1 = TablemodelFactory.eINSTANCE.createTableCell
- val content1 = TablemodelFactory.eINSTANCE.createCompareCellContent
- content1.newValue.add("86W9")
+ val content1 = TablemodelFactory.eINSTANCE.createCompareStateCellContent
+ content1.newValue = createStringCellContent("86W9")
cell1.content = content1
val cell2 = TablemodelFactory.eINSTANCE.createTableCell
diff --git a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/diff/TableProjectDiffService.java b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/diff/TableProjectDiffService.java
index 238880ae23..a7543331ed 100644
--- a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/diff/TableProjectDiffService.java
+++ b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/diff/TableProjectDiffService.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.set.feature.table.diff;
+import static org.eclipse.set.model.tablemodel.extensions.CellContentExtensions.getStringValueList;
import static org.eclipse.set.ppmodel.extensions.EObjectExtensions.getNullableObject;
import java.util.ArrayList;
@@ -23,7 +24,7 @@
import org.eclipse.set.core.services.session.SessionService;
import org.eclipse.set.model.tablemodel.CellContent;
import org.eclipse.set.model.tablemodel.ColumnDescriptor;
-import org.eclipse.set.model.tablemodel.CompareCellContent;
+import org.eclipse.set.model.tablemodel.CompareStateCellContent;
import org.eclipse.set.model.tablemodel.CompareTableCellContent;
import org.eclipse.set.model.tablemodel.CompareTableFootnoteContainer;
import org.eclipse.set.model.tablemodel.FootnoteContainer;
@@ -270,7 +271,7 @@ protected boolean isSameValue(final CellContent first,
return switch (first) {
case final StringCellContent stringContent -> isSameValue(
stringContent, second);
- case final CompareCellContent compareContent -> isSameValue(
+ case final CompareStateCellContent compareContent -> isSameValue(
compareContent, second);
case final MultiColorCellContent multiColorContent -> isSameValue(
multiColorContent, second);
@@ -311,7 +312,8 @@ private static CompareTableFootnoteContainer createCompareTableFootnoteContainer
* the {@link CellContent}
* @return true, if the table cell haven same value
*/
- protected boolean isSameValue(final CompareCellContent firstCellContent,
+ protected boolean isSameValue(
+ final CompareStateCellContent firstCellContent,
final CellContent secondCellContent) {
// Compare between CompareCellContent with another cell content is only
// in compare table between two Project available.
@@ -323,10 +325,10 @@ protected boolean isSameValue(final CompareCellContent firstCellContent,
.createStringCellContent();
if (tableType == TableType.INITIAL) {
compareCellStringContent.getValue()
- .addAll(firstCellContent.getOldValue());
+ .addAll(getStringValueList(firstCellContent.getOldValue()));
} else {
compareCellStringContent.getValue()
- .addAll(firstCellContent.getNewValue());
+ .addAll(getStringValueList(firstCellContent.getNewValue()));
}
return isSameValue(compareCellStringContent, secondCellContent);
}
@@ -384,17 +386,18 @@ protected boolean isSameValue(final StringCellContent firstCellContent,
.collect(Collectors.toSet());
yield firstValues.equals(secondValues);
}
- case final CompareCellContent compareContent -> {
+ case final CompareStateCellContent compareContent -> {
final TableType tableType = getSessionService()
.getLoadedSession(ToolboxFileRole.SESSION)
.getTableType();
final Set values = switch (tableType) {
- case TableType.INITIAL -> compareContent.getOldValue()
- .stream()
- .filter(value -> value != null
- && !value.trim().isEmpty())
- .collect(Collectors.toSet());
- default -> compareContent.getNewValue()
+ case TableType.INITIAL -> getStringValueList(
+ compareContent.getOldValue())
+ .stream()
+ .filter(value -> value != null
+ && !value.trim().isEmpty())
+ .collect(Collectors.toSet());
+ default -> getStringValueList(compareContent.getNewValue())
.stream()
.filter(value -> value != null
&& !value.trim().isEmpty())
diff --git a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/diff/TableStateDiffService.java b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/diff/TableStateDiffService.java
index be30f68bed..351e3a471a 100644
--- a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/diff/TableStateDiffService.java
+++ b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/diff/TableStateDiffService.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.set.feature.table.diff;
+import static org.eclipse.set.model.tablemodel.extensions.CellContentExtensions.createStringCellContent;
import static org.eclipse.set.model.tablemodel.extensions.TableCellExtensions.getIterableStringValue;
import java.util.Collections;
@@ -17,12 +18,12 @@
import org.eclipse.set.core.services.session.SessionService;
import org.eclipse.set.model.tablemodel.CellContent;
-import org.eclipse.set.model.tablemodel.CompareCellContent;
+import org.eclipse.set.model.tablemodel.CompareStateCellContent;
import org.eclipse.set.model.tablemodel.MultiColorCellContent;
+import org.eclipse.set.model.tablemodel.StringCellContent;
import org.eclipse.set.model.tablemodel.TableCell;
import org.eclipse.set.model.tablemodel.TablemodelFactory;
import org.eclipse.set.model.tablemodel.extensions.CellContentExtensions;
-import org.eclipse.set.model.tablemodel.extensions.TableCellExtensions;
import org.eclipse.set.ppmodel.extensions.EObjectExtensions;
import org.eclipse.set.services.table.TableDiffService;
import org.osgi.service.component.annotations.Component;
@@ -52,16 +53,23 @@ CellContent createDiffContent(final TableCell oldCell,
return oldCell.getContent();
}
+ if (!StringCellContent.class.isInstance(oldCell.getContent())
+ || newCell != null && !StringCellContent.class
+ .isInstance(newCell.getContent())) {
+ throw new IllegalArgumentException(
+ "Can create CompareStateCellContent only from StringCellContent"); //$NON-NLS-1$
+ }
+
final Set oldValues = getIterableStringValue(oldCell);
final Set newValues = newCell == null ? Collections.emptySet()
: getIterableStringValue(newCell);
if (oldValues.equals(newValues)) {
return null;
}
- final CompareCellContent compareContent = TablemodelFactory.eINSTANCE
- .createCompareCellContent();
- compareContent.getOldValue().addAll(oldValues);
- compareContent.getNewValue().addAll(newValues);
+ final CompareStateCellContent compareContent = TablemodelFactory.eINSTANCE
+ .createCompareStateCellContent();
+ compareContent.setOldValue(createStringCellContent(oldValues));
+ compareContent.setNewValue(createStringCellContent(newValues));
compareContent.setSeparator(EObjectExtensions
.getNullableObject(oldCell, c -> c.getContent().getSeparator())
.orElse(null));
@@ -85,17 +93,19 @@ private static void createMultiColorDiffCotent(final TableCell oldCell,
// Convert to CompareCellContent, when give different between
// initial
// and final state
- final CompareCellContent compareCellContent = TablemodelFactory.eINSTANCE
- .createCompareCellContent();
+ final CompareStateCellContent compareCellContent = TablemodelFactory.eINSTANCE
+ .createCompareStateCellContent();
oldCellContent.getValue()
- .forEach(colorContent -> compareCellContent.getOldValue()
- .add(String.format(colorContent.getStringFormat(),
- colorContent.getMultiColorValue())));
+ .forEach(colorContent -> compareCellContent
+ .setOldValue(createStringCellContent(String.format(
+ colorContent.getStringFormat(),
+ colorContent.getMultiColorValue()))));
newCellContent.getValue()
- .forEach(colorContent -> compareCellContent.getNewValue()
- .add(String.format(colorContent.getStringFormat(),
- colorContent.getMultiColorValue())));
+ .forEach(colorContent -> compareCellContent
+ .setNewValue(createStringCellContent(String.format(
+ colorContent.getStringFormat(),
+ colorContent.getMultiColorValue()))));
oldCell.setContent(compareCellContent);
}
}
diff --git a/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_newValue_CompareStateCellContent.gif b/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_newValue_CompareStateCellContent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a47b32b7d9b44ea2d815901ae43becbeeedfca1e
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6?0NB`=jP3{GiMwQ9Qgk~etx|D|NHh0
z4GqZRyQZrF(bh@I>$>EZHc8E^6q{Kh{O|93Ao~0HJP`ePzWDduW}s;hp!k!85ya8~
z5g+&ksNMH=u@DGqnEfK*!=jVzObZj-MmLCOy}(CuxeQ_e&*b
zItOaZUVegIq)%(ksgrJ23_5D}yf*NMONcgbmWINNs1ULB`Ej71uwNAfG&u7S~
OX-aKu%2rimum%9!dt-S3
literal 0
HcmV?d00001
diff --git a/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_newValue_MultiColorCellContent.gif b/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_newValue_MultiColorCellContent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5a20caaa7157853274e799c0bbe34f2685272dae
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6yx8;NX3xztX=e^N9Qgk~etx|D|NHh0
z4GnuUm4mOV*ROub(!
zIny~%WA^eB>>_3tK1kH}_2{@ihKy(sM0)lBSq?zf^Lj
zbD+lTg4sA2Ytgb#~OwlghEaFf5$Qgb_3>-5X?e1@Ew
Nrqsr!Y*j@DYXID%Vjchh
literal 0
HcmV?d00001
diff --git a/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_oldValue_CompareStateCellContent.gif b/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_oldValue_CompareStateCellContent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a47b32b7d9b44ea2d815901ae43becbeeedfca1e
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6?0NB`=jP3{GiMwQ9Qgk~etx|D|NHh0
z4GqZRyQZrF(bh@I>$>EZHc8E^6q{Kh{O|93Ao~0HJP`ePzWDduW}s;hp!k!85ya8~
z5g+&ksNMH=u@DGqnEfK*!=jVzObZj-MmLCOy}(CuxeQ_e&*b
zItOaZUVegIq)%(ksgrJ23_5D}yf*NMONcgbmWINNs1ULB`Ej71uwNAfG&u7S~
OX-aKu%2rimum%9!dt-S3
literal 0
HcmV?d00001
diff --git a/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_oldValue_MultiColorCellContent.gif b/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareStateCellContent_oldValue_MultiColorCellContent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5a20caaa7157853274e799c0bbe34f2685272dae
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6yx8;NX3xztX=e^N9Qgk~etx|D|NHh0
z4GnuUm4mOV*ROub(!
zIny~%WA^eB>>_3tK1kH}_2{@ihKy(sM0)lBSq?zf^Lj
zbD+lTg4sA2Ytgb#~OwlghEaFf5$Qgb_3>-5X?e1@Ew
Nrqsr!Y*j@DYXID%Vjchh
literal 0
HcmV?d00001
diff --git a/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareTableCellContent_comparePlanCellContent_CompareStateCellContent.gif b/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareTableCellContent_comparePlanCellContent_CompareStateCellContent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d6ef26260ca3cd812a2910c14b6c650030166327
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6?0NB`=jP3{GiMwQ9Qgk~etx|D|NHh0
z4Gjkl9GEj_4v-Oi?AWg9YCyDglJdGP`K3)#^D4z=mI(j*`yPn?em)OGf1WS?eYY8C
z8U!f*WMKrcbU*~iP6pN(1%MmLCOy}(CuxeQ_e&*b
zItOaZUVegIq)%(ksgrJ23_5D}yf*NMONcgbmWINNs1ULB`Ej71uwNAfG&u7S~
OX-aKu%2rimum%A3b7Oe`
literal 0
HcmV?d00001
diff --git a/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareTableCellContent_mainPlanCellContent_CompareStateCellContent.gif b/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateCompareTableCellContent_mainPlanCellContent_CompareStateCellContent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d6ef26260ca3cd812a2910c14b6c650030166327
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6?0NB`=jP3{GiMwQ9Qgk~etx|D|NHh0
z4Gjkl9GEj_4v-Oi?AWg9YCyDglJdGP`K3)#^D4z=mI(j*`yPn?em)OGf1WS?eYY8C
z8U!f*WMKrcbU*~iP6pN(1%MmLCOy}(CuxeQ_e&*b
zItOaZUVegIq)%(ksgrJ23_5D}yf*NMONcgbmWINNs1ULB`Ej71uwNAfG&u7S~
OX-aKu%2rimum%A3b7Oe`
literal 0
HcmV?d00001
diff --git a/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateTableCell_content_CompareStateCellContent.gif b/java/bundles/org.eclipse.set.model.tablemodel.edit/icons/full/ctool16/CreateTableCell_content_CompareStateCellContent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..88d8844103d0fb748775ce56a9fbe63061b24999
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6?0NB`=jP3{GiMwQ9Qgk~etx|D|NHh0
z4Gq7)etmQF=>7TgFI86Vnyv;!TPG>6>ylsEBsH&6Y-Wk@zrXK+=;I&}kR~x;L)6}k-
WmG`XF
- *
- * @generated
- */
-public class CompareCellContentItemProvider extends CellContentItemProvider {
- /**
- * This constructs an instance from a factory and a notifier.
- *
- * @generated
- */
- public CompareCellContentItemProvider(AdapterFactory adapterFactory) {
- super(adapterFactory);
- }
-
- /**
- * This returns the property descriptors for the adapted class.
- *
- * @generated
- */
- @Override
- public List getPropertyDescriptors(Object object) {
- if (itemPropertyDescriptors == null) {
- super.getPropertyDescriptors(object);
-
- addOldValuePropertyDescriptor(object);
- addNewValuePropertyDescriptor(object);
- }
- return itemPropertyDescriptors;
- }
-
- /**
- * This adds a property descriptor for the Old Value feature.
- *
- * @generated
- */
- protected void addOldValuePropertyDescriptor(Object object) {
- itemPropertyDescriptors.add(createItemPropertyDescriptor(
- ((ComposeableAdapterFactory) adapterFactory)
- .getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_CompareCellContent_oldValue_feature"),
- getString("_UI_PropertyDescriptor_description",
- "_UI_CompareCellContent_oldValue_feature",
- "_UI_CompareCellContent_type"),
- TablemodelPackage.Literals.COMPARE_CELL_CONTENT__OLD_VALUE,
- true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null, null));
- }
-
- /**
- * This adds a property descriptor for the New Value feature.
- *
- * @generated
- */
- protected void addNewValuePropertyDescriptor(Object object) {
- itemPropertyDescriptors.add(createItemPropertyDescriptor(
- ((ComposeableAdapterFactory) adapterFactory)
- .getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_CompareCellContent_newValue_feature"),
- getString("_UI_PropertyDescriptor_description",
- "_UI_CompareCellContent_newValue_feature",
- "_UI_CompareCellContent_type"),
- TablemodelPackage.Literals.COMPARE_CELL_CONTENT__NEW_VALUE,
- true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null, null));
- }
-
- /**
- * This returns CompareCellContent.gif.
- *
- * @generated
- */
- @Override
- public Object getImage(Object object) {
- return overlayImage(object,
- getResourceLocator().getImage("full/obj16/CompareCellContent"));
- }
-
- /**
- * This returns the label text for the adapted class.
- *
- * @generated
- */
- @Override
- public String getText(Object object) {
- String label = ((CompareCellContent) object).getSeparator();
- return label == null || label.length() == 0
- ? getString("_UI_CompareCellContent_type")
- : getString("_UI_CompareCellContent_type") + " " + label;
- }
-
- /**
- * This handles model notifications by calling {@link #updateChildren} to
- * update any cached children and by creating a viewer notification, which
- * it passes to {@link #fireNotifyChanged}.
- *
- * @generated
- */
- @Override
- public void notifyChanged(Notification notification) {
- updateChildren(notification);
-
- switch (notification.getFeatureID(CompareCellContent.class)) {
- case TablemodelPackage.COMPARE_CELL_CONTENT__OLD_VALUE:
- case TablemodelPackage.COMPARE_CELL_CONTENT__NEW_VALUE:
- fireNotifyChanged(new ViewerNotification(notification,
- notification.getNotifier(), false, true));
- return;
- }
- super.notifyChanged(notification);
- }
-
- /**
- * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
- * describing the children that can be created under this object.
- *
- * @generated
- */
- @Override
- protected void collectNewChildDescriptors(
- Collection newChildDescriptors, Object object) {
- super.collectNewChildDescriptors(newChildDescriptors, object);
- }
-
-}
diff --git a/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/CompareStateCellContentItemProvider.java b/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/CompareStateCellContentItemProvider.java
new file mode 100644
index 0000000000..cf810fb14c
--- /dev/null
+++ b/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/CompareStateCellContentItemProvider.java
@@ -0,0 +1,214 @@
+/**
+ * Copyright (c) 2022 DB Netz AG and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ */
+package org.eclipse.set.model.tablemodel.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.set.model.tablemodel.CompareStateCellContent;
+import org.eclipse.set.model.tablemodel.TablemodelFactory;
+import org.eclipse.set.model.tablemodel.TablemodelPackage;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.set.model.tablemodel.CompareStateCellContent} object.
+ *
+ * @generated
+ */
+public class CompareStateCellContentItemProvider
+ extends CellContentItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ * @generated
+ */
+ public CompareStateCellContentItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ * @generated
+ */
+ @Override
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}.
+ *
+ * @generated
+ */
+ @Override
+ public Collection extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(
+ TablemodelPackage.Literals.COMPARE_STATE_CELL_CONTENT__OLD_VALUE);
+ childrenFeatures.add(
+ TablemodelPackage.Literals.COMPARE_STATE_CELL_CONTENT__NEW_VALUE);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns CompareStateCellContent.gif.
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator()
+ .getImage("full/obj16/CompareStateCellContent"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((CompareStateCellContent) object).getSeparator();
+ return label == null || label.length() == 0
+ ? getString("_UI_CompareStateCellContent_type")
+ : getString("_UI_CompareStateCellContent_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}.
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CompareStateCellContent.class)) {
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT__OLD_VALUE:
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT__NEW_VALUE:
+ fireNotifyChanged(new ViewerNotification(notification,
+ notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object.
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ TablemodelPackage.Literals.COMPARE_STATE_CELL_CONTENT__OLD_VALUE,
+ TablemodelFactory.eINSTANCE.createStringCellContent()));
+
+ newChildDescriptors.add(createChildParameter(
+ TablemodelPackage.Literals.COMPARE_STATE_CELL_CONTENT__OLD_VALUE,
+ TablemodelFactory.eINSTANCE.createCompareStateCellContent()));
+
+ newChildDescriptors.add(createChildParameter(
+ TablemodelPackage.Literals.COMPARE_STATE_CELL_CONTENT__OLD_VALUE,
+ TablemodelFactory.eINSTANCE.createMultiColorCellContent()));
+
+ newChildDescriptors.add(createChildParameter(
+ TablemodelPackage.Literals.COMPARE_STATE_CELL_CONTENT__OLD_VALUE,
+ TablemodelFactory.eINSTANCE.createCompareTableCellContent()));
+
+ newChildDescriptors.add(createChildParameter(
+ TablemodelPackage.Literals.COMPARE_STATE_CELL_CONTENT__NEW_VALUE,
+ TablemodelFactory.eINSTANCE.createStringCellContent()));
+
+ newChildDescriptors.add(createChildParameter(
+ TablemodelPackage.Literals.COMPARE_STATE_CELL_CONTENT__NEW_VALUE,
+ TablemodelFactory.eINSTANCE.createCompareStateCellContent()));
+
+ newChildDescriptors.add(createChildParameter(
+ TablemodelPackage.Literals.COMPARE_STATE_CELL_CONTENT__NEW_VALUE,
+ TablemodelFactory.eINSTANCE.createMultiColorCellContent()));
+
+ newChildDescriptors.add(createChildParameter(
+ TablemodelPackage.Literals.COMPARE_STATE_CELL_CONTENT__NEW_VALUE,
+ TablemodelFactory.eINSTANCE.createCompareTableCellContent()));
+ }
+
+ /**
+ * This returns the label text for
+ * {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ *
+ * @generated
+ */
+ @Override
+ public String getCreateChildText(Object owner, Object feature, Object child,
+ Collection> selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == TablemodelPackage.Literals.COMPARE_STATE_CELL_CONTENT__OLD_VALUE
+ || childFeature == TablemodelPackage.Literals.COMPARE_STATE_CELL_CONTENT__NEW_VALUE;
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2",
+ new Object[] { getTypeText(childObject),
+ getFeatureText(childFeature), getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+}
diff --git a/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/CompareTableCellContentItemProvider.java b/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/CompareTableCellContentItemProvider.java
index 02e66c93d5..1d08bf5419 100644
--- a/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/CompareTableCellContentItemProvider.java
+++ b/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/CompareTableCellContentItemProvider.java
@@ -160,7 +160,7 @@ protected void collectNewChildDescriptors(
newChildDescriptors.add(createChildParameter(
TablemodelPackage.Literals.COMPARE_TABLE_CELL_CONTENT__MAIN_PLAN_CELL_CONTENT,
- TablemodelFactory.eINSTANCE.createCompareCellContent()));
+ TablemodelFactory.eINSTANCE.createCompareStateCellContent()));
newChildDescriptors.add(createChildParameter(
TablemodelPackage.Literals.COMPARE_TABLE_CELL_CONTENT__MAIN_PLAN_CELL_CONTENT,
@@ -176,7 +176,7 @@ protected void collectNewChildDescriptors(
newChildDescriptors.add(createChildParameter(
TablemodelPackage.Literals.COMPARE_TABLE_CELL_CONTENT__COMPARE_PLAN_CELL_CONTENT,
- TablemodelFactory.eINSTANCE.createCompareCellContent()));
+ TablemodelFactory.eINSTANCE.createCompareStateCellContent()));
newChildDescriptors.add(createChildParameter(
TablemodelPackage.Literals.COMPARE_TABLE_CELL_CONTENT__COMPARE_PLAN_CELL_CONTENT,
diff --git a/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/TableCellItemProvider.java b/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/TableCellItemProvider.java
index c8647fc333..17ef503c07 100644
--- a/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/TableCellItemProvider.java
+++ b/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/TableCellItemProvider.java
@@ -186,7 +186,7 @@ protected void collectNewChildDescriptors(
newChildDescriptors.add(createChildParameter(
TablemodelPackage.Literals.TABLE_CELL__CONTENT,
- TablemodelFactory.eINSTANCE.createCompareCellContent()));
+ TablemodelFactory.eINSTANCE.createCompareStateCellContent()));
newChildDescriptors.add(createChildParameter(
TablemodelPackage.Literals.TABLE_CELL__CONTENT,
diff --git a/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/TablemodelItemProviderAdapterFactory.java b/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/TablemodelItemProviderAdapterFactory.java
index 567a13c9ff..5e105833f8 100644
--- a/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/TablemodelItemProviderAdapterFactory.java
+++ b/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/TablemodelItemProviderAdapterFactory.java
@@ -261,28 +261,28 @@ public Adapter createStringCellContentAdapter() {
/**
* This keeps track of the one adapter used for all
- * {@link org.eclipse.set.model.tablemodel.CompareCellContent} instances.
- *
+ * {@link org.eclipse.set.model.tablemodel.CompareStateCellContent}
+ * instances.
*
* @generated
*/
- protected CompareCellContentItemProvider compareCellContentItemProvider;
+ protected CompareStateCellContentItemProvider compareStateCellContentItemProvider;
/**
* This creates an adapter for a
- * {@link org.eclipse.set.model.tablemodel.CompareCellContent}.
*
* @generated
*/
@Override
- public Adapter createCompareCellContentAdapter() {
- if (compareCellContentItemProvider == null) {
- compareCellContentItemProvider = new CompareCellContentItemProvider(
+ public Adapter createCompareStateCellContentAdapter() {
+ if (compareStateCellContentItemProvider == null) {
+ compareStateCellContentItemProvider = new CompareStateCellContentItemProvider(
this);
}
- return compareCellContentItemProvider;
+ return compareStateCellContentItemProvider;
}
/**
@@ -612,8 +612,8 @@ public void dispose() {
tableCellItemProvider.dispose();
if (stringCellContentItemProvider != null)
stringCellContentItemProvider.dispose();
- if (compareCellContentItemProvider != null)
- compareCellContentItemProvider.dispose();
+ if (compareStateCellContentItemProvider != null)
+ compareStateCellContentItemProvider.dispose();
if (cellAnnotationItemProvider != null)
cellAnnotationItemProvider.dispose();
if (multiColorCellContentItemProvider != null)
diff --git a/java/bundles/org.eclipse.set.model.tablemodel.extensions.test/src/org/eclipse/set/model/tablemodel/extensions/CellContentExtensionsTest.java b/java/bundles/org.eclipse.set.model.tablemodel.extensions.test/src/org/eclipse/set/model/tablemodel/extensions/CellContentExtensionsTest.java
index 7af4f88317..e2747275b3 100644
--- a/java/bundles/org.eclipse.set.model.tablemodel.extensions.test/src/org/eclipse/set/model/tablemodel/extensions/CellContentExtensionsTest.java
+++ b/java/bundles/org.eclipse.set.model.tablemodel.extensions.test/src/org/eclipse/set/model/tablemodel/extensions/CellContentExtensionsTest.java
@@ -12,7 +12,7 @@
import static org.hamcrest.core.Is.is;
import org.eclipse.set.model.tablemodel.CellContent;
-import org.eclipse.set.model.tablemodel.CompareCellContent;
+import org.eclipse.set.model.tablemodel.CompareStateCellContent;
import org.eclipse.set.model.tablemodel.StringCellContent;
import org.eclipse.set.model.tablemodel.TableCell;
import org.eclipse.set.model.tablemodel.TablemodelFactory;
@@ -26,12 +26,12 @@
@SuppressWarnings("nls")
public class CellContentExtensionsTest {
- private static CompareCellContent createCompareCellContent(
+ private static CompareStateCellContent createCompareCellContent(
final String oldValue, final String newValue) {
- final CompareCellContent content = TablemodelFactory.eINSTANCE
- .createCompareCellContent();
- content.getOldValue().add(oldValue);
- content.getNewValue().add(newValue);
+ final CompareStateCellContent content = TablemodelFactory.eINSTANCE
+ .createCompareStateCellContent();
+ content.setOldValue(createStringCellContent(oldValue));
+ content.setNewValue(createStringCellContent(newValue));
final TableCell tableCell = TablemodelFactory.eINSTANCE
.createTableCell();
tableCell.setContent(content);
@@ -43,9 +43,6 @@ private static StringCellContent createStringCellContent(
final StringCellContent content = TablemodelFactory.eINSTANCE
.createStringCellContent();
content.getValue().add(value);
- final TableCell tableCell = TablemodelFactory.eINSTANCE
- .createTableCell();
- tableCell.setContent(content);
return content;
}
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 a986735f66..33d68ccfb3 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
@@ -14,8 +14,8 @@ import java.util.function.BiFunction
import java.util.function.Function
import org.eclipse.set.model.planpro.Basisobjekte.Bearbeitungsvermerk
import org.eclipse.set.model.tablemodel.CellContent
-import org.eclipse.set.model.tablemodel.CompareCellContent
import org.eclipse.set.model.tablemodel.CompareFootnoteContainer
+import org.eclipse.set.model.tablemodel.CompareStateCellContent
import org.eclipse.set.model.tablemodel.CompareTableCellContent
import org.eclipse.set.model.tablemodel.CompareTableFootnoteContainer
import org.eclipse.set.model.tablemodel.FootnoteContainer
@@ -24,12 +24,14 @@ import org.eclipse.set.model.tablemodel.MultiColorContent
import org.eclipse.set.model.tablemodel.SimpleFootnoteContainer
import org.eclipse.set.model.tablemodel.StringCellContent
import org.eclipse.set.model.tablemodel.TableCell
+import org.eclipse.set.model.tablemodel.TablemodelFactory
import org.eclipse.set.utils.ToolboxConfiguration
import static org.eclipse.set.model.tablemodel.extensions.Utils.*
import static extension org.eclipse.set.model.tablemodel.extensions.TableCellExtensions.*
import static extension org.eclipse.set.utils.StringExtensions.*
+import java.util.List
/**
* Extensions for {@link CellContent}.
@@ -69,10 +71,11 @@ class CellContentExtensions {
»«content.valueFormat»
'''
}
- static def dispatch String getRichTextValue(CompareCellContent content) {
+ static def dispatch String getRichTextValue(
+ CompareStateCellContent content) {
val result = formatCompareContent(
- content.oldValue,
- content.newValue,
+ content.oldValue.stringValueIterable,
+ content.newValue.stringValueIterable,
[WARNING_MARK_YELLOW],
[WARNING_MARK_BLACK],
[WARNING_MARK_RED],
@@ -184,8 +187,9 @@ class CellContentExtensions {
return content.value.iterableToString(content.separator)
}
- static def dispatch String getPlainStringValue(CompareCellContent content) {
- return '''«content.oldValue»/«content.newValue»'''
+ static def dispatch String getPlainStringValue(
+ CompareStateCellContent content) {
+ return '''«content.oldValue.plainStringValue»/«content.newValue.plainStringValue»'''
}
static def dispatch String getPlainStringValue(
@@ -217,6 +221,10 @@ class CellContentExtensions {
return content.value
}
+ static def List getStringValueList(CellContent content) {
+ return content.stringValueIterable.toList
+ }
+
/**
* @param text the text
*
@@ -311,9 +319,10 @@ class CellContentExtensions {
content.value.filterNull.toSet.toList.map [
postFormatter.apply(it, commonFormatter.apply(it))
]
- CompareCellContent:
- formatCompareContent(content.oldValue, content.newValue,
- oldFormatter, commonFormatter, newFormatter, postFormatter)
+ CompareStateCellContent:
+ formatCompareContent(content.oldValue.stringValueIterable,
+ content.newValue.stringValueIterable, oldFormatter,
+ commonFormatter, newFormatter, postFormatter)
CompareTableCellContent:
formatCompareContent(content.mainPlanCellContent, oldFormatter,
commonFormatter, newFormatter, postFormatter)
@@ -430,4 +439,15 @@ class CellContentExtensions {
def static boolean isEqual(CellContent content, CellContent other) {
return content.plainStringValue.equals(other.plainStringValue)
}
+
+ def static StringCellContent createStringCellContent(String value) {
+ return createStringCellContent(#[value])
+ }
+
+ def static StringCellContent createStringCellContent(
+ Iterable value) {
+ val cellContent = TablemodelFactory.eINSTANCE.createStringCellContent
+ cellContent.value.addAll(value)
+ return cellContent
+ }
}
diff --git a/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.ecore b/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.ecore
index 03148d0b6e..d2ceb384bb 100644
--- a/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.ecore
+++ b/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.ecore
@@ -154,22 +154,14 @@
-
+
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.genmodel b/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.genmodel
index 5903ab4377..55db599a75 100644
--- a/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.genmodel
+++ b/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.genmodel
@@ -63,9 +63,9 @@
-
-
-
+
+
+
diff --git a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/CompareCellContent.java b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/CompareCellContent.java
deleted file mode 100644
index 70861e00c9..0000000000
--- a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/CompareCellContent.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Copyright (c) 2022 DB Netz AG and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v20.html
- */
-package org.eclipse.set.model.tablemodel;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * A representation of the model object 'Compare
- * Cell Content '.
- *
- * Result of a compare operation between two cells.
- *
- *
- *
- * The following features are supported:
- *
- *
- * {@link org.eclipse.set.model.tablemodel.CompareCellContent#getOldValue
- * Old Value }
- * {@link org.eclipse.set.model.tablemodel.CompareCellContent#getNewValue
- * New Value }
- *
- *
- * @see org.eclipse.set.model.tablemodel.TablemodelPackage#getCompareCellContent()
- * @model
- * @generated
- */
-public interface CompareCellContent extends CellContent {
- /**
- * Returns the value of the 'Old Value ' attribute list. The
- * list contents are of type {@link java.lang.String}. The old value
- *
- * @return the value of the 'Old Value ' attribute list.
- * @see org.eclipse.set.model.tablemodel.TablemodelPackage#getCompareCellContent_OldValue()
- * @model
- * @generated
- */
- EList getOldValue();
-
- /**
- * Returns the value of the 'New Value ' attribute list. The
- * list contents are of type {@link java.lang.String}. The new value
- *
- * @return the value of the 'New Value ' attribute list.
- * @see org.eclipse.set.model.tablemodel.TablemodelPackage#getCompareCellContent_NewValue()
- * @model
- * @generated
- */
- EList getNewValue();
-
-} // CompareCellContent
diff --git a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/CompareStateCellContent.java b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/CompareStateCellContent.java
new file mode 100644
index 0000000000..6216ae66d6
--- /dev/null
+++ b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/CompareStateCellContent.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2022 DB Netz AG and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ */
+package org.eclipse.set.model.tablemodel;
+
+/**
+ * A representation of the model object 'Compare
+ * State Cell Content '.
+ *
+ * Result of a compare operation between two cells.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * {@link org.eclipse.set.model.tablemodel.CompareStateCellContent#getOldValue
+ * Old Value }
+ * {@link org.eclipse.set.model.tablemodel.CompareStateCellContent#getNewValue
+ * New Value }
+ *
+ *
+ * @see org.eclipse.set.model.tablemodel.TablemodelPackage#getCompareStateCellContent()
+ * @model
+ * @generated
+ */
+public interface CompareStateCellContent extends CellContent {
+ /**
+ * Returns the value of the 'Old Value ' containment
+ * reference.
+ *
+ * @return the value of the 'Old Value ' containment reference.
+ * @see #setOldValue(CellContent)
+ * @see org.eclipse.set.model.tablemodel.TablemodelPackage#getCompareStateCellContent_OldValue()
+ * @model containment="true"
+ * @generated
+ */
+ CellContent getOldValue();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.set.model.tablemodel.CompareStateCellContent#getOldValue
+ * Old Value }' containment reference.
+ *
+ * @param value
+ * the new value of the 'Old Value ' containment
+ * reference.
+ * @see #getOldValue()
+ * @generated
+ */
+ void setOldValue(CellContent value);
+
+ /**
+ * Returns the value of the 'New Value ' containment
+ * reference.
+ *
+ * @return the value of the 'New Value ' containment reference.
+ * @see #setNewValue(CellContent)
+ * @see org.eclipse.set.model.tablemodel.TablemodelPackage#getCompareStateCellContent_NewValue()
+ * @model containment="true"
+ * @generated
+ */
+ CellContent getNewValue();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.set.model.tablemodel.CompareStateCellContent#getNewValue
+ * New Value }' containment reference.
+ *
+ * @param value
+ * the new value of the 'New Value ' containment
+ * reference.
+ * @see #getNewValue()
+ * @generated
+ */
+ void setNewValue(CellContent value);
+
+} // CompareStateCellContent
diff --git a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/TablemodelFactory.java b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/TablemodelFactory.java
index 4e06d84410..837e2cbcc1 100644
--- a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/TablemodelFactory.java
+++ b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/TablemodelFactory.java
@@ -91,13 +91,13 @@ public interface TablemodelFactory extends EFactory {
StringCellContent createStringCellContent();
/**
- * Returns a new object of class 'Compare Cell Content '.
*
- * @return a new object of class 'Compare Cell Content '.
+ * @return a new object of class 'Compare State Cell Content '.
* @generated
*/
- CompareCellContent createCompareCellContent();
+ CompareStateCellContent createCompareStateCellContent();
/**
* Returns a new object of class 'Cell Annotation '.
*
- * @see org.eclipse.set.model.tablemodel.impl.CompareCellContentImpl
- * @see org.eclipse.set.model.tablemodel.impl.TablemodelPackageImpl#getCompareCellContent()
+ * @see org.eclipse.set.model.tablemodel.impl.CompareStateCellContentImpl
+ * @see org.eclipse.set.model.tablemodel.impl.TablemodelPackageImpl#getCompareStateCellContent()
* @generated
*/
- int COMPARE_CELL_CONTENT = 8;
+ int COMPARE_STATE_CELL_CONTENT = 8;
/**
* The feature id for the 'Separator ' attribute.
+ * The feature id for the 'Old Value ' containment reference.
+ *
*
* @generated
* @ordered
*/
- int COMPARE_CELL_CONTENT__OLD_VALUE = CELL_CONTENT_FEATURE_COUNT + 0;
+ int COMPARE_STATE_CELL_CONTENT__OLD_VALUE = CELL_CONTENT_FEATURE_COUNT + 0;
/**
- * The feature id for the 'New Value ' attribute list.
+ * The feature id for the 'New Value ' containment reference.
+ *
*
* @generated
* @ordered
*/
- int COMPARE_CELL_CONTENT__NEW_VALUE = CELL_CONTENT_FEATURE_COUNT + 1;
+ int COMPARE_STATE_CELL_CONTENT__NEW_VALUE = CELL_CONTENT_FEATURE_COUNT + 1;
/**
- * The number of structural features of the 'Compare Cell Content '
- * class.
+ * The number of structural features of the 'Compare State Cell
+ * Content ' class.
*
* @generated
* @ordered
*/
- int COMPARE_CELL_CONTENT_FEATURE_COUNT = CELL_CONTENT_FEATURE_COUNT + 2;
+ int COMPARE_STATE_CELL_CONTENT_FEATURE_COUNT = CELL_CONTENT_FEATURE_COUNT
+ + 2;
/**
- * The number of operations of the 'Compare Cell Content ' class.
- *
+ * The number of operations of the 'Compare State Cell Content '
+ * class.
*
* @generated
* @ordered
*/
- int COMPARE_CELL_CONTENT_OPERATION_COUNT = CELL_CONTENT_OPERATION_COUNT + 0;
+ int COMPARE_STATE_CELL_CONTENT_OPERATION_COUNT = CELL_CONTENT_OPERATION_COUNT
+ + 0;
/**
* The meta object id for the
@@ -1448,38 +1450,41 @@ public interface TablemodelPackage extends EPackage {
/**
* Returns the meta object for class
- * '{@link org.eclipse.set.model.tablemodel.CompareCellContent Compare
- * Cell Content }'.
+ * '{@link org.eclipse.set.model.tablemodel.CompareStateCellContent
+ * Compare State Cell Content }'.
*
- * @return the meta object for class 'Compare Cell Content '.
- * @see org.eclipse.set.model.tablemodel.CompareCellContent
+ * @return the meta object for class 'Compare State Cell Content '.
+ * @see org.eclipse.set.model.tablemodel.CompareStateCellContent
* @generated
*/
- EClass getCompareCellContent();
+ EClass getCompareStateCellContent();
/**
- * Returns the meta object for the attribute list
- * '{@link org.eclipse.set.model.tablemodel.CompareCellContent#getOldValue
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.set.model.tablemodel.CompareStateCellContent#getOldValue
* Old Value }'.
*
- * @return the meta object for the attribute list 'Old Value '.
- * @see org.eclipse.set.model.tablemodel.CompareCellContent#getOldValue()
- * @see #getCompareCellContent()
+ * @return the meta object for the containment reference 'Old
+ * Value '.
+ * @see org.eclipse.set.model.tablemodel.CompareStateCellContent#getOldValue()
+ * @see #getCompareStateCellContent()
* @generated
*/
- EAttribute getCompareCellContent_OldValue();
+ EReference getCompareStateCellContent_OldValue();
/**
- * Returns the meta object for the attribute list
- * '{@link org.eclipse.set.model.tablemodel.CompareCellContent#getNewValue
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.set.model.tablemodel.CompareStateCellContent#getNewValue
* New Value }'.
*
- * @return the meta object for the attribute list 'New Value '.
- * @see org.eclipse.set.model.tablemodel.CompareCellContent#getNewValue()
- * @see #getCompareCellContent()
+ * @return the meta object for the containment reference 'New
+ * Value '.
+ * @see org.eclipse.set.model.tablemodel.CompareStateCellContent#getNewValue()
+ * @see #getCompareStateCellContent()
* @generated
*/
- EAttribute getCompareCellContent_NewValue();
+ EReference getCompareStateCellContent_NewValue();
/**
* Returns the meta object for class
@@ -2121,33 +2126,36 @@ interface Literals {
/**
* The meta object literal for the
- * '{@link org.eclipse.set.model.tablemodel.impl.CompareCellContentImpl
- * Compare Cell Content }' class.
+ * '{@link org.eclipse.set.model.tablemodel.impl.CompareStateCellContentImpl
+ * Compare State Cell Content }' class.
+ *
*
- * @see org.eclipse.set.model.tablemodel.impl.CompareCellContentImpl
- * @see org.eclipse.set.model.tablemodel.impl.TablemodelPackageImpl#getCompareCellContent()
+ * @see org.eclipse.set.model.tablemodel.impl.CompareStateCellContentImpl
+ * @see org.eclipse.set.model.tablemodel.impl.TablemodelPackageImpl#getCompareStateCellContent()
* @generated
*/
- EClass COMPARE_CELL_CONTENT = eINSTANCE.getCompareCellContent();
+ EClass COMPARE_STATE_CELL_CONTENT = eINSTANCE
+ .getCompareStateCellContent();
/**
- * The meta object literal for the 'Old Value ' attribute
- * list feature.
+ * The meta object literal for the 'Old Value '
+ * containment reference feature.
*
* @generated
*/
- EAttribute COMPARE_CELL_CONTENT__OLD_VALUE = eINSTANCE
- .getCompareCellContent_OldValue();
+ EReference COMPARE_STATE_CELL_CONTENT__OLD_VALUE = eINSTANCE
+ .getCompareStateCellContent_OldValue();
/**
- * The meta object literal for the 'New Value ' attribute
- * list feature.
+ * The meta object literal for the 'New Value '
+ * containment reference feature.
*
* @generated
*/
- EAttribute COMPARE_CELL_CONTENT__NEW_VALUE = eINSTANCE
- .getCompareCellContent_NewValue();
+ EReference COMPARE_STATE_CELL_CONTENT__NEW_VALUE = eINSTANCE
+ .getCompareStateCellContent_NewValue();
/**
* The meta object literal for the
diff --git a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/CompareCellContentImpl.java b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/CompareCellContentImpl.java
deleted file mode 100644
index 7328d8c8f1..0000000000
--- a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/CompareCellContentImpl.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/**
- * Copyright (c) 2022 DB Netz AG and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v20.html
- */
-package org.eclipse.set.model.tablemodel.impl;
-
-import java.util.Collection;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.set.model.tablemodel.CompareCellContent;
-import org.eclipse.set.model.tablemodel.TablemodelPackage;
-
-/**
- * An implementation of the model object 'Compare
- * Cell Content '.
- *
- * The following features are implemented:
- *
- *
- * {@link org.eclipse.set.model.tablemodel.impl.CompareCellContentImpl#getOldValue
- * Old Value }
- * {@link org.eclipse.set.model.tablemodel.impl.CompareCellContentImpl#getNewValue
- * New Value }
- *
- *
- * @generated
- */
-public class CompareCellContentImpl extends CellContentImpl
- implements CompareCellContent {
- /**
- * The cached value of the '{@link #getOldValue() Old Value }'
- * attribute list.
- *
- * @see #getOldValue()
- * @generated
- * @ordered
- */
- protected EList oldValue;
-
- /**
- * The cached value of the '{@link #getNewValue() New Value }'
- * attribute list.
- *
- * @see #getNewValue()
- * @generated
- * @ordered
- */
- protected EList newValue;
-
- /**
- *
- *
- * @generated
- */
- protected CompareCellContentImpl() {
- super();
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return TablemodelPackage.Literals.COMPARE_CELL_CONTENT;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public EList getOldValue() {
- if (oldValue == null) {
- oldValue = new EDataTypeUniqueEList(String.class, this,
- TablemodelPackage.COMPARE_CELL_CONTENT__OLD_VALUE);
- }
- return oldValue;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public EList getNewValue() {
- if (newValue == null) {
- newValue = new EDataTypeUniqueEList(String.class, this,
- TablemodelPackage.COMPARE_CELL_CONTENT__NEW_VALUE);
- }
- return newValue;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case TablemodelPackage.COMPARE_CELL_CONTENT__OLD_VALUE:
- return getOldValue();
- case TablemodelPackage.COMPARE_CELL_CONTENT__NEW_VALUE:
- return getNewValue();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- *
- *
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case TablemodelPackage.COMPARE_CELL_CONTENT__OLD_VALUE:
- getOldValue().clear();
- getOldValue().addAll((Collection extends String>) newValue);
- return;
- case TablemodelPackage.COMPARE_CELL_CONTENT__NEW_VALUE:
- getNewValue().clear();
- getNewValue().addAll((Collection extends String>) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case TablemodelPackage.COMPARE_CELL_CONTENT__OLD_VALUE:
- getOldValue().clear();
- return;
- case TablemodelPackage.COMPARE_CELL_CONTENT__NEW_VALUE:
- getNewValue().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case TablemodelPackage.COMPARE_CELL_CONTENT__OLD_VALUE:
- return oldValue != null && !oldValue.isEmpty();
- case TablemodelPackage.COMPARE_CELL_CONTENT__NEW_VALUE:
- return newValue != null && !newValue.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy())
- return super.toString();
-
- StringBuilder result = new StringBuilder(super.toString());
- result.append(" (oldValue: ");
- result.append(oldValue);
- result.append(", newValue: ");
- result.append(newValue);
- result.append(')');
- return result.toString();
- }
-
-} // CompareCellContentImpl
diff --git a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/CompareStateCellContentImpl.java b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/CompareStateCellContentImpl.java
new file mode 100644
index 0000000000..fcaa5bea05
--- /dev/null
+++ b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/CompareStateCellContentImpl.java
@@ -0,0 +1,284 @@
+/**
+ * Copyright (c) 2022 DB Netz AG and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ */
+package org.eclipse.set.model.tablemodel.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.set.model.tablemodel.CellContent;
+import org.eclipse.set.model.tablemodel.CompareStateCellContent;
+import org.eclipse.set.model.tablemodel.TablemodelPackage;
+
+/**
+ * An implementation of the model object 'Compare
+ * State Cell Content '.
+ *
+ * The following features are implemented:
+ *
+ *
+ * {@link org.eclipse.set.model.tablemodel.impl.CompareStateCellContentImpl#getOldValue
+ * Old Value }
+ * {@link org.eclipse.set.model.tablemodel.impl.CompareStateCellContentImpl#getNewValue
+ * New Value }
+ *
+ *
+ * @generated
+ */
+public class CompareStateCellContentImpl extends CellContentImpl
+ implements CompareStateCellContent {
+ /**
+ * The cached value of the '{@link #getOldValue() Old Value }'
+ * containment reference.
+ *
+ * @see #getOldValue()
+ * @generated
+ * @ordered
+ */
+ protected CellContent oldValue;
+
+ /**
+ * The cached value of the '{@link #getNewValue() New Value }'
+ * containment reference.
+ *
+ * @see #getNewValue()
+ * @generated
+ * @ordered
+ */
+ protected CellContent newValue;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected CompareStateCellContentImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TablemodelPackage.Literals.COMPARE_STATE_CELL_CONTENT;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public CellContent getOldValue() {
+ return oldValue;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public NotificationChain basicSetOldValue(CellContent newOldValue,
+ NotificationChain msgs) {
+ CellContent oldOldValue = oldValue;
+ oldValue = newOldValue;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET,
+ TablemodelPackage.COMPARE_STATE_CELL_CONTENT__OLD_VALUE,
+ oldOldValue, newOldValue);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void setOldValue(CellContent newOldValue) {
+ if (newOldValue != oldValue) {
+ NotificationChain msgs = null;
+ if (oldValue != null)
+ msgs = ((InternalEObject) oldValue).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - TablemodelPackage.COMPARE_STATE_CELL_CONTENT__OLD_VALUE,
+ null, msgs);
+ if (newOldValue != null)
+ msgs = ((InternalEObject) newOldValue).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - TablemodelPackage.COMPARE_STATE_CELL_CONTENT__OLD_VALUE,
+ null, msgs);
+ msgs = basicSetOldValue(newOldValue, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ TablemodelPackage.COMPARE_STATE_CELL_CONTENT__OLD_VALUE,
+ newOldValue, newOldValue));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public CellContent getNewValue() {
+ return newValue;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public NotificationChain basicSetNewValue(CellContent newNewValue,
+ NotificationChain msgs) {
+ CellContent oldNewValue = newValue;
+ newValue = newNewValue;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET,
+ TablemodelPackage.COMPARE_STATE_CELL_CONTENT__NEW_VALUE,
+ oldNewValue, newNewValue);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void setNewValue(CellContent newNewValue) {
+ if (newNewValue != newValue) {
+ NotificationChain msgs = null;
+ if (newValue != null)
+ msgs = ((InternalEObject) newValue).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - TablemodelPackage.COMPARE_STATE_CELL_CONTENT__NEW_VALUE,
+ null, msgs);
+ if (newNewValue != null)
+ msgs = ((InternalEObject) newNewValue).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - TablemodelPackage.COMPARE_STATE_CELL_CONTENT__NEW_VALUE,
+ null, msgs);
+ msgs = basicSetNewValue(newNewValue, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ TablemodelPackage.COMPARE_STATE_CELL_CONTENT__NEW_VALUE,
+ newNewValue, newNewValue));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT__OLD_VALUE:
+ return basicSetOldValue(null, msgs);
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT__NEW_VALUE:
+ return basicSetNewValue(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT__OLD_VALUE:
+ return getOldValue();
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT__NEW_VALUE:
+ return getNewValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT__OLD_VALUE:
+ setOldValue((CellContent) newValue);
+ return;
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT__NEW_VALUE:
+ setNewValue((CellContent) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT__OLD_VALUE:
+ setOldValue((CellContent) null);
+ return;
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT__NEW_VALUE:
+ setNewValue((CellContent) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT__OLD_VALUE:
+ return oldValue != null;
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT__NEW_VALUE:
+ return newValue != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // CompareStateCellContentImpl
diff --git a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/TablemodelFactoryImpl.java b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/TablemodelFactoryImpl.java
index 5884444a05..437c2b1cb4 100644
--- a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/TablemodelFactoryImpl.java
+++ b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/TablemodelFactoryImpl.java
@@ -78,8 +78,8 @@ public EObject create(EClass eClass) {
return createTableCell();
case TablemodelPackage.STRING_CELL_CONTENT:
return createStringCellContent();
- case TablemodelPackage.COMPARE_CELL_CONTENT:
- return createCompareCellContent();
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT:
+ return createCompareStateCellContent();
case TablemodelPackage.CELL_ANNOTATION:
return createCellAnnotation();
case TablemodelPackage.MULTI_COLOR_CELL_CONTENT:
@@ -227,9 +227,9 @@ public StringCellContent createStringCellContent() {
* @generated
*/
@Override
- public CompareCellContent createCompareCellContent() {
- CompareCellContentImpl compareCellContent = new CompareCellContentImpl();
- return compareCellContent;
+ public CompareStateCellContent createCompareStateCellContent() {
+ CompareStateCellContentImpl compareStateCellContent = new CompareStateCellContentImpl();
+ return compareStateCellContent;
}
/**
diff --git a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/TablemodelPackageImpl.java b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/TablemodelPackageImpl.java
index 37e0965751..3b6e398821 100644
--- a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/TablemodelPackageImpl.java
+++ b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/TablemodelPackageImpl.java
@@ -22,8 +22,8 @@
import org.eclipse.set.model.tablemodel.CellContent;
import org.eclipse.set.model.tablemodel.ColumnDescriptor;
import org.eclipse.set.model.tablemodel.ColumnWidthMode;
-import org.eclipse.set.model.tablemodel.CompareCellContent;
import org.eclipse.set.model.tablemodel.CompareFootnoteContainer;
+import org.eclipse.set.model.tablemodel.CompareStateCellContent;
import org.eclipse.set.model.tablemodel.CompareTableCellContent;
import org.eclipse.set.model.tablemodel.CompareTableFootnoteContainer;
import org.eclipse.set.model.tablemodel.FootnoteContainer;
@@ -137,7 +137,7 @@ public class TablemodelPackageImpl extends EPackageImpl
*
* @generated
*/
- private EClass compareCellContentEClass = null;
+ private EClass compareStateCellContentEClass = null;
/**
*
@@ -660,8 +660,8 @@ public EAttribute getStringCellContent_Value() {
* @generated
*/
@Override
- public EClass getCompareCellContent() {
- return compareCellContentEClass;
+ public EClass getCompareStateCellContent() {
+ return compareStateCellContentEClass;
}
/**
@@ -670,8 +670,9 @@ public EClass getCompareCellContent() {
* @generated
*/
@Override
- public EAttribute getCompareCellContent_OldValue() {
- return (EAttribute) compareCellContentEClass.getEStructuralFeatures()
+ public EReference getCompareStateCellContent_OldValue() {
+ return (EReference) compareStateCellContentEClass
+ .getEStructuralFeatures()
.get(0);
}
@@ -681,8 +682,9 @@ public EAttribute getCompareCellContent_OldValue() {
* @generated
*/
@Override
- public EAttribute getCompareCellContent_NewValue() {
- return (EAttribute) compareCellContentEClass.getEStructuralFeatures()
+ public EReference getCompareStateCellContent_NewValue() {
+ return (EReference) compareStateCellContentEClass
+ .getEStructuralFeatures()
.get(1);
}
@@ -1029,11 +1031,12 @@ public void createPackageContents() {
stringCellContentEClass = createEClass(STRING_CELL_CONTENT);
createEAttribute(stringCellContentEClass, STRING_CELL_CONTENT__VALUE);
- compareCellContentEClass = createEClass(COMPARE_CELL_CONTENT);
- createEAttribute(compareCellContentEClass,
- COMPARE_CELL_CONTENT__OLD_VALUE);
- createEAttribute(compareCellContentEClass,
- COMPARE_CELL_CONTENT__NEW_VALUE);
+ compareStateCellContentEClass = createEClass(
+ COMPARE_STATE_CELL_CONTENT);
+ createEReference(compareStateCellContentEClass,
+ COMPARE_STATE_CELL_CONTENT__OLD_VALUE);
+ createEReference(compareStateCellContentEClass,
+ COMPARE_STATE_CELL_CONTENT__NEW_VALUE);
cellAnnotationEClass = createEClass(CELL_ANNOTATION);
@@ -1123,7 +1126,8 @@ public void initializePackageContents() {
// Add supertypes to classes
stringCellContentEClass.getESuperTypes().add(this.getCellContent());
- compareCellContentEClass.getESuperTypes().add(this.getCellContent());
+ compareStateCellContentEClass.getESuperTypes()
+ .add(this.getCellContent());
multiColorCellContentEClass.getESuperTypes().add(this.getCellContent());
compareFootnoteContainerEClass.getESuperTypes()
.add(this.getFootnoteContainer());
@@ -1268,19 +1272,19 @@ public void initializePackageContents() {
!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
- initEClass(compareCellContentEClass, CompareCellContent.class,
- "CompareCellContent", !IS_ABSTRACT, !IS_INTERFACE,
+ initEClass(compareStateCellContentEClass, CompareStateCellContent.class,
+ "CompareStateCellContent", !IS_ABSTRACT, !IS_INTERFACE,
IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getCompareCellContent_OldValue(),
- ecorePackage.getEString(), "oldValue", null, 0, -1,
- CompareCellContent.class, !IS_TRANSIENT, !IS_VOLATILE,
- IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
- IS_ORDERED);
- initEAttribute(getCompareCellContent_NewValue(),
- ecorePackage.getEString(), "newValue", null, 0, -1,
- CompareCellContent.class, !IS_TRANSIENT, !IS_VOLATILE,
- IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
- IS_ORDERED);
+ initEReference(getCompareStateCellContent_OldValue(),
+ this.getCellContent(), null, "oldValue", null, 0, 1,
+ CompareStateCellContent.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCompareStateCellContent_NewValue(),
+ this.getCellContent(), null, "newValue", null, 0, 1,
+ CompareStateCellContent.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(cellAnnotationEClass, CellAnnotation.class, "CellAnnotation",
!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
diff --git a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/util/TablemodelAdapterFactory.java b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/util/TablemodelAdapterFactory.java
index 2f623acc1b..13dd464f93 100644
--- a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/util/TablemodelAdapterFactory.java
+++ b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/util/TablemodelAdapterFactory.java
@@ -113,8 +113,9 @@ public Adapter caseStringCellContent(StringCellContent object) {
}
@Override
- public Adapter caseCompareCellContent(CompareCellContent object) {
- return createCompareCellContentAdapter();
+ public Adapter caseCompareStateCellContent(
+ CompareStateCellContent object) {
+ return createCompareStateCellContentAdapter();
}
@Override
@@ -312,17 +313,17 @@ public Adapter createStringCellContentAdapter() {
/**
* Creates a new adapter for an object of class
- * '{@link org.eclipse.set.model.tablemodel.CompareCellContent Compare
- * Cell Content }'. This default implementation
- * returns null so that we can easily ignore cases; it's useful to ignore a
- * case when inheritance will catch all the cases anyway.
+ * '{@link org.eclipse.set.model.tablemodel.CompareStateCellContent
+ * Compare State Cell Content }'. This
+ * default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases
+ * anyway.
*
* @return the new adapter.
- * @see org.eclipse.set.model.tablemodel.CompareCellContent
+ * @see org.eclipse.set.model.tablemodel.CompareStateCellContent
* @generated
*/
- public Adapter createCompareCellContentAdapter() {
+ public Adapter createCompareStateCellContentAdapter() {
return null;
}
diff --git a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/util/TablemodelSwitch.java b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/util/TablemodelSwitch.java
index 45dbf8f717..09cdbf68aa 100644
--- a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/util/TablemodelSwitch.java
+++ b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/util/TablemodelSwitch.java
@@ -130,11 +130,11 @@ protected T doSwitch(int classifierID, EObject theEObject) {
result = defaultCase(theEObject);
return result;
}
- case TablemodelPackage.COMPARE_CELL_CONTENT: {
- CompareCellContent compareCellContent = (CompareCellContent) theEObject;
- T result = caseCompareCellContent(compareCellContent);
+ case TablemodelPackage.COMPARE_STATE_CELL_CONTENT: {
+ CompareStateCellContent compareStateCellContent = (CompareStateCellContent) theEObject;
+ T result = caseCompareStateCellContent(compareStateCellContent);
if (result == null)
- result = caseCellContent(compareCellContent);
+ result = caseCellContent(compareStateCellContent);
if (result == null)
result = defaultCase(theEObject);
return result;
@@ -360,18 +360,18 @@ public T caseStringCellContent(StringCellContent object) {
/**
* Returns the result of interpreting the object as an instance of
- * 'Compare Cell Content '. This
+ * 'Compare State Cell Content '. This
* implementation returns null; returning a non-null result will terminate
* the switch.
*
* @param object
* the target of the switch.
* @return the result of interpreting the object as an instance of
- * 'Compare Cell Content '.
+ * 'Compare State Cell Content '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseCompareCellContent(CompareCellContent object) {
+ public T caseCompareStateCellContent(CompareStateCellContent object) {
return null;
}
diff --git a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/StellBereichExtensions.java b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/StellBereichExtensions.java
index f4ca87f94a..e202802410 100644
--- a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/StellBereichExtensions.java
+++ b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/StellBereichExtensions.java
@@ -30,8 +30,8 @@
import org.eclipse.set.model.planpro.Ansteuerung_Element.Uebertragungsweg;
import org.eclipse.set.model.planpro.Bahnuebergang.BUE_Anlage;
import org.eclipse.set.model.planpro.Bahnuebergang.BUE_Kante;
-import org.eclipse.set.model.planpro.Basisobjekte.Basis_Objekt;
import org.eclipse.set.model.planpro.Basisobjekte.Bereich_Objekt;
+import org.eclipse.set.model.planpro.Basisobjekte.Ur_Objekt;
import org.eclipse.set.model.planpro.Bedienung.Bedien_Bezirk;
import org.eclipse.set.model.planpro.Bedienung.Bedien_Einrichtung_Oertlich;
import org.eclipse.set.model.planpro.Bedienung.Bedien_Standort;
@@ -206,7 +206,7 @@ public static List getWkrGspElement(
* @return true, if the element belong to the area
*/
public static boolean isInControlArea(final Stell_Bereich area,
- final Basis_Objekt object) {
+ final Ur_Objekt object) {
if (object == null) {
return false;
}
diff --git a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/UrObjectExtensions.xtend b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/UrObjectExtensions.xtend
index 3c55891539..f6e69332cf 100644
--- a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/UrObjectExtensions.xtend
+++ b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/UrObjectExtensions.xtend
@@ -12,13 +12,12 @@ import org.eclipse.emf.ecore.EObject
import org.eclipse.set.basis.cache.Cache
import org.eclipse.set.core.services.Services
import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
-import org.eclipse.set.model.planpro.Basisobjekte.Basis_Objekt
import org.eclipse.set.model.planpro.Basisobjekte.Ur_Objekt
import org.eclipse.set.model.planpro.PlanPro.LST_Zustand
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle
+import org.eclipse.set.utils.ToolboxConfiguration
import static extension org.eclipse.set.ppmodel.extensions.StellBereichExtensions.*
-import org.eclipse.set.utils.ToolboxConfiguration
/**
* Diese Klasse erweitert {@link Ur_Objekt}.
@@ -97,7 +96,7 @@ class UrObjectExtensions extends BasisAttributExtensions {
return planData.exists[wert == guid]
}
- def static Iterable filterObjectsInControlArea(
+ def static Iterable filterObjectsInControlArea(
Iterable objects, Stell_Bereich area) {
if (area === null) {
return objects
diff --git a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableModelInstanceBodyDataProvider.java b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableModelInstanceBodyDataProvider.java
index 3133a9596e..27a0f48eb2 100644
--- a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableModelInstanceBodyDataProvider.java
+++ b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableModelInstanceBodyDataProvider.java
@@ -28,7 +28,7 @@
import org.eclipse.set.core.services.session.SessionService;
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.set.model.tablemodel.CellContent;
-import org.eclipse.set.model.tablemodel.CompareCellContent;
+import org.eclipse.set.model.tablemodel.CompareStateCellContent;
import org.eclipse.set.model.tablemodel.CompareTableCellContent;
import org.eclipse.set.model.tablemodel.StringCellContent;
import org.eclipse.set.model.tablemodel.TableCell;
@@ -36,6 +36,7 @@
import org.eclipse.set.model.tablemodel.TablemodelFactory;
import org.eclipse.set.model.tablemodel.extensions.CellContentExtensions;
import org.eclipse.set.model.tablemodel.extensions.TableRowExtensions;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -177,7 +178,7 @@ private CellContent getNewContent(final CellContent oldContent,
return switch (oldContent) {
case final StringCellContent stringContent -> getNewContent(
stringContent, properties);
- case final CompareCellContent compareContent -> getNewContent(
+ case final CompareStateCellContent compareContent -> getNewContent(
compareContent, properties);
case final CompareTableCellContent compareTableContent -> getNewContent(
compareTableContent, properties);
@@ -212,24 +213,27 @@ private static CellContent getNewContent(final StringCellContent oldContent,
}
private static CellContent getNewContent(
- final CompareCellContent oldContent,
+ final CompareStateCellContent oldContent,
final Pt1TableChangeProperties properties) {
final ContainerType containerType = properties.getContainerType();
+ final List oldValues = IterableExtensions
+ .toList(CellContentExtensions
+ .getStringValueIterable(oldContent.getOldValue()));
+ final List newValues = IterableExtensions
+ .toList(CellContentExtensions
+ .getStringValueIterable(oldContent.getNewValue()));
switch (containerType) {
case FINAL:
- if (!equalsValues(oldContent.getNewValue(),
- properties.getNewValues())) {
- return createCompareCellContent(oldContent.getOldValue(),
+ if (!equalsValues(newValues, properties.getNewValues())) {
+ return createCompareCellContent(oldValues,
properties.getNewValues(),
oldContent.getSeparator());
}
break;
case INITIAL:
- if (!equalsValues(oldContent.getOldValue(),
- properties.getNewValues())) {
+ if (!equalsValues(newValues, properties.getNewValues())) {
return createCompareCellContent(properties.getNewValues(),
- oldContent.getNewValue(),
- oldContent.getSeparator());
+ newValues, oldContent.getSeparator());
}
break;
default:
@@ -286,13 +290,15 @@ private CellContent getNewContent(final CompareTableCellContent oldContent,
: clone;
}
- private static CompareCellContent createCompareCellContent(
+ private static CompareStateCellContent createCompareCellContent(
final List oldValues, final List newValues,
final String separator) {
- final CompareCellContent compareContent = TablemodelFactory.eINSTANCE
- .createCompareCellContent();
- compareContent.getOldValue().addAll(oldValues);
- compareContent.getNewValue().addAll(newValues);
+ final CompareStateCellContent compareContent = TablemodelFactory.eINSTANCE
+ .createCompareStateCellContent();
+ compareContent.setOldValue(
+ CellContentExtensions.createStringCellContent(oldValues));
+ compareContent.setNewValue(
+ CellContentExtensions.createStringCellContent(newValues));
compareContent.setSeparator(separator);
return compareContent;
}
diff --git a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableSpanUtils.java b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableSpanUtils.java
index 1ce2d4ea77..3b699cfdc3 100644
--- a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableSpanUtils.java
+++ b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableSpanUtils.java
@@ -8,17 +8,21 @@
*/
package org.eclipse.set.utils.table;
+import static org.eclipse.set.model.tablemodel.extensions.CellContentExtensions.getStringValueIterable;
+
import java.util.List;
import org.eclipse.set.model.tablemodel.CellContent;
import org.eclipse.set.model.tablemodel.ColumnDescriptor;
-import org.eclipse.set.model.tablemodel.CompareCellContent;
+import org.eclipse.set.model.tablemodel.CompareStateCellContent;
import org.eclipse.set.model.tablemodel.RowMergeMode;
import org.eclipse.set.model.tablemodel.StringCellContent;
import org.eclipse.set.model.tablemodel.TableRow;
import org.eclipse.set.model.tablemodel.extensions.CellContentExtensions;
import org.eclipse.set.model.tablemodel.extensions.TableRowExtensions;
+import com.google.common.collect.Streams;
+
/**
* Helper class to calculate table spans
*
@@ -100,7 +104,7 @@ private static boolean isEqual(final CellContent cellContentA,
return switch (cellContentA) {
case final StringCellContent stringCellContentA -> isEqual(
stringCellContentA, cellContentB);
- case final CompareCellContent compareCellContentA -> isEqual(
+ case final CompareStateCellContent compareCellContentA -> isEqual(
compareCellContentA, cellContentB);
default -> CellContentExtensions.isEqual(cellContentA,
cellContentB);
@@ -115,16 +119,16 @@ private static boolean isEqual(final StringCellContent stringCellContentA,
// compare cell content with the another cell. Because when the row
// in Final was removed/added will be COmpareCellContent and by
// normal compare the row can't be merged
- case final CompareCellContent compareCellContentB -> {
- final List oldValuesB = compareCellContentB
- .getOldValue()
- .stream()
+ case final CompareStateCellContent compareCellContentB -> {
+ final List oldValuesB = Streams
+ .stream(getStringValueIterable(
+ compareCellContentB.getOldValue()))
.map(String::trim)
.filter(v -> !v.isEmpty() && !v.isBlank())
.toList();
- final List newValuesB = compareCellContentB
- .getNewValue()
- .stream()
+ final List newValuesB = Streams
+ .stream(getStringValueIterable(
+ compareCellContentB.getNewValue()))
.map(String::trim)
.filter(v -> !v.isEmpty() && !v.isBlank())
.toList();
@@ -139,7 +143,8 @@ private static boolean isEqual(final StringCellContent stringCellContentA,
};
}
- private static boolean isEqual(final CompareCellContent compareCellContentA,
+ private static boolean isEqual(
+ final CompareStateCellContent compareCellContentA,
final CellContent cellContentB) {
return switch (cellContentB) {
case final StringCellContent stringCellContentB -> isEqual(
diff --git a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/sorting/AbstractCellComparator.xtend b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/sorting/AbstractCellComparator.xtend
index 89737e4f9c..8d76063f78 100644
--- a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/sorting/AbstractCellComparator.xtend
+++ b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/sorting/AbstractCellComparator.xtend
@@ -12,7 +12,7 @@ import java.util.Comparator
import java.util.List
import org.eclipse.nebula.widgets.nattable.sort.SortDirectionEnum
import org.eclipse.set.model.tablemodel.CellContent
-import org.eclipse.set.model.tablemodel.CompareCellContent
+import org.eclipse.set.model.tablemodel.CompareStateCellContent
import org.eclipse.set.model.tablemodel.StringCellContent
import org.eclipse.set.model.tablemodel.TableCell
@@ -61,8 +61,8 @@ package abstract class AbstractCellComparator implements Comparator {
}
private def dispatch int compareDispatch(
- CompareCellContent c1,
- CompareCellContent c2
+ CompareStateCellContent c1,
+ CompareStateCellContent c2
) {
// To avoid compare error, the compare cell shouldn't separate compare new/old value
return c1.compareCellContentString.compareCell(
@@ -79,13 +79,13 @@ package abstract class AbstractCellComparator implements Comparator {
private def dispatch int compareDispatch(
StringCellContent c1,
- CompareCellContent c2
+ CompareStateCellContent c2
) {
return c1.value.compareCell(c2.compareCellContentString)
}
private def dispatch int compareDispatch(
- CompareCellContent c1,
+ CompareStateCellContent c1,
StringCellContent c2
) {
return c1.compareCellContentString.compareCell(c2.value)
@@ -107,8 +107,9 @@ package abstract class AbstractCellComparator implements Comparator {
}
private def Iterable compareCellContentString(
- CompareCellContent content) {
- return #[content.newValue, content.oldValue].flatten.toSet
+ CompareStateCellContent content) {
+ return #[content.newValue.stringValueIterable,
+ content.oldValue.stringValueIterable].flatten.toSet
}
private def boolean isInteger(String text) {
From 5fd4d2be01ae618bfcdba871d566de9d43c2db78 Mon Sep 17 00:00:00 2001
From: TruongQuangSB
Date: Thu, 8 Jan 2026 18:27:55 +0100
Subject: [PATCH 2/9] fix unit test
---
.../model/tablemodel/extensions/CellContentExtensionsTest.java | 3 +++
1 file changed, 3 insertions(+)
diff --git a/java/bundles/org.eclipse.set.model.tablemodel.extensions.test/src/org/eclipse/set/model/tablemodel/extensions/CellContentExtensionsTest.java b/java/bundles/org.eclipse.set.model.tablemodel.extensions.test/src/org/eclipse/set/model/tablemodel/extensions/CellContentExtensionsTest.java
index e2747275b3..6966b2531f 100644
--- a/java/bundles/org.eclipse.set.model.tablemodel.extensions.test/src/org/eclipse/set/model/tablemodel/extensions/CellContentExtensionsTest.java
+++ b/java/bundles/org.eclipse.set.model.tablemodel.extensions.test/src/org/eclipse/set/model/tablemodel/extensions/CellContentExtensionsTest.java
@@ -43,6 +43,9 @@ private static StringCellContent createStringCellContent(
final StringCellContent content = TablemodelFactory.eINSTANCE
.createStringCellContent();
content.getValue().add(value);
+ final TableCell tableCell = TablemodelFactory.eINSTANCE
+ .createTableCell();
+ tableCell.setContent(content);
return content;
}
From ba051e5a75b5172f74d00797d64ee7bbeb897274 Mon Sep 17 00:00:00 2001
From: TruongQuangSB
Date: Thu, 8 Jan 2026 19:11:31 +0100
Subject: [PATCH 3/9] fix unit test
---
.../set/feature/table/diff/TableStateDiffService.java | 5 +++--
.../model/tablemodel/extensions/CellContentExtensions.xtend | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/diff/TableStateDiffService.java b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/diff/TableStateDiffService.java
index 351e3a471a..59c6e6eabd 100644
--- a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/diff/TableStateDiffService.java
+++ b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/diff/TableStateDiffService.java
@@ -54,8 +54,9 @@ CellContent createDiffContent(final TableCell oldCell,
}
if (!StringCellContent.class.isInstance(oldCell.getContent())
- || newCell != null && !StringCellContent.class
- .isInstance(newCell.getContent())) {
+ || newCell != null && newCell.getContent() != null
+ && !StringCellContent.class
+ .isInstance(newCell.getContent())) {
throw new IllegalArgumentException(
"Can create CompareStateCellContent only from StringCellContent"); //$NON-NLS-1$
}
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 33d68ccfb3..a4eb2207af 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
@@ -189,7 +189,7 @@ class CellContentExtensions {
static def dispatch String getPlainStringValue(
CompareStateCellContent content) {
- return '''«content.oldValue.plainStringValue»/«content.newValue.plainStringValue»'''
+ return '''«content.oldValue.stringValueIterable»/«content.newValue.stringValueIterable»'''
}
static def dispatch String getPlainStringValue(
From 448cd75beaec6ff505812668221e90b8c1508917 Mon Sep 17 00:00:00 2001
From: TruongQuangSB
Date: Fri, 9 Jan 2026 18:46:14 +0100
Subject: [PATCH 4/9] inital
---
...tractPlanPro2TableModelTransformator.xtend | 27 +-
...actPlanPro2TableTransformationService.java | 6 +-
.../table/pt1/ssbb/SsbbTransformator.xtend | 13 +-
.../table/pt1/ssit/SsitTransformator.xtend | 27 +-
.../table/pt1/sska/SskaTransformator.xtend | 7 +-
.../table/pt1/sskf/SskfTransformator.xtend | 8 +-
.../table/pt1/sskg/SskgTransformator.xtend | 12 +-
.../table/pt1/ssko/SskoTransformator.xtend | 8 +-
.../table/pt1/sskp/SskpTransformator.xtend | 7 +-
.../table/pt1/ssks/SsksTransformator.xtend | 6 +-
.../table/pt1/sskt/SsktTransformator.xtend | 10 +-
.../table/pt1/sskw/SskwTransformator.xtend | 7 +-
.../table/pt1/sskz/SskzTransformator.java | 10 +-
.../table/pt1/ssla/SslaTransformator.xtend | 6 +-
.../table/pt1/sslb/SslbTransformator.xtend | 10 +-
.../table/pt1/ssld/SsldTransformator.xtend | 8 +-
.../table/pt1/sslf/SslfTransformator.xtend | 8 +-
.../table/pt1/ssli/SsliTransformator.xtend | 11 +-
.../table/pt1/ssln/SslnTransformator.xtend | 11 +-
.../table/pt1/sslr/SslrTransformator.xtend | 11 +-
.../table/pt1/ssls/SslsTransformator.java | 3 +-
.../table/pt1/sslw/SslwTransformator.xtend | 8 +-
.../table/pt1/sslz/SslzTransformator.xtend | 8 +-
.../table/pt1/ssvu/SsvuTransformator.xtend | 12 +-
.../table/pt1/ssza/SszaTransformator.xtend | 5 +-
.../table/pt1/sszs/SszsTransformator.xtend | 8 +-
.../table/pt1/sszw/SszwTransformator.xtend | 5 +-
.../table/internal/TableServiceImpl.java | 282 ++++++++++--------
.../TableErrorTableTransformator.xtend | 12 +-
.../extensions/SchlossExtensions.xtend | 45 +++
.../set/services/table/TableService.java | 4 +-
.../AbstractTableModelTransformator.xtend | 26 +-
.../AbstractTableTransformationService.java | 30 +-
.../eclipse/set/utils/table/TableError.java | 33 +-
.../utils/table/TableModelTransformator.java | 16 -
.../table/TableTransformationService.java | 12 -
...stractValidationProblemTransformator.xtend | 5 -
37 files changed, 350 insertions(+), 377 deletions(-)
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableModelTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableModelTransformator.xtend
index f7b7add960..eaa10fbe69 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableModelTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableModelTransformator.xtend
@@ -12,6 +12,7 @@ import java.util.ArrayList
import java.util.Collections
import java.util.Comparator
import java.util.List
+import java.util.Map
import java.util.Set
import org.eclipse.emf.common.util.Enumerator
import org.eclipse.set.basis.constants.ToolboxConstants
@@ -27,15 +28,13 @@ import org.eclipse.set.ppmodel.extensions.container.MultiContainer_AttributeGrou
import org.eclipse.set.utils.events.TableDataChangeEvent
import org.eclipse.set.utils.table.AbstractTableModelTransformator
import org.eclipse.set.utils.table.Pt1TableChangeProperties
-import org.eclipse.set.utils.table.TMFactory
import org.eclipse.set.utils.table.TableError
import org.osgi.service.event.EventAdmin
-import static extension org.eclipse.set.model.tablemodel.extensions.TableExtensions.*
import static extension org.eclipse.set.model.tablemodel.extensions.TableRowExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.BasisAttributExtensions.*
+import static extension org.eclipse.set.ppmodel.extensions.MultiContainer_AttributeGroupExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.utils.CacheUtils.*
-import java.util.Map
abstract class AbstractPlanPro2TableModelTransformator extends AbstractTableModelTransformator {
protected val FootnoteTransformation footnoteTransformation = new FootnoteTransformation()
@@ -133,19 +132,6 @@ abstract class AbstractPlanPro2TableModelTransformator extends AbstractTableMode
return column;
}
- override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory) {
- val table = transformTableContent(container, factory, null)
- table.tableRows.forEach [ row |
- row.cells.forEach [ cell, index |
- if (cell.content === null) {
- fillBlank(row, index)
- }
- ]
- ]
- return table
- }
-
def void fillSingleCellWhenAllowed(
TableRow row,
ColumnDescriptor column,
@@ -297,9 +283,12 @@ abstract class AbstractPlanPro2TableModelTransformator extends AbstractTableMode
ColumnDescriptor column, MultiContainer_AttributeGroup container,
Exception e) {
val errorMsg = createErrorMsg(e, row)
- val guid = row.group.leadingObject?.identitaet?.wert
- val leadingObject = getLeadingObjectIdentifier(row, guid)
- tableErrors.add(new TableError(guid, leadingObject, "", errorMsg, row))
+ val leadingObject = row.group.leadingObject
+ val errorIdentiefer = getLeadingObjectIdentifier(row, leadingObject?.identitaet?.wert)
+ val tableType = container.containerType.defaultTableType
+ val error = new TableError(leadingObject, errorIdentiefer, "", errorMsg, row)
+ error.tableType = tableType
+ tableErrors.add(error)
return new Pt1TableChangeProperties(container, row, column,
#['''«ERROR_PREFIX»«errorMsg»'''], ITERABLE_FILLING_SEPARATOR)
}
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java
index ea35460ae1..4cfa6d0964 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java
@@ -29,7 +29,6 @@
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.eclipse.set.feature.table.PlanPro2TableTransformationService;
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich;
import org.eclipse.set.model.tablemodel.ColumnDescriptor;
import org.eclipse.set.model.tablemodel.Table;
import org.eclipse.set.model.tablemodel.extensions.ColumnDescriptorExtensions;
@@ -152,9 +151,8 @@ protected void setColumnTextAlignment(final Table table) {
}
@Override
- public Table transform(final MultiContainer_AttributeGroup model,
- final Stell_Bereich controlArea) {
- final Table table = super.transform(model, controlArea);
+ public Table transform(final MultiContainer_AttributeGroup model) {
+ final Table table = super.transform(model);
if (transformator instanceof final AbstractPlanPro2TableModelTransformator pt1TableTransformator) {
pt1TableTransformator.updateWaitingFillCell(getShortcut());
pt1TableTransformator.getTopologicalCells()
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssbb/SsbbTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssbb/SsbbTransformator.xtend
index bc60f8113a..3238b9aca1 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssbb/SsbbTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssbb/SsbbTransformator.xtend
@@ -12,7 +12,6 @@ import com.google.common.collect.Lists
import java.util.Set
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Ansteuerung_Element.Stellelement
import org.eclipse.set.model.planpro.Bedienung.Bedien_Einrichtung_Oertlich
import org.eclipse.set.model.planpro.Ortung.FMA_Komponente
@@ -25,6 +24,7 @@ import org.eclipse.set.model.tablemodel.TableRow
import org.eclipse.set.ppmodel.extensions.container.MultiContainer_AttributeGroup
import org.eclipse.set.ppmodel.extensions.utils.Case
import org.eclipse.set.utils.table.TMFactory
+import org.osgi.service.event.EventAdmin
import static org.eclipse.set.feature.table.pt1.ssbb.SsbbColumns.*
@@ -35,9 +35,7 @@ import static extension org.eclipse.set.ppmodel.extensions.BueBedienAnzeigeExten
import static extension org.eclipse.set.ppmodel.extensions.PunktObjektStreckeExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.SignalExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.StellelementExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.WKrGspElementExtensions.*
-import org.osgi.service.event.EventAdmin
class SsbbTransformator extends AbstractPlanPro2TableModelTransformator {
@@ -50,15 +48,14 @@ class SsbbTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
this.factory = factory
- return container.transform(controlArea)
+ return container.transform
}
private def Table create factory.table transform(
- MultiContainer_AttributeGroup container, Stell_Bereich controlArea) {
- container.bedienEinrichtungOertlich.filter[isPlanningObject].
- filterObjectsInControlArea(controlArea).filter [
+ MultiContainer_AttributeGroup container) {
+ container.bedienEinrichtungOertlich.filter [
!bedienAnzeigeElemente.map[bueBedienAnzeigeElemente].flatten.
filterNull.empty
].forEach [
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssit/SsitTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssit/SsitTransformator.xtend
index 1e285d8620..039864213d 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssit/SsitTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssit/SsitTransformator.xtend
@@ -12,7 +12,6 @@ import com.google.common.collect.Lists
import java.util.Set
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Basisobjekte.Basis_Objekt
import org.eclipse.set.model.planpro.Bedienung.Bedien_Einrichtung_Oertlich
import org.eclipse.set.model.planpro.Schluesselabhaengigkeiten.Schluesselsperre
@@ -23,6 +22,7 @@ import org.eclipse.set.model.tablemodel.Table
import org.eclipse.set.model.tablemodel.TableRow
import org.eclipse.set.ppmodel.extensions.container.MultiContainer_AttributeGroup
import org.eclipse.set.utils.table.TMFactory
+import org.osgi.service.event.EventAdmin
import static org.eclipse.set.feature.table.pt1.ssit.SsitColumns.*
@@ -32,10 +32,8 @@ import static extension org.eclipse.set.ppmodel.extensions.NbBedienAnzeigeElemen
import static extension org.eclipse.set.ppmodel.extensions.NbZoneElementExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.NbZoneExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.PunktObjektStreckeExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.WKrGspKomponenteExtensions.*
import static extension org.eclipse.set.utils.math.BigDecimalExtensions.*
-import org.osgi.service.event.EventAdmin
/**
* Table transformation for a Bedieneinrichtungstabelle ESTW (Ssit).
@@ -52,22 +50,21 @@ class SsitTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
this.factory = factory
- return container.transform(controlArea)
+ return container.transform
}
private def Table create factory.table transform(
- MultiContainer_AttributeGroup container, Stell_Bereich controlArea) {
- container.bedienEinrichtungOertlich.filter[isPlanningObject].
- filterObjectsInControlArea(controlArea).filter [
- bedienAnzeigeElemente.forall[bueBedienAnzeigeElemente.empty]
- ].forEach [ it |
- if (Thread.currentThread.interrupted) {
- return
- }
- it.transform
- ]
+ MultiContainer_AttributeGroup container) {
+ container.bedienEinrichtungOertlich.filter [
+ bedienAnzeigeElemente.forall[bueBedienAnzeigeElemente.empty]
+ ].forEach [ it |
+ if (Thread.currentThread.interrupted) {
+ return
+ }
+ it.transform
+ ]
return
}
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sska/SskaTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sska/SskaTransformator.xtend
index 7b60b539f8..b25c28d444 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sska/SskaTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sska/SskaTransformator.xtend
@@ -17,7 +17,6 @@ import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
import org.eclipse.set.model.planpro.Ansteuerung_Element.Aussenelementansteuerung
import org.eclipse.set.model.planpro.Ansteuerung_Element.ESTW_Zentraleinheit
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Ansteuerung_Element.Technik_Standort
import org.eclipse.set.model.planpro.Ansteuerung_Element.Unterbringung
import org.eclipse.set.model.planpro.Basisobjekte.Basis_Objekt
@@ -36,7 +35,6 @@ import static extension org.eclipse.set.ppmodel.extensions.BasisAttributExtensio
import static extension org.eclipse.set.ppmodel.extensions.BedienBezirkExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.ESTW_ZentraleinheitExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.UnterbringungExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.utils.CollectionExtensions.*
/**
@@ -52,7 +50,7 @@ class SskaTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
val aussenelementansteuerungList = container.aussenelementansteuerung
val estwzentraleinheitList = container.ESTWZentraleinheit
@@ -61,8 +59,7 @@ class SskaTransformator extends AbstractPlanPro2TableModelTransformator {
elementList.addAll(estwzentraleinheitList);
elementList.addAll(aussenelementansteuerungList);
// Basis_Objekt
- for (element : elementList.filter[isPlanningObject].
- filterObjectsInControlArea(controlArea)) {
+ for (element : elementList) {
if (Thread.currentThread.interrupted) {
return null
}
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskf/SskfTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskf/SskfTransformator.xtend
index 2e6b22993f..47578ea499 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskf/SskfTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskf/SskfTransformator.xtend
@@ -14,7 +14,6 @@ import java.util.Set
import org.eclipse.set.basis.Wrapper
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Gleis.Gleis_Schaltgruppe
import org.eclipse.set.model.planpro.Ortung.FMA_Anlage
import org.eclipse.set.model.planpro.Weichen_und_Gleissperren.W_Kr_Gsp_Element
@@ -30,7 +29,6 @@ import static org.eclipse.set.model.planpro.Ortung.ENUMUebertragungFMinfoRichtun
import static extension org.eclipse.set.ppmodel.extensions.AussenelementansteuerungExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.BereichObjektExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.FmaAnlageExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.WKrGspElementExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.WKrGspKomponenteExtensions.*
@@ -50,11 +48,9 @@ class SskfTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
// Maßgebendes Objekt: FMA_Anlage
- val Iterable fmaAnlageList = container.FMAAnlage.filter [
- isPlanningObject
- ].filterObjectsInControlArea(controlArea)
+ val Iterable fmaAnlageList = container.FMAAnlage
for (fmaAnlage : fmaAnlageList) {
if (Thread.currentThread.interrupted) {
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskg/SskgTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskg/SskgTransformator.xtend
index bebfb4870c..738c3290de 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskg/SskgTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskg/SskgTransformator.xtend
@@ -14,7 +14,6 @@ import org.eclipse.set.basis.graph.TopPoint
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.core.services.graph.TopologicalGraphService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Bahnuebergang.BUE_Anlage
import org.eclipse.set.model.planpro.Bahnuebergang.BUE_Kante
import org.eclipse.set.model.planpro.Basisobjekte.Basis_Objekt
@@ -34,7 +33,6 @@ import static extension org.eclipse.set.ppmodel.extensions.FmaKomponenteAchszaeh
import static extension org.eclipse.set.ppmodel.extensions.FmaKomponenteExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.PunktObjektExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.PunktObjektStreckeExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.ZugEinwirkungExtensions.*
/**
@@ -54,12 +52,10 @@ class SskgTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
val instances = new ArrayList
- for (Zugeinwirkung ein : container.zugeinwirkung.filter [
- isPlanningObject
- ].filterObjectsInControlArea(controlArea)) {
+ for (Zugeinwirkung ein : container.zugeinwirkung) {
if (Thread.currentThread.interrupted) {
return null
}
@@ -186,9 +182,7 @@ class SskgTransformator extends AbstractPlanPro2TableModelTransformator {
instances.add(row);
}
- for (FMA_Komponente fma : container.FMAKomponente.filter [
- isPlanningObject
- ].filterObjectsInControlArea(controlArea)) {
+ for (FMA_Komponente fma : container.FMAKomponente) {
if (fma.FMAKomponenteAchszaehlpunkt !== null) {
val TableRow row = factory.newTableRow(fma);
// A: Sskg.Grundsatzangaben.Bezeichnung
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssko/SskoTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssko/SskoTransformator.xtend
index 8dcdff0b5b..92475ecc7e 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssko/SskoTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssko/SskoTransformator.xtend
@@ -34,7 +34,6 @@ import static extension org.eclipse.set.ppmodel.extensions.SchluesselExtensions.
import static extension org.eclipse.set.ppmodel.extensions.SchluesselsperreExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.StellBereichExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.UnterbringungExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
/**
* Table transformation for a Schlosstabelle Entwurf (Ssko).
@@ -49,11 +48,8 @@ class SskoTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
- for (Schloss schloss : container.getObjectInControlArea(controlArea).
- filter [
- isPlanningObject
- ]) {
+ TMFactory factory) {
+ for (Schloss schloss : container.schloss) {
if (Thread.currentThread.interrupted) {
return null
}
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformator.xtend
index 5d691979bd..9dff20eb8c 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformator.xtend
@@ -14,7 +14,6 @@ import org.eclipse.set.basis.graph.TopPoint
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.core.services.graph.TopologicalGraphService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Basisobjekte.Basis_Objekt
import org.eclipse.set.model.planpro.Basisobjekte.Punkt_Objekt
import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_DWeg
@@ -46,7 +45,6 @@ import static extension org.eclipse.set.ppmodel.extensions.PunktObjektExtensions
import static extension org.eclipse.set.ppmodel.extensions.SignalExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.SignalRahmenExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.SignalbegriffExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.WKrGspElementExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.utils.IterableExtensions.*
import static extension org.eclipse.set.utils.math.BigDecimalExtensions.*
@@ -72,11 +70,10 @@ class SskpTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
val topGraph = new TopGraph(container.TOPKante)
- for (PZB_Element pzb : container.PZBElement.filter[isPlanningObject].
- filterObjectsInControlArea(controlArea).filter [
+ for (PZB_Element pzb : container.PZBElement.filter [
PZBElementGUE?.IDPZBElementMitnutzung?.value === null
]) {
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssks/SsksTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssks/SsksTransformator.xtend
index 883800a328..69c9adfac1 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssks/SsksTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssks/SsksTransformator.xtend
@@ -18,7 +18,6 @@ import org.eclipse.set.basis.graph.TopPoint
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.core.services.graph.BankService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Ansteuerung_Element.Unterbringung
import org.eclipse.set.model.planpro.Basisobjekte.Punkt_Objekt
import org.eclipse.set.model.planpro.Geodaten.Technischer_Punkt
@@ -152,11 +151,10 @@ class SsksTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
// iterate signal-wise
val sideDistancesSignal = newHashMap
- for (Signal signal : container?.signal?.filter[isPlanningObject].
- filterObjectsInControlArea(controlArea).filter[ssksSignal]) {
+ for (Signal signal : container?.signal?.filter[ssksSignal]) {
if (Thread.currentThread.interrupted) {
return null
}
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskt/SsktTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskt/SsktTransformator.xtend
index acb24e94a3..9d573a383f 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskt/SsktTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskt/SsktTransformator.xtend
@@ -11,7 +11,6 @@ package org.eclipse.set.feature.table.pt1.sskt
import java.util.Set
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Ansteuerung_Element.TSO_IP_AB_Teilsystem_AttributeGroup
import org.eclipse.set.model.planpro.Ansteuerung_Element.Technik_Standort
import org.eclipse.set.model.planpro.Ansteuerung_Element.Unterbringung
@@ -31,7 +30,6 @@ import static org.eclipse.set.feature.table.pt1.sskt.SsktColumns.*
import static extension org.eclipse.set.ppmodel.extensions.BedienStandortExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.TechnikStandortExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.UnterbringungExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
/**
* Table transformation for Sskt.
@@ -48,16 +46,14 @@ class SsktTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
this.factory = factory
- return container.transformToTable(controlArea)
+ return container.transformToTable
}
private def Table create factory.table transformToTable(
- MultiContainer_AttributeGroup container, Stell_Bereich controlArea) {
+ MultiContainer_AttributeGroup container) {
(container.technikStandort + container.bedienStandort).filter [
- isPlanningObject
- ].filterObjectsInControlArea(controlArea).filter [
generalbedingung
].forEach [
if (Thread.currentThread.interrupted) {
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskw/SskwTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskw/SskwTransformator.xtend
index 4e24f3a37d..e651c7de83 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskw/SskwTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskw/SskwTransformator.xtend
@@ -18,7 +18,6 @@ import org.eclipse.set.basis.constants.ToolboxConstants
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.core.services.session.SessionService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.BasisTypen.ENUMLinksRechts
import org.eclipse.set.model.planpro.BasisTypen.ENUMWirkrichtung
import org.eclipse.set.model.planpro.Geodaten.TOP_Kante
@@ -56,7 +55,6 @@ import static extension org.eclipse.set.ppmodel.extensions.GleisAbschnittExtensi
import static extension org.eclipse.set.ppmodel.extensions.MultiContainer_AttributeGroupExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.PunktObjektExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.SignalbegriffExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.WKrGspElementExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.WKrGspKomponenteExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.utils.IterableExtensions.*
@@ -102,10 +100,9 @@ class SskwTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
xmlFinder = createEObjetXMLFinder(container)
- val weichen = container.WKrGspElement.filter[isPlanningObject].
- filterObjectsInControlArea(controlArea)
+ val weichen = container.WKrGspElement
for (element : weichen) {
if (Thread.currentThread.interrupted) {
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskz/SskzTransformator.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskz/SskzTransformator.java
index 9a9c8e179b..42b2059b6a 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskz/SskzTransformator.java
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskz/SskzTransformator.java
@@ -37,7 +37,6 @@
import org.eclipse.set.feature.table.pt1.ssks.SignalSideDistance;
import org.eclipse.set.model.planpro.Ansteuerung_Element.Aussenelementansteuerung;
import org.eclipse.set.model.planpro.Ansteuerung_Element.ENUMAussenelementansteuerungArt;
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich;
import org.eclipse.set.model.planpro.Ansteuerung_Element.Stellelement;
import org.eclipse.set.model.planpro.Ansteuerung_Element.Tueranschlag_TypeClass;
import org.eclipse.set.model.planpro.Ansteuerung_Element.Unterbringung_Befestigung_TypeClass;
@@ -56,7 +55,6 @@
import org.eclipse.set.model.tablemodel.TableRow;
import org.eclipse.set.ppmodel.extensions.PZBElementExtensions;
import org.eclipse.set.ppmodel.extensions.PunktObjektTopKanteExtensions;
-import org.eclipse.set.ppmodel.extensions.UrObjectExtensions;
import org.eclipse.set.ppmodel.extensions.container.MultiContainer_AttributeGroup;
import org.eclipse.set.ppmodel.extensions.utils.Case;
import org.eclipse.set.utils.math.BigDecimalExtensions;
@@ -132,14 +130,12 @@ public SskzTransformator(final Set cols,
@Override
public Table transformTableContent(
final MultiContainer_AttributeGroup container,
- final TMFactory factory, final Stell_Bereich controlArea) {
+ final TMFactory factory) {
final List outsideControls = Streams
.stream(container.getAussenelementansteuerung())
- .filter(UrObjectExtensions::isPlanningObject)
.toList();
- final Iterable relevantControlsInArea = UrObjectExtensions
- .filterObjectsInControlArea(outsideControls, controlArea);
- return transform(relevantControlsInArea, factory);
+
+ return transform(outsideControls, factory);
}
private Table transform(final Iterable controls,
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssla/SslaTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssla/SslaTransformator.xtend
index 6f7e7b431b..2986833458 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssla/SslaTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssla/SslaTransformator.xtend
@@ -13,7 +13,6 @@ import java.util.List
import java.util.Set
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_Aneinander
import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_Aneinander_Zuordnung
import org.eclipse.set.model.tablemodel.ColumnDescriptor
@@ -26,7 +25,6 @@ import static org.eclipse.set.feature.table.pt1.ssla.SslaColumns.*
import static extension org.eclipse.set.ppmodel.extensions.FahrwegExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.FstrAneinanderExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.FstrZugRangierExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
/**
* Table transformation for a aneinandergereihte Fahrstraßen (Ssla).
@@ -41,10 +39,8 @@ class SslaTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
val fstrAneinanderList = container.fstrAneinander
- .filter [isPlanningObject]
- .filterObjectsInControlArea(controlArea)
// Basis_Objekt
for (fstrAneinander : fstrAneinanderList) {
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslb/SslbTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslb/SslbTransformator.xtend
index d7179b6da1..532b2cbec9 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslb/SslbTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslb/SslbTransformator.xtend
@@ -16,7 +16,6 @@ import org.eclipse.set.basis.graph.TopPoint
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.core.services.graph.TopologicalGraphService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.BasisTypen.ENUMWirkrichtung
import org.eclipse.set.model.planpro.Block.Block_Element
import org.eclipse.set.model.planpro.Block.ENUMBetriebsfuehrung
@@ -62,16 +61,15 @@ class SslbTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
this.factory = factory
- return container.transform(controlArea)
+ return container.transform
}
private def Table create factory.table transform(
- MultiContainer_AttributeGroup container, Stell_Bereich controlArea) {
+ MultiContainer_AttributeGroup container) {
- val validObjects = container.blockElement.filter[isPlanningObject].
- filterObjectsInControlArea(controlArea).filterNull
+ val validObjects = container.blockElement.filterNull
val fmaLookupCache = getFMALookupCache(container)
validObjects.flatMap[findRelevantBlockElements].filterNull.forEach [ it |
if (Thread.currentThread.interrupted) {
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssld/SsldTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssld/SsldTransformator.xtend
index 3252235fc7..c6db7b5a1b 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssld/SsldTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssld/SsldTransformator.xtend
@@ -16,7 +16,6 @@ import org.eclipse.set.basis.graph.TopPoint
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.core.services.graph.TopologicalGraphService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Basisobjekte.Punkt_Objekt
import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_DWeg
import org.eclipse.set.model.planpro.Geodaten.ENUMTOPAnschluss
@@ -41,7 +40,6 @@ import static extension org.eclipse.set.ppmodel.extensions.PunktObjektExtensions
import static extension org.eclipse.set.ppmodel.extensions.SignalExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.TopKanteExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.TopKnotenExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.WKrGspElementExtensions.*
import static extension org.eclipse.set.utils.math.BigDecimalExtensions.*
@@ -112,12 +110,10 @@ class SsldTransformator extends AbstractPlanPro2TableModelTransformator {
override transformTableContent(
MultiContainer_AttributeGroup container,
- TMFactory factory,
- Stell_Bereich controlArea
+ TMFactory factory
) {
val topGraph = new TopGraph(container.TOPKante)
- val fstDwegList = container.fstrDWeg.filter[isPlanningObject].
- filterObjectsInControlArea(controlArea)
+ val fstDwegList = container.fstrDWeg
// var footnoteNumber = 1;
for (dweg : fstDwegList) {
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslf/SslfTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslf/SslfTransformator.xtend
index 73c306b07b..41cd34f005 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslf/SslfTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslf/SslfTransformator.xtend
@@ -11,7 +11,6 @@ package org.eclipse.set.feature.table.pt1.sslf
import java.util.Set
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Basisobjekte.Basis_Objekt
import org.eclipse.set.model.planpro.Flankenschutz.Fla_Schutz
import org.eclipse.set.model.planpro.Nahbedienung.NB_Zone_Grenze
@@ -27,7 +26,6 @@ import static org.eclipse.set.model.planpro.Flankenschutz.ENUMFahrtUeber.*
import static extension org.eclipse.set.ppmodel.extensions.FlaFreimeldeZuordnungExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.FlaSchutzExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.WKrAnlageExtensions.*
/**
@@ -44,11 +42,9 @@ class SslfTransformator extends AbstractPlanPro2TableModelTransformator {
override transformTableContent(
MultiContainer_AttributeGroup container,
- TMFactory factory,
- Stell_Bereich controlArea
+ TMFactory factory
) {
- val flaSchutzList = container.flaSchutz.filter[isPlanningObject].
- filterObjectsInControlArea(controlArea).filter[generalbedingung].
+ val flaSchutzList = container.flaSchutz.filter[generalbedingung].
sortBy[wLageNbGrenze]
for (flaSchutz : flaSchutzList) {
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssli/SsliTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssli/SsliTransformator.xtend
index 7a417e1136..47d52f7d42 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssli/SsliTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssli/SsliTransformator.xtend
@@ -18,7 +18,6 @@ import org.eclipse.set.basis.graph.TopPoint
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.core.services.graph.TopologicalGraphService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Basisobjekte.Punkt_Objekt
import org.eclipse.set.model.planpro.Fahrstrasse.ENUMRangierGegenfahrtausschluss
import org.eclipse.set.model.planpro.Gleis.Gleis_Bezeichnung
@@ -59,17 +58,15 @@ class SsliTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
this.factory = factory
this.container = container
- return container.transform(controlArea)
+ return container.transform
}
private def Table create factory.table transform(
- MultiContainer_AttributeGroup container, Stell_Bereich controlArea) {
- val gleisBezeichnung = container.gleisBezeichnung.filter [
- isPlanningObject
- ].filterObjectsInControlArea(controlArea)
+ MultiContainer_AttributeGroup container) {
+ val gleisBezeichnung = container.gleisBezeichnung
transformToBegrenzungen(gleisBezeichnung, container.signal.filter [
isPlanningObject
]).filter[generalbedingung].forEach [ it |
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssln/SslnTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssln/SslnTransformator.xtend
index 263d94e05d..e83d667c64 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssln/SslnTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssln/SslnTransformator.xtend
@@ -13,7 +13,6 @@ import java.util.Set
import org.eclipse.set.basis.Pair
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Basisobjekte.Basis_Objekt
import org.eclipse.set.model.planpro.Basisobjekte.Punkt_Objekt
import org.eclipse.set.model.planpro.Nahbedienung.ENUMNBGrenzeArt
@@ -42,7 +41,6 @@ import static extension org.eclipse.set.ppmodel.extensions.NbExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.NbZoneElementExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.NbZoneExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.NbZoneGrenzeExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.WKrGspKomponenteExtensions.*
/**
@@ -60,15 +58,14 @@ class SslnTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
this.factory = factory
- return container.transform(controlArea)
+ return container.transform
}
private def Table create factory.table transform(
- MultiContainer_AttributeGroup container, Stell_Bereich controlArea) {
- container.NBZone.filter[isPlanningObject].
- filterObjectsInControlArea(controlArea).forEach [ it |
+ MultiContainer_AttributeGroup container) {
+ container.NBZone.forEach [ it |
if (Thread.currentThread.interrupted) {
return
}
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslr/SslrTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslr/SslrTransformator.xtend
index d50f11ccd7..94209bfacd 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslr/SslrTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslr/SslrTransformator.xtend
@@ -13,7 +13,6 @@ import java.util.Collections
import java.util.Set
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_Zug_Rangier
import org.eclipse.set.model.planpro.Weichen_und_Gleissperren.W_Kr_Gsp_Element
import org.eclipse.set.model.tablemodel.ColumnDescriptor
@@ -35,7 +34,6 @@ import static extension org.eclipse.set.ppmodel.extensions.FstrAbhaengigkeitExte
import static extension org.eclipse.set.ppmodel.extensions.FstrRangierFlaZuordnungExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.FstrZugRangierExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.SignalExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
/**
* Table transformation for a Rangierstraßentabelle (Sslr).
@@ -52,15 +50,14 @@ class SslrTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
this.factory = factory
- return container.transform(controlArea)
+ return container.transform
}
private def Table create factory.table transform(
- MultiContainer_AttributeGroup container, Stell_Bereich controlArea) {
- container.fstrZugRangier.filter[isPlanningObject].
- filterObjectsInControlArea(controlArea).filter[isR].forEach [ it |
+ MultiContainer_AttributeGroup container) {
+ container.fstrZugRangier.filter[isR].forEach [ it |
if (Thread.currentThread.interrupted) {
return
}
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsTransformator.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsTransformator.java
index 8f973ef22b..a0a34dee5d 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsTransformator.java
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsTransformator.java
@@ -17,7 +17,6 @@
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService;
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator;
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich;
import org.eclipse.set.model.planpro.Signale.Signal;
import org.eclipse.set.model.tablemodel.ColumnDescriptor;
import org.eclipse.set.model.tablemodel.Table;
@@ -54,7 +53,7 @@ public SslsTransformator(final Set cols,
@Override
public Table transformTableContent(
final MultiContainer_AttributeGroup container,
- final TMFactory factory, final Stell_Bereich controlArea) {
+ final TMFactory factory) {
final Set startSignals = getFstrZugStartSignal(container);
signalingSections = new ArrayList<>();
startSignals.forEach(this::determineSignalingSections);
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslw/SslwTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslw/SslwTransformator.xtend
index 46c16379c0..350086533e 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslw/SslwTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslw/SslwTransformator.xtend
@@ -11,7 +11,6 @@ package org.eclipse.set.feature.table.pt1.sslw
import java.util.Set
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Flankenschutz.Fla_Schutz
import org.eclipse.set.model.planpro.Flankenschutz.Fla_Schutz_Weitergabe_AttributeGroup
import org.eclipse.set.model.planpro.Flankenschutz.Fla_Zwieschutz
@@ -33,7 +32,6 @@ import static org.eclipse.set.model.planpro.Weichen_und_Gleissperren.ENUMWKrArt.
import static extension org.eclipse.set.ppmodel.extensions.FlaFreimeldeZuordnungExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.FlaSchutzExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.FlaZwieschutzExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
/**
* Table transformation for a Zwieschutzweichentabelle (SSLW).
@@ -49,11 +47,9 @@ class SslwTransformator extends AbstractPlanPro2TableModelTransformator {
override transformTableContent(
MultiContainer_AttributeGroup container,
- TMFactory factory,
- Stell_Bereich controlArea
+ TMFactory factory
) {
- val flaZwieSchutzList = container.flaZwieschutz.
- filter[isPlanningObject].filterObjectsInControlArea(controlArea)
+ val flaZwieSchutzList = container.flaZwieschutz
for (flaZwieSchutz : flaZwieSchutzList) {
if (Thread.currentThread.interrupted) {
return null
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslz/SslzTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslz/SslzTransformator.xtend
index 1fda133e5f..e794077a28 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslz/SslzTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslz/SslzTransformator.xtend
@@ -16,7 +16,6 @@ import org.eclipse.set.basis.MixedStringComparator
import org.eclipse.set.basis.Wrapper
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Basisobjekte.Basis_Objekt
import org.eclipse.set.model.planpro.Fahrstrasse.ENUMFstrMittelArt
import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_Abhaengigkeit
@@ -65,7 +64,6 @@ import static extension org.eclipse.set.ppmodel.extensions.SchaltmittelZuordnung
import static extension org.eclipse.set.ppmodel.extensions.SignalExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.SignalRahmenExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.SignalbegriffExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.utils.Debug.*
/**
@@ -94,10 +92,8 @@ class SslzTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
- val fstrZugRangierList = container.fstrZugRangier.filter [
- isPlanningObject
- ].filterObjectsInControlArea(controlArea)
+ TMFactory factory) {
+ val fstrZugRangierList = container.fstrZugRangier
val fstrZugRangierListSorted = fstrZugRangierList
var current = 0
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssvu/SsvuTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssvu/SsvuTransformator.xtend
index 8369c736e2..ab3e0a2e38 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssvu/SsvuTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssvu/SsvuTransformator.xtend
@@ -15,7 +15,6 @@ import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
import org.eclipse.set.model.planpro.Ansteuerung_Element.Aussenelementansteuerung
import org.eclipse.set.model.planpro.Ansteuerung_Element.ESTW_Zentraleinheit
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Ansteuerung_Element.Uebertragungsweg
import org.eclipse.set.model.planpro.Bahnuebergang.BUE_Schnittstelle
import org.eclipse.set.model.planpro.Basisobjekte.Basis_Objekt
@@ -34,8 +33,6 @@ import org.osgi.service.event.EventAdmin
import static org.eclipse.set.feature.table.pt1.ssvu.SsvuColumns.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
-
/**
* Table transformation for a Übertragungswegtabelle (Ssvu).
*
@@ -52,16 +49,15 @@ class SsvuTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
this.factory = factory
this.container = container
- return container.transform(controlArea)
+ return container.transform
}
private def Table create factory.table transform(
- MultiContainer_AttributeGroup container, Stell_Bereich controlArea) {
- container.uebertragungsweg.filter[isPlanningObject].
- filterObjectsInControlArea(controlArea).forEach [ it |
+ MultiContainer_AttributeGroup container) {
+ container.uebertragungsweg.forEach [ it |
if (Thread.currentThread.interrupted) {
return
}
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssza/SszaTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssza/SszaTransformator.xtend
index 5a5db21dec..6852373cc5 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssza/SszaTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssza/SszaTransformator.xtend
@@ -53,7 +53,6 @@ import static extension org.eclipse.set.ppmodel.extensions.FmaAnlageExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.PunktObjektExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.PunktObjektTopKanteExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.TopKanteExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.utils.IterableExtensions.*
import static extension org.eclipse.set.utils.math.BigDecimalExtensions.*
@@ -71,7 +70,7 @@ class SszaTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
this.factory = factory
return container.transform
}
@@ -79,7 +78,7 @@ class SszaTransformator extends AbstractPlanPro2TableModelTransformator {
private def Table create factory.table transform(
MultiContainer_AttributeGroup container) {
- container.datenpunkt.filter[isPlanningObject].forEach [ it |
+ container.datenpunkt.forEach [ it |
if (Thread.currentThread.interrupted) {
return
}
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszs/SszsTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszs/SszsTransformator.xtend
index dcca7d5c1e..8eef0d4719 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszs/SszsTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszs/SszsTransformator.xtend
@@ -4,7 +4,7 @@
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v2.0 which is available at
* https://www.eclipse.org/legal/epl-2.0.
- *
+ *
* SPDX-License-Identifier: EPL-2.0
*
*/
@@ -20,7 +20,6 @@ import org.eclipse.set.basis.graph.TopPoint
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.core.services.graph.TopologicalGraphService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Balisentechnik_ETCS.ETCS_Signal
import org.eclipse.set.model.planpro.Basisobjekte.Basis_Objekt
import org.eclipse.set.model.planpro.Basisobjekte.Punkt_Objekt
@@ -61,7 +60,6 @@ import static extension org.eclipse.set.ppmodel.extensions.PunktObjektExtensions
import static extension org.eclipse.set.ppmodel.extensions.PunktObjektTopKanteExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.SignalExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.StellBereichExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.utils.math.BigDecimalExtensions.*
import static extension org.eclipse.set.utils.math.DoubleExtensions.*
@@ -81,9 +79,9 @@ class SszsTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
val topGraph = new TopGraph(container.TOPKante)
- for (etcsSignal : container.ETCSSignal.filter[isPlanningObject]) {
+ for (etcsSignal : container.ETCSSignal) {
val refSignal = etcsSignal.IDSignal?.value
val row = factory.newTableRow(etcsSignal)
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszw/SszwTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszw/SszwTransformator.xtend
index 4f6ea8867c..3a37bc034d 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszw/SszwTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszw/SszwTransformator.xtend
@@ -51,7 +51,6 @@ import static extension org.eclipse.set.ppmodel.extensions.ETCSWKrExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.PunktObjektTopKanteExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.StellBereichExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.TopKanteExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.WKrAnlageExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.WKrGspElementExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.utils.IterableExtensions.*
@@ -76,14 +75,14 @@ class SszwTransformator extends AbstractPlanPro2TableModelTransformator {
}
override transformTableContent(MultiContainer_AttributeGroup container,
- TMFactory factory, Stell_Bereich controlArea) {
+ TMFactory factory) {
this.factory = factory
return container.transform
}
private def Table create factory.table transform(
MultiContainer_AttributeGroup contanier) {
- contanier.ETCSWKr.filter[isPlanningObject].forEach [
+ contanier.ETCSWKr.forEach [
if (Thread.currentThread.interrupted) {
return
}
diff --git a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
index f0f855213f..836b2dbe3d 100644
--- a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
+++ b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
@@ -14,7 +14,6 @@
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedList;
@@ -38,6 +37,7 @@
import org.eclipse.set.basis.IModelSession;
import org.eclipse.set.basis.MissingSupplier;
import org.eclipse.set.basis.cache.Cache;
+import org.eclipse.set.basis.constants.ContainerType;
import org.eclipse.set.basis.constants.Events;
import org.eclipse.set.basis.constants.TableType;
import org.eclipse.set.basis.constants.ToolboxConstants;
@@ -54,7 +54,9 @@
import org.eclipse.set.feature.table.PlanPro2TableTransformationService;
import org.eclipse.set.feature.table.messages.Messages;
import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich;
+import org.eclipse.set.model.planpro.Basisobjekte.Ur_Objekt;
import org.eclipse.set.model.tablemodel.ColumnDescriptor;
+import org.eclipse.set.model.tablemodel.CompareStateCellContent;
import org.eclipse.set.model.tablemodel.RowGroup;
import org.eclipse.set.model.tablemodel.Table;
import org.eclipse.set.model.tablemodel.TableRow;
@@ -62,7 +64,9 @@
import org.eclipse.set.model.tablemodel.extensions.TableCellExtensions;
import org.eclipse.set.model.tablemodel.extensions.TableExtensions;
import org.eclipse.set.model.tablemodel.extensions.TableRowExtensions;
-import org.eclipse.set.ppmodel.extensions.ContainerExtensions;
+import org.eclipse.set.ppmodel.extensions.PlanProSchnittstelleExtensions;
+import org.eclipse.set.ppmodel.extensions.StellBereichExtensions;
+import org.eclipse.set.ppmodel.extensions.UrObjectExtensions;
import org.eclipse.set.ppmodel.extensions.container.MultiContainer_AttributeGroup;
import org.eclipse.set.ppmodel.extensions.utils.TableNameInfo;
import org.eclipse.set.services.table.TableDiffService;
@@ -178,14 +182,18 @@ void removeDiffService(final TableCompareType compareType) {
}
private Table createDiffTable(final String elementId,
- final IModelSession modelSession, final String controlAreaId) {
-
- final Table startTable = transformToTable(elementId, TableType.INITIAL,
- modelSession, controlAreaId == null ? Collections.emptySet()
- : Set.of(controlAreaId));
- final Table zielTable = transformToTable(elementId, TableType.FINAL,
- modelSession, controlAreaId == null ? Collections.emptySet()
- : Set.of(controlAreaId));
+ final IModelSession modelSession) {
+ final PlanPro2TableTransformationService modelService = getModelService(
+ extractShortcut(elementId));
+
+ final Table startTable = modelService
+ .transform(PlanProSchnittstelleExtensions.getContainer(
+ modelSession.getPlanProSchnittstelle(),
+ ContainerType.INITIAL));
+ final Table zielTable = modelService
+ .transform(PlanProSchnittstelleExtensions.getContainer(
+ modelSession.getPlanProSchnittstelle(),
+ ContainerType.FINAL));
if (zielTable == null || startTable == null) {
return null;
}
@@ -205,20 +213,6 @@ public String extractShortcut(final String elementId) {
return parts[parts.length - 1];
}
- private String getContainerCacheId(final IModelSession modelSession,
- final TableType tableType) {
- // For table diffs, combine initial and final cache ids
- if (tableType == TableType.DIFF) {
- return getContainerCacheId(modelSession, TableType.INITIAL) + "#" //$NON-NLS-1$
- + getContainerCacheId(modelSession, TableType.FINAL);
- }
-
- // For other tables, use the container's cache id
- return tableType.toString() + "$" //$NON-NLS-1$
- + ContainerExtensions.getCacheId(modelSession
- .getContainer(tableType.getContainerForTable()));
- }
-
private PlanPro2TableTransformationService getModelService(
final String elementId) {
final Entry result = modelServiceMap
@@ -313,74 +307,72 @@ private void combineTableErrors(final IModelSession modelSession,
}
private void saveTableError(final String shortCut,
- final IModelSession modelSession, final TableType tableType,
- final Collection errors, final String cacheKey) {
+ final IModelSession modelSession,
+ final Collection errors) {
final String shortName = getTableNameInfo(shortCut).getShortName();
+ errors.forEach(error -> error.setSource(shortName));
+ if (modelSession.getTableType() == TableType.SINGLE) {
+ getCacheService()
+ .getCache(modelSession.getPlanProSchnittstelle(),
+ ToolboxConstants.CacheId.TABLE_ERRORS_SINGLE)
+ .set(shortCut, errors);
+ broker.post(Events.TABLEERROR_CHANGED, null);
+ return;
+ }
+
+ final Collection initialErros = new ArrayList<>();
+ final Collection finalErrors = new ArrayList<>();
errors.forEach(error -> {
- error.setSource(shortName);
- error.setTableType(tableType);
+ switch (error.getTableType()) {
+ case INITIAL:
+ initialErros.add(error);
+ break;
+ case FINAL:
+ finalErrors.add(error);
+ break;
+ default:
+ return;
+ }
});
- switch (tableType) {
- case INITIAL:
- getCacheService()
- .getCache(modelSession.getPlanProSchnittstelle(),
- ToolboxConstants.CacheId.TABLE_ERRORS_INITIAL)
- .set(cacheKey, errors);
- break;
- case FINAL:
- getCacheService()
- .getCache(modelSession.getPlanProSchnittstelle(),
- ToolboxConstants.CacheId.TABLE_ERRORS_FINAL)
- .set(cacheKey, errors);
- break;
- case SINGLE:
- getCacheService()
- .getCache(modelSession.getPlanProSchnittstelle(),
- ToolboxConstants.CacheId.TABLE_ERRORS_SINGLE)
- .set(cacheKey, errors);
- // The plan with single state don't need combine cache errrors
- broker.post(Events.TABLEERROR_CHANGED, null);
- return;
- default:
- return;
- }
- combineTableErrors(modelSession, cacheKey);
+ getCacheService()
+ .getCache(modelSession.getPlanProSchnittstelle(),
+ ToolboxConstants.CacheId.TABLE_ERRORS_INITIAL)
+ .set(shortCut, initialErros);
+ getCacheService()
+ .getCache(modelSession.getPlanProSchnittstelle(),
+ ToolboxConstants.CacheId.TABLE_ERRORS_INITIAL)
+ .set(shortCut, finalErrors);
+ combineTableErrors(modelSession, shortCut);
}
private Object loadTransform(final String elementId,
- final TableType tableType, final IModelSession modelSession,
- final String controlAreaId) {
+ final IModelSession modelSession) {
final String shortCut = extractShortcut(elementId);
final PlanPro2TableTransformationService modelService = getModelService(
shortCut);
Table transformedTable = null;
- if (tableType == TableType.DIFF) {
- transformedTable = createDiffTable(elementId, modelSession,
- controlAreaId);
- modelService.format(transformedTable);
- } else {
- final MultiContainer_AttributeGroup container = modelSession
- .getContainer(tableType.getContainerForTable());
- final Stell_Bereich area = getStellBereich(container,
- controlAreaId);
- if (controlAreaId == null
- || isContainerContainArea(container, controlAreaId)) {
- transformedTable = modelService.transform(container, area);
- } else {
- // Create empty table
- transformedTable = TablemodelFactory.eINSTANCE.createTable();
- transformedTable.setTablecontent(
- TablemodelFactory.eINSTANCE.createTableContent());
- modelService.buildHeading(transformedTable);
- }
- }
+ transformedTable = createDiffTable(elementId, modelSession);
+ modelService.format(transformedTable);
+ // final MultiContainer_AttributeGroup container = modelSession
+ // .getContainer(tableType.getContainerForTable());
+ // if (controlAreaId == null
+ // || isContainerContainArea(container, controlAreaId)) {
+ // transformedTable = modelService.transform(container);
+ // } else {
+ // // Create empty table
+ // transformedTable = TablemodelFactory.eINSTANCE.createTable();
+ // transformedTable.setTablecontent(
+ // TablemodelFactory.eINSTANCE.createTableContent());
+ // modelService.buildHeading(transformedTable);
+ // }
if (Thread.currentThread().isInterrupted()
|| transformedTable == null) {
return MissingSupplier.MISSING_VALUE;
}
// sorting
- sortTable(transformedTable, tableType, shortCut);
+ sortTable(transformedTable, shortCut);
+ saveTableToCache(transformedTable, modelSession, shortCut);
return transformedTable;
}
@@ -478,50 +470,105 @@ public Table transformToTable(final String elementId,
final TableType tableType, final IModelSession modelSession,
final Set controlAreaIds) {
final String shortCut = extractShortcut(elementId);
- final String containerId = getContainerCacheId(modelSession, tableType);
final Cache cache = getCacheService().getCache(
modelSession.getPlanProSchnittstelle(),
- ToolboxConstants.SHORTCUT_TO_TABLE_CACHE_ID, containerId);
-
- Table resultTable = null;
-
- final List> cacheKeys = getCacheKeys(shortCut,
- modelSession, controlAreaIds);
- for (final Pair cacheKey : cacheKeys) {
- final String areaId = cacheKey.getKey();
- final String areaCacheKey = cacheKey.getValue();
- Table table = (Table) cache.getIfPresent(areaCacheKey);
-
- if (table == null) {
- table = (Table) loadTransform(shortCut, tableType, modelSession,
- areaId);
- saveTableToCache(table, modelSession, containerId, shortCut,
- tableType, areaCacheKey);
- }
- if (resultTable == null) {
- resultTable = EcoreUtil.copy(table);
- } else {
- for (final RowGroup rowGroup : table.getTablecontent()
- .getRowgroups()) {
- TableExtensions.addRowGroup(resultTable, rowGroup);
- }
- }
+ ToolboxConstants.SHORTCUT_TO_TABLE_CACHE_ID);
+ final Table table = cache.get(shortCut,
+ () -> (Table) loadTransform(elementId, modelSession));
+ if (tableType != TableType.DIFF
+ && controlAreaIds.stream()
+ .noneMatch(area -> isContainerContainArea(
+ modelSession.getContainer(
+ tableType.getContainerForTable()),
+ area))) {
+ // Create empty table
+ final Table emptyTable = TablemodelFactory.eINSTANCE.createTable();
+ emptyTable.setTablecontent(
+ TablemodelFactory.eINSTANCE.createTableContent());
+ getModelService(elementId).buildHeading(emptyTable);
+ return emptyTable;
}
+ return filterRequestValue(table, tableType, modelSession,
+ controlAreaIds);
+ // final List> cacheKeys = getCacheKeys(shortCut,
+ // modelSession, controlAreaIds);
+ // for (final Pair cacheKey : cacheKeys) {
+ // final String areaId = cacheKey.getKey();
+ // final String areaCacheKey = cacheKey.getValue();
+ // Table table = (Table) cache.getIfPresent(areaCacheKey);
+ //
+ // if (table == null) {
+ // table = (Table) loadTransform(shortCut, tableType, modelSession,
+ // areaId);
+ // saveTableToCache(table, modelSession, containerId, shortCut,
+ // tableType, areaCacheKey);
+ // }
+ // if (resultTable == null) {
+ // resultTable = EcoreUtil.copy(table);
+ // } else {
+ // for (final RowGroup rowGroup : table.getTablecontent()
+ // .getRowgroups()) {
+ // TableExtensions.addRowGroup(resultTable, rowGroup);
+ // }
+ // }
+ // }
+ //
+ // // sorting
+ // if (resultTable != null && resultTable.getTablecontent() != null) {
+ // sortTable(resultTable, tableType, shortCut);
+ // }
- // sorting
- if (resultTable != null && resultTable.getTablecontent() != null) {
- sortTable(resultTable, tableType, shortCut);
+ }
+
+ private static Table filterRequestValue(final Table table,
+ final TableType tableType, final IModelSession modelsession,
+ final Set controlAreaIds) {
+ final Table result = EcoreUtil.copy(table);
+ result.getTablecontent().getRowgroups().removeIf(group -> {
+ final Ur_Objekt leadingObj = group.getLeadingObject();
+
+ final MultiContainer_AttributeGroup container = PlanProSchnittstelleExtensions
+ .getContainer(modelsession.getPlanProSchnittstelle(),
+ tableType.getContainerForTable());
+ final List areas = controlAreaIds.stream()
+ .map(areaId -> getStellBereich(container, areaId))
+ .toList();
+ return !UrObjectExtensions.isPlanningObject(leadingObj)
+ || areas.stream()
+ .noneMatch(area -> StellBereichExtensions
+ .isInControlArea(area, leadingObj));
+
+ });
+ if (tableType != TableType.DIFF && tableType != TableType.SINGLE) {
+ TableExtensions.getTableRows(result)
+ .stream()
+ .filter(row -> row.getCells()
+ .stream()
+ .anyMatch(cell -> cell
+ .getContent() instanceof CompareStateCellContent))
+ .forEach(row -> row.getCells()
+ .stream()
+ .filter(cell -> cell
+ .getContent() instanceof CompareStateCellContent)
+ .forEach(cell -> {
+ final CompareStateCellContent compareCellContent = (CompareStateCellContent) cell
+ .getContent();
+ if (tableType == TableType.INITIAL) {
+ cell.setContent(
+ compareCellContent.getOldValue());
+ } else if (tableType == TableType.FINAL) {
+ cell.setContent(
+ compareCellContent.getNewValue());
+ }
+ }));
}
+ return result;
- return resultTable;
}
private void saveTableToCache(final Table table,
- final IModelSession modelSession, final String containerId,
- final String shortCut, final TableType tableType,
- final String areaCacheKey) {
- final String threadName = String.format("%s/saveCache/%s", shortCut, //$NON-NLS-1$
- areaCacheKey);
+ final IModelSession modelSession, final String shortCut) {
+ final String threadName = String.format("%s/saveCache/%s", shortCut); //$NON-NLS-1$
final PlanPro2TableTransformationService modelService = getModelService(
shortCut);
// It will create a separate transformation for each table state, which
@@ -531,13 +578,11 @@ private void saveTableToCache(final Table table,
final Runnable storageFunc = () -> {
final Cache cache = getCacheService().getCache(
modelSession.getPlanProSchnittstelle(),
- ToolboxConstants.SHORTCUT_TO_TABLE_CACHE_ID,
- containerId);
+ ToolboxConstants.SHORTCUT_TO_TABLE_CACHE_ID);
if (table != null) {
- cache.set(areaCacheKey, table);
+ cache.set(shortCut, table);
}
- saveTableError(shortCut, modelSession, tableType, errors,
- areaCacheKey);
+ saveTableError(shortCut, modelSession, errors);
};
if (TableService.isTransformComplete(shortCut,
@@ -712,13 +757,12 @@ public Table createDiffTable(final String elementId,
}
final Table compareTable = diffServiceMap.get(TableCompareType.PROJECT)
.createDiffTable(mainSessionTable, compareSessionTable);
- sortTable(compareTable, TableType.DIFF, elementId);
+ sortTable(compareTable, elementId);
return compareTable;
}
@Override
- public void sortTable(final Table table, final TableType tableType,
- final String shortcut) {
+ public void sortTable(final Table table, final String shortcut) {
final Comparator comparator = getModelService(shortcut)
.getRowGroupComparator();
ECollections.sort(table.getTablecontent().getRowgroups(), comparator);
diff --git a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/overview/TableErrorTableTransformator.xtend b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/overview/TableErrorTableTransformator.xtend
index 6c31dabe03..3121972723 100644
--- a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/overview/TableErrorTableTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/overview/TableErrorTableTransformator.xtend
@@ -9,12 +9,11 @@
package org.eclipse.set.feature.table.overview
import java.util.Collection
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
+import java.util.Comparator
+import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.utils.table.AbstractTableModelTransformator
import org.eclipse.set.utils.table.TMFactory
import org.eclipse.set.utils.table.TableError
-import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
-import java.util.Comparator
class TableErrorTableTransformator extends AbstractTableModelTransformator> {
TableErrorTableColumns columns;
@@ -40,15 +39,10 @@ class TableErrorTableTransformator extends AbstractTableModelTransformator errors,
- TMFactory factory, Stell_Bereich controlArea) {
- transformTableContent(errors, factory)
- }
}
diff --git a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/SchlossExtensions.xtend b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/SchlossExtensions.xtend
index 7f1894a4f2..08902b9e97 100644
--- a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/SchlossExtensions.xtend
+++ b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/SchlossExtensions.xtend
@@ -14,6 +14,11 @@ import org.eclipse.set.model.planpro.Schluesselabhaengigkeiten.Schlosskombinatio
import org.eclipse.set.model.planpro.Schluesselabhaengigkeiten.Schluessel
import org.eclipse.set.model.planpro.Schluesselabhaengigkeiten.Schluesselsperre
import org.eclipse.set.model.planpro.Weichen_und_Gleissperren.W_Kr_Gsp_Element
+import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
+
+import static extension org.eclipse.set.ppmodel.extensions.SchluesselExtensions.*
+import static extension org.eclipse.set.ppmodel.extensions.SchlosskombinationExtensions.*
+import static extension org.eclipse.set.ppmodel.extensions.StellBereichExtensions.*
/**
* Extensions for {@link Schloss}.
@@ -82,4 +87,44 @@ class SchlossExtensions extends BasisObjektExtensions {
def static W_Kr_Gsp_Element getSonderanlage(Schloss schloss) {
return schloss?.schlossSonderanlage?.IDSonderanlage?.value
}
+
+ def static Iterable filterObjectsIsBelongToControlArea(Iterable schlosses, Stell_Bereich controlArea) {
+ if (controlArea === null || schlosses.nullOrEmpty) {
+ return schlosses;
+ }
+
+ val result = newHashSet
+ val container = schlosses?.head?.container
+ // 1. Condition
+ // IMPROVE: Not completely, because the requirements for this case aren't clear
+ val stellelements = container.stellelement.map[IDInformation?.value].
+ filterNull.filter[AussenelementansteuerungExtensions.isBelongToControlArea(it, controlArea)]
+ val ssp = container.schluesselsperre.filter [ ssp |
+ stellelements.exists[it === ssp.IDStellelement.value]
+ ]
+ val schluessels = schlosses.filter [ schloss |
+ ssp.exists[it === schloss.schlossSsp.IDSchluesselsperre.value]
+ ].map[schluesel].filterNull
+ result.addAll(schluessels.flatMap[schloesser])
+
+ // 2.Condition
+ result.filter[schlossSk?.hauptschloss.wert].flatMap [ schloss |
+ schloss.schlossSk.IDSchlosskombination?.value.schloesser.filter [
+ it.schlossSk !== null && !it.schlossSk.hauptschloss.wert
+ ]
+ ].filterNull.map[schluesel].flatMap[schloesser].forEach[result.add(it)]
+
+ // 3. Condition
+ schlosses.filter [ schloss |
+ controlArea.wkrGspElement.exists [ gspElement |
+ schloss.schlossW?.IDWKrElement?.value === gspElement ||
+ schloss.schlossGsp?.IDGspElement?.value === gspElement ||
+ schloss.schlossSonderanlage?.IDSonderanlage?.value ==
+ gspElement
+ ]
+ ].map[schluesel].flatMap[schloesser].toSet.filter [
+ technischBerechtigter?.wert
+ ].forEach[result.add(it)]
+ return result
+ }
}
diff --git a/java/bundles/org.eclipse.set.services/src/org/eclipse/set/services/table/TableService.java b/java/bundles/org.eclipse.set.services/src/org/eclipse/set/services/table/TableService.java
index bd660064e2..cd3dd45f9b 100644
--- a/java/bundles/org.eclipse.set.services/src/org/eclipse/set/services/table/TableService.java
+++ b/java/bundles/org.eclipse.set.services/src/org/eclipse/set/services/table/TableService.java
@@ -200,12 +200,10 @@ Table createDiffTable(String elementId, TableType tableType,
*
* @param table
* the table
- * @param tableType
- * the {@link TableType}
* @param shortcut
* the table shortcut
*/
- void sortTable(Table table, TableType tableType, String shortcut);
+ void sortTable(Table table, String shortcut);
/**
* @param shortcut
diff --git a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/AbstractTableModelTransformator.xtend b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/AbstractTableModelTransformator.xtend
index b8e8a936e5..1f1ea64bb5 100644
--- a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/AbstractTableModelTransformator.xtend
+++ b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/AbstractTableModelTransformator.xtend
@@ -24,6 +24,8 @@ import org.slf4j.LoggerFactory
import static extension com.google.common.base.Throwables.*
import static extension org.eclipse.set.model.tablemodel.extensions.TableRowExtensions.*
+import static extension org.eclipse.set.ppmodel.extensions.BasisAttributExtensions.*
+import static extension org.eclipse.set.ppmodel.extensions.MultiContainer_AttributeGroupExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.utils.Debug.*
/**
@@ -223,10 +225,9 @@ abstract class AbstractTableModelTransformator implements TableModelTransform
fill(row, column, object, [content.get(0)])
} else {
fillIterable(row, column, object, [content],
- switchCase.comparator, [it],
- switchCase.seperator ===
- null ? ITERABLE_FILLING_SEPARATOR : switchCase.
- seperator)
+ switchCase.comparator, [it], switchCase.seperator === null
+ ? ITERABLE_FILLING_SEPARATOR
+ : switchCase.seperator)
}
} catch (Exception e) {
handleFillingException(e, row, column)
@@ -473,8 +474,6 @@ abstract class AbstractTableModelTransformator implements TableModelTransform
}
}
-
-
def static String fillRegelzeichnung(Regelzeichnung regelzeichnung) {
val bild = regelzeichnung?.regelzeichnungAllg?.bild
var rzNummer = regelzeichnung?.regelzeichnungAllg?.RZNummer?.wert
@@ -548,14 +547,19 @@ abstract class AbstractTableModelTransformator implements TableModelTransform
TableRow row,
ColumnDescriptor column
) {
- var guid = row.group.leadingObject?.identitaet?.wert
- var leadingObject = getLeadingObjectIdentifier(row, guid)
+ var leadingObject = row.group.leadingObject
+ var errorIdentiefer = getLeadingObjectIdentifier(row,
+ leadingObject?.identitaet?.wert)
var errorMsg = e.createErrorMsg(row)
-
- tableErrors.add(new TableError(guid, leadingObject, "", errorMsg, row))
+ val container = row.group.leadingObject.container
+ val tableType = container.containerType.defaultTableType
+ val error = new TableError(leadingObject, errorIdentiefer, "", errorMsg,
+ row)
+ error.tableType = tableType
+ tableErrors.add(error)
row.set(column, '''«ERROR_PREFIX»«errorMsg»''')
logger.
- error('''«e.class.simpleName» in column "«column.debugString»" for leading object "«leadingObject»" («guid»). «e.message»«System.lineSeparator»«e.stackTraceAsString»''')
+ error('''«e.class.simpleName» in column "«column.debugString»" for leading object "«leadingObject»" («leadingObject?.identitaet?.wert»). «e.message»«System.lineSeparator»«e.stackTraceAsString»''')
}
def String createErrorMsg(
diff --git a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/AbstractTableTransformationService.java b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/AbstractTableTransformationService.java
index 4d0647350b..4de9b04d9c 100644
--- a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/AbstractTableTransformationService.java
+++ b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/AbstractTableTransformationService.java
@@ -18,7 +18,6 @@
import java.util.Comparator;
import java.util.List;
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich;
import org.eclipse.set.model.tablemodel.ColumnDescriptor;
import org.eclipse.set.model.tablemodel.RowGroup;
import org.eclipse.set.model.tablemodel.Table;
@@ -92,14 +91,25 @@ public Comparator getRowGroupComparator() {
.build();
}
+ // @Override
+ // public Table transform(final T model, final Stell_Bereich controlArea) {
+ // final Table table = TablemodelFactory.eINSTANCE.createTable();
+ // buildHeading(table);
+ // transformator = createTransformator();
+ // transformator.transformTableContent(model, new TMFactory(table),
+ // controlArea);
+ // // Fill blank value to cell
+ //
+ // setColumnTextAlignment(table);
+ // return table;
+ // }
+
@Override
- public Table transform(final T model, final Stell_Bereich controlArea) {
+ public Table transform(final T model) {
final Table table = TablemodelFactory.eINSTANCE.createTable();
buildHeading(table);
transformator = createTransformator();
- transformator.transformTableContent(model, new TMFactory(table),
- controlArea);
- // Fill blank value to cell
+ transformator.transformTableContent(model, new TMFactory(table));
TableExtensions.getTableRows(table).forEach(row -> {
for (int i = 0; i < row.getCells().size(); i++) {
if (row.getCells().get(i).getContent() == null) {
@@ -111,16 +121,6 @@ public Table transform(final T model, final Stell_Bereich controlArea) {
return table;
}
- @Override
- public Table transform(final T model) {
- final Table table = TablemodelFactory.eINSTANCE.createTable();
- buildHeading(table);
- transformator = createTransformator();
- transformator.transformTableContent(model, new TMFactory(table));
- setColumnTextAlignment(table);
- return table;
- }
-
@Override
public Collection getTableErrors() {
if (transformator != null) {
diff --git a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableError.java b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableError.java
index 878d571ff3..0bb3fe8d00 100644
--- a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableError.java
+++ b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableError.java
@@ -9,9 +9,11 @@
package org.eclipse.set.utils.table;
import org.eclipse.set.basis.constants.TableType;
+import org.eclipse.set.model.planpro.Basisobjekte.Ur_Objekt;
import org.eclipse.set.model.planpro.Basisobjekte.impl.Ur_ObjektImpl;
import org.eclipse.set.model.tablemodel.TableRow;
import org.eclipse.set.model.tablemodel.extensions.TableRowExtensions;
+import org.eclipse.set.ppmodel.extensions.EObjectExtensions;
/**
* Errors that occurred during table transformation
@@ -20,17 +22,17 @@
*
*/
public class TableError extends Ur_ObjektImpl {
- private final String guid;
- private final String leadingObject;
+ private final Ur_Objekt leadingObject;
+ private final String errorIdentifier;
private String source;
private TableType tableType;
private final String message;
private final TableRow row;
/**
- * @param guid
- * the guid of the affected leading object
* @param leadingObject
+ * the guid of the affected leading object
+ * @param errorIdentifier
* the affected leading object
* @param source
* the source table
@@ -39,10 +41,11 @@ public class TableError extends Ur_ObjektImpl {
* @param row
* the row where the error occurred
*/
- public TableError(final String guid, final String leadingObject,
- final String source, final String message, final TableRow row) {
- this.guid = guid;
+ public TableError(final Ur_Objekt leadingObject,
+ final String errorIdentifier, final String source,
+ final String message, final TableRow row) {
this.leadingObject = leadingObject;
+ this.errorIdentifier = errorIdentifier;
this.source = source;
this.message = message;
this.row = row;
@@ -52,13 +55,23 @@ public TableError(final String guid, final String leadingObject,
* @return the guid of the affected leading object
*/
public String getGuid() {
- return guid;
+ return EObjectExtensions
+ .getNullableObject(leadingObject,
+ obj -> obj.getIdentitaet().getWert())
+ .orElse(""); //$NON-NLS-1$
+ }
+
+ /**
+ * @return the error identifier string
+ */
+ public String getErrorIdentifier() {
+ return errorIdentifier;
}
/**
- * @return the affected leading object
+ * @return the leading object
*/
- public String getLeadingObject() {
+ public Ur_Objekt getLeadingObject() {
return leadingObject;
}
diff --git a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableModelTransformator.java b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableModelTransformator.java
index 8df5b457f8..49731d78eb 100644
--- a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableModelTransformator.java
+++ b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableModelTransformator.java
@@ -10,7 +10,6 @@
import java.util.Collection;
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich;
import org.eclipse.set.model.tablemodel.Table;
/**
@@ -34,21 +33,6 @@ public interface TableModelTransformator {
*/
public Table transformTableContent(T model, TMFactory factory);
- /**
- * Transforms the given container and control area of a PlanPro model to a
- * particular table of the table model.
- *
- * @param model
- * the model
- * @param factory
- * factory to create new rows of the table model
- * @param controlArea
- * the {@link Stell_Bereich}
- * @return the table model
- */
- public Table transformTableContent(T model, TMFactory factory,
- Stell_Bereich controlArea);
-
/**
* Errors that occurred during transformation
*
diff --git a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableTransformationService.java b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableTransformationService.java
index 45287513bf..810cf2937c 100644
--- a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableTransformationService.java
+++ b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/TableTransformationService.java
@@ -11,7 +11,6 @@
import java.util.Collection;
import java.util.Comparator;
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich;
import org.eclipse.set.model.tablemodel.RowGroup;
import org.eclipse.set.model.tablemodel.Table;
@@ -48,17 +47,6 @@ public interface TableTransformationService {
*/
Table transform(T model);
- /**
- * Transforms a model within control area to a table model.
- *
- * @param model
- * the model to be used
- * @param controlArea
- * the {@link Stell_Bereich}
- * @return the transformed table
- */
- Table transform(T model, Stell_Bereich controlArea);
-
/**
* Errors that occurred during transformation
*
diff --git a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/tree/AbstractValidationProblemTransformator.xtend b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/tree/AbstractValidationProblemTransformator.xtend
index 4438e3657b..971ac1b40e 100644
--- a/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/tree/AbstractValidationProblemTransformator.xtend
+++ b/java/bundles/org.eclipse.set.utils.table/src/org/eclipse/set/utils/table/tree/AbstractValidationProblemTransformator.xtend
@@ -11,7 +11,6 @@ package org.eclipse.set.utils.table.tree
import java.util.Comparator
import java.util.List
import java.util.Set
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.tablemodel.ColumnDescriptor
import org.eclipse.set.model.tablemodel.TableRow
import org.eclipse.set.model.validationreport.ValidationProblem
@@ -40,10 +39,6 @@ abstract class AbstractValidationProblemTransformator extends AbstractTableMo
return factory.table
}
- override transformTableContent(T model, TMFactory factory, Stell_Bereich controlArea) {
- throw new UnsupportedOperationException()
- }
-
abstract def List getProblems(T report)
protected def void transformProblem(TMFactory factory,
From 718a4ff23b03870748880a641f5b75f2ed6ce01e Mon Sep 17 00:00:00 2001
From: Quang Truong
Date: Mon, 12 Jan 2026 14:06:22 +0100
Subject: [PATCH 5/9] Filter table value
---
.../table/pt1/ssko/SskoTransformator.xtend | 43 ----
.../set/feature/table/ToolboxTableView.java | 3 +-
.../table/internal/TableServiceImpl.java | 201 ++++++++++++++----
.../extensions/BedienBezirkExtensions.xtend | 3 +-
4 files changed, 164 insertions(+), 86 deletions(-)
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssko/SskoTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssko/SskoTransformator.xtend
index 92475ecc7e..d9de416e15 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssko/SskoTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssko/SskoTransformator.xtend
@@ -11,7 +11,6 @@ package org.eclipse.set.feature.table.pt1.ssko;
import java.util.Set
import org.eclipse.set.core.services.enumtranslation.EnumTranslationService
import org.eclipse.set.feature.table.pt1.AbstractPlanPro2TableModelTransformator
-import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_Zug_Rangier
import org.eclipse.set.model.planpro.Schluesselabhaengigkeiten.Schloss
import org.eclipse.set.model.planpro.Schluesselabhaengigkeiten.Schluesselsperre
@@ -23,16 +22,13 @@ import org.osgi.service.event.EventAdmin
import static org.eclipse.set.feature.table.pt1.ssko.SskoColumns.*
-import static extension org.eclipse.set.ppmodel.extensions.AussenelementansteuerungExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.BasisAttributExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.FahrwegExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.FstrAbhaengigkeitExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.FstrZugRangierExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.SchlossExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.SchlosskombinationExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.SchluesselExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.SchluesselsperreExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.StellBereichExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.UnterbringungExtensions.*
/**
@@ -393,43 +389,4 @@ class SskoTransformator extends AbstractPlanPro2TableModelTransformator {
val fstrFahrweg = fstrZugRangier?.fstrFahrweg
return '''«fstrFahrweg?.start?.bezeichnung?.bezeichnungTabelle?.wert»/«fstrFahrweg?.zielSignal?.bezeichnung?.bezeichnungTabelle?.wert»'''
}
-
- private def Iterable getObjectInControlArea(
- MultiContainer_AttributeGroup container, Stell_Bereich controlArea) {
- if (controlArea === null) {
- return container.schloss
- }
- val result = newHashSet
- // 1. Condition
- // IMPROVE: Not completely, because the requirements for this case aren't clear
- val stellelements = container.stellelement.map[IDInformation?.value].
- filterNull.filter[isBelongToControlArea(controlArea)]
- val ssp = container.schluesselsperre.filter [ ssp |
- stellelements.exists[it === ssp.IDStellelement.value]
- ]
- val schluessels = container.schloss.filter [ schloss |
- ssp.exists[it === schloss.schlossSsp.IDSchluesselsperre.value]
- ].map[schluesel].filterNull
- result.addAll(schluessels.flatMap[schloesser])
-
- // 2.Condition
- result.filter[schlossSk?.hauptschloss.wert].flatMap [ schloss |
- schloss.schlossSk.IDSchlosskombination?.value.schloesser.filter [
- it.schlossSk !== null && !it.schlossSk.hauptschloss.wert
- ]
- ].filterNull.map[schluesel].flatMap[schloesser].forEach[result.add(it)]
-
- // 3. Condition
- container.schloss.filter [ schloss |
- controlArea.wkrGspElement.exists [ gspElement |
- schloss.schlossW?.IDWKrElement?.value === gspElement ||
- schloss.schlossGsp?.IDGspElement?.value === gspElement ||
- schloss.schlossSonderanlage?.IDSonderanlage?.value ==
- gspElement
- ]
- ].map[schluesel].flatMap[schloesser].toSet.filter [
- technischBerechtigter?.wert
- ].forEach[result.add(it)]
- return result
- }
}
diff --git a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/ToolboxTableView.java b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/ToolboxTableView.java
index 1e87cf5d7d..968da27631 100644
--- a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/ToolboxTableView.java
+++ b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/ToolboxTableView.java
@@ -919,8 +919,7 @@ private void subcribeTriggerResortEvent() {
.size()
&& triggeredEvents
.containsAll(triggerComparisonEvent)) {
- tableService.sortTable(table, tableType,
- getTableShortcut());
+ tableService.sortTable(table, getTableShortcut());
tableInstances.clear();
tableInstances.addAll(
TableExtensions.getTableRows(table));
diff --git a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
index 836b2dbe3d..8357a45fa2 100644
--- a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
+++ b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
@@ -21,9 +21,11 @@
import java.util.Map;
import java.util.Map.Entry;
import java.util.Objects;
+import java.util.Optional;
import java.util.Queue;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.function.BiConsumer;
import java.util.stream.StreamSupport;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -55,15 +57,19 @@
import org.eclipse.set.feature.table.messages.Messages;
import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich;
import org.eclipse.set.model.planpro.Basisobjekte.Ur_Objekt;
+import org.eclipse.set.model.tablemodel.CellContent;
import org.eclipse.set.model.tablemodel.ColumnDescriptor;
import org.eclipse.set.model.tablemodel.CompareStateCellContent;
import org.eclipse.set.model.tablemodel.RowGroup;
import org.eclipse.set.model.tablemodel.Table;
+import org.eclipse.set.model.tablemodel.TableCell;
import org.eclipse.set.model.tablemodel.TableRow;
import org.eclipse.set.model.tablemodel.TablemodelFactory;
import org.eclipse.set.model.tablemodel.extensions.TableCellExtensions;
import org.eclipse.set.model.tablemodel.extensions.TableExtensions;
import org.eclipse.set.model.tablemodel.extensions.TableRowExtensions;
+import org.eclipse.set.ppmodel.extensions.EObjectExtensions;
+import org.eclipse.set.ppmodel.extensions.MultiContainer_AttributeGroupExtensions;
import org.eclipse.set.ppmodel.extensions.PlanProSchnittstelleExtensions;
import org.eclipse.set.ppmodel.extensions.StellBereichExtensions;
import org.eclipse.set.ppmodel.extensions.UrObjectExtensions;
@@ -488,8 +494,11 @@ public Table transformToTable(final String elementId,
getModelService(elementId).buildHeading(emptyTable);
return emptyTable;
}
- return filterRequestValue(table, tableType, modelSession,
- controlAreaIds);
+
+ final Table resultTable = filterRequestValue(table, tableType,
+ modelSession, controlAreaIds);
+ sortTable(resultTable, shortCut);
+ return resultTable;
// final List> cacheKeys = getCacheKeys(shortCut,
// modelSession, controlAreaIds);
// for (final Pair cacheKey : cacheKeys) {
@@ -523,52 +532,164 @@ public Table transformToTable(final String elementId,
private static Table filterRequestValue(final Table table,
final TableType tableType, final IModelSession modelsession,
final Set controlAreaIds) {
- final Table result = EcoreUtil.copy(table);
- result.getTablecontent().getRowgroups().removeIf(group -> {
- final Ur_Objekt leadingObj = group.getLeadingObject();
-
- final MultiContainer_AttributeGroup container = PlanProSchnittstelleExtensions
- .getContainer(modelsession.getPlanProSchnittstelle(),
- tableType.getContainerForTable());
- final List areas = controlAreaIds.stream()
- .map(areaId -> getStellBereich(container, areaId))
- .toList();
- return !UrObjectExtensions.isPlanningObject(leadingObj)
- || areas.stream()
- .noneMatch(area -> StellBereichExtensions
- .isInControlArea(area, leadingObj));
+ final Table result = filterTableByState(EcoreUtil.copy(table),
+ tableType);
+
+ // if (tableType == TableType.DIFF) {
+ // filterRowGroupBelongToControlAreaByDiffState(result, modelsession,
+ // controlAreaIds);
+ // result.getTablecontent()
+ // .getRowgroups()
+ // .removeIf(group -> group.getRows().isEmpty());
+ // return result;
+ // }
+ //
+ // result.getTablecontent().getRowgroups().removeIf(group -> {
+ // final Ur_Objekt leadingObj = group.getLeadingObject();
+ //
+ // final MultiContainer_AttributeGroup container = modelsession
+ // .getContainer(tableType.getContainerForTable());
+ // final List areas = controlAreaIds.stream()
+ // .map(areaId -> getStellBereich(container, areaId))
+ // .toList();
+ // return !UrObjectExtensions.isPlanningObject(leadingObj)
+ // || areas.stream()
+ // .noneMatch(area -> StellBereichExtensions
+ // .isInControlArea(area, leadingObj));
+ //
+ // });
+ result.getTablecontent()
+ .getRowgroups()
+ .removeIf(group -> !UrObjectExtensions
+ .isPlanningObject(group.getLeadingObject()));
+ return result;
+ }
- });
- if (tableType != TableType.DIFF && tableType != TableType.SINGLE) {
- TableExtensions.getTableRows(result)
- .stream()
- .filter(row -> row.getCells()
- .stream()
- .anyMatch(cell -> cell
- .getContent() instanceof CompareStateCellContent))
- .forEach(row -> row.getCells()
+ private static void filterRowGroupBelongToControlAreaByDiffState(
+ final Table result, final IModelSession modelsession,
+ final Set controlAreaIds) {
+ final MultiContainer_AttributeGroup initalContainer = modelsession
+ .getContainer(ContainerType.INITIAL);
+ final List initalControlAreas = controlAreaIds.stream()
+ .map(areaId -> getStellBereich(
+ modelsession.getContainer(ContainerType.INITIAL),
+ areaId))
+ .toList();
+ final List finalControlAreas = controlAreaIds.stream()
+ .map(areaId -> getStellBereich(initalContainer, areaId))
+ .toList();
+ result.getTablecontent().getRowgroups().forEach(group -> {
+ final Ur_Objekt finalObj = group.getLeadingObject();
+ final Ur_Objekt initalObj = finalObj == null
+ ? group.getLeadingObject()
+ : MultiContainer_AttributeGroupExtensions.getObject(
+ initalContainer, finalObj.getClass(),
+ finalObj.getIdentitaet().getWert());
+ final boolean isFinalObjBelongToAreas = finalObj != null
+ && finalControlAreas.stream()
+ .anyMatch(area -> StellBereichExtensions
+ .isInControlArea(area, finalObj));
+ final boolean isInitialObjBelongToAreas = initalObj != null
+ && initalControlAreas.stream()
+ .anyMatch(area -> StellBereichExtensions
+ .isInControlArea(area, initalObj));
+ if (isFinalObjBelongToAreas && isInitialObjBelongToAreas) {
+ return;
+ }
+
+ if (!isFinalObjBelongToAreas && !isInitialObjBelongToAreas) {
+ group.getRows().clear();
+ }
+
+ if (isFinalObjBelongToAreas) {
+ group.getRows()
+ .forEach(row -> handleTableRowNotBelongToArea()
+ .accept(row, TableType.INITIAL));
+ }
+
+ if (isInitialObjBelongToAreas) {
+ group.getRows()
+ .forEach(row -> handleTableRowNotBelongToArea()
+ .accept(row, TableType.FINAL));
+ }
+ group.getRows()
+ .removeIf(row -> row.getCells().isEmpty() || row.getCells()
.stream()
- .filter(cell -> cell
- .getContent() instanceof CompareStateCellContent)
- .forEach(cell -> {
- final CompareStateCellContent compareCellContent = (CompareStateCellContent) cell
- .getContent();
- if (tableType == TableType.INITIAL) {
- cell.setContent(
- compareCellContent.getOldValue());
- } else if (tableType == TableType.FINAL) {
- cell.setContent(
- compareCellContent.getNewValue());
- }
- }));
+ .allMatch(cell -> cell.getContent() == null));
+ });
+ }
+
+ private static BiConsumer handleTableRowNotBelongToArea() {
+ return (final TableRow row, final TableType missingObjTableType) -> row
+ .getCells()
+ .forEach(cell -> {
+ if (cell instanceof final CompareStateCellContent compareCellContent) {
+ cell.setContent(missingObjTableType == TableType.INITIAL
+ ? compareCellContent.getNewValue()
+ : compareCellContent.getOldValue());
+ return;
+ }
+ final CompareStateCellContent compareContent = TablemodelFactory.eINSTANCE
+ .createCompareStateCellContent();
+ switch (missingObjTableType) {
+ case INITIAL: {
+ compareContent.setNewValue(cell.getContent());
+ break;
+ }
+ case FINAL:
+ compareContent.setOldValue(cell.getContent());
+ break;
+ default:
+ throw new IllegalArgumentException();
+ }
+ compareContent.setNewValue(cell.getContent());
+ final Optional separator = EObjectExtensions
+ .getNullableObject(cell.getContent(),
+ CellContent::getSeparator);
+ if (separator.isPresent()) {
+ compareContent.setSeparator(separator.get());
+ }
+ cell.setContent(compareContent);
+ });
+ }
+
+ private static Table filterTableByState(final Table table,
+ final TableType tableType) {
+ if (tableType == TableType.DIFF || tableType == TableType.SINGLE) {
+ return table;
}
- return result;
+ final Table result = EcoreUtil.copy(table);
+ final List compareStateRows = TableExtensions
+ .getTableRows(result)
+ .stream()
+ .filter(row -> row.getCells()
+ .stream()
+ .map(TableCell::getContent)
+ .anyMatch(CompareStateCellContent.class::isInstance))
+ .toList();
+ if (compareStateRows.isEmpty()) {
+ return table;
+ }
+ compareStateRows.forEach(row -> row.getCells()
+ .stream()
+ .filter(cell -> cell
+ .getContent() instanceof CompareStateCellContent)
+ .forEach(cell -> {
+ final CompareStateCellContent compareCellContent = (CompareStateCellContent) cell
+ .getContent();
+ if (tableType == TableType.INITIAL) {
+ cell.setContent(compareCellContent.getOldValue());
+ } else if (tableType == TableType.FINAL) {
+ cell.setContent(compareCellContent.getNewValue());
+ }
+ }));
+ return result;
}
private void saveTableToCache(final Table table,
final IModelSession modelSession, final String shortCut) {
- final String threadName = String.format("%s/saveCache/%s", shortCut); //$NON-NLS-1$
+ final String threadName = String.format("%s/saveCache", shortCut); //$NON-NLS-1$
final PlanPro2TableTransformationService modelService = getModelService(
shortCut);
// It will create a separate transformation for each table state, which
diff --git a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/BedienBezirkExtensions.xtend b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/BedienBezirkExtensions.xtend
index 2061efaf85..ef06b576ab 100644
--- a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/BedienBezirkExtensions.xtend
+++ b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/BedienBezirkExtensions.xtend
@@ -13,6 +13,7 @@ import org.eclipse.set.model.planpro.Bedienung.Bedien_Bezirk
import org.eclipse.set.model.planpro.Bedienung.Bedien_Zentrale
import static extension org.eclipse.set.ppmodel.extensions.ESTW_ZentraleinheitExtensions.*
+import static extension org.eclipse.set.ppmodel.extensions.StellBereichExtensions.*
/**
* Extensions for {@link Bedien_Bezirk}.
@@ -34,6 +35,6 @@ class BedienBezirkExtensions extends BasisObjektExtensions {
return bedienBezirk.container.ESTWZentraleinheit.filterNull.filter [
bedienBezirkVirtuell === bedienBezirk ||
bedienBezirkZentral === bedienBezirk
- ].exists[StellBereichExtensions.isInControlArea(controlArea, it)]
+ ].exists[isInControlArea(controlArea, it)]
}
}
From 7684b60b3b0ba0ad0c0ae785f74a68a6c722a0c7 Mon Sep 17 00:00:00 2001
From: Quang Truong
Date: Thu, 15 Jan 2026 13:37:43 +0100
Subject: [PATCH 6/9] Update
---
.../set/feature/table/ToolboxTableView.java | 2 +-
.../table/internal/TableServiceImpl.java | 76 +++++++++----------
.../set/services/table/TableService.java | 2 +-
3 files changed, 40 insertions(+), 40 deletions(-)
diff --git a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/ToolboxTableView.java b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/ToolboxTableView.java
index 2be18f648b..8bef6295e2 100644
--- a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/ToolboxTableView.java
+++ b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/ToolboxTableView.java
@@ -916,7 +916,7 @@ private void subcribeTriggerResortEvent() {
.size()
&& triggeredEvents
.containsAll(triggerComparisonEvent)) {
- tableService.sortTable(table, tableType, tableInfo);
+ tableService.sortTable(table, tableInfo);
tableInstances.clear();
tableInstances.addAll(
TableExtensions.getTableRows(table));
diff --git a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
index d8de8d4977..21e41fecd9 100644
--- a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
+++ b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
@@ -192,8 +192,8 @@ void removeDiffService(final TableCompareType compareType) {
private Table createDiffTable(final TableInfo tableInfo,
final IModelSession modelSession) {
final PlanPro2TableTransformationService modelService = getModelService(
- extractShortcut(elementId));
-
+ tableInfo);
+
final Table startTable = modelService
.transform(PlanProSchnittstelleExtensions.getContainer(
modelSession.getPlanProSchnittstelle(),
@@ -331,6 +331,7 @@ private void saveTableError(final TableInfo tableInfo,
final IModelSession modelSession,
final Collection errors) {
final String shortName = getTableNameInfo(tableInfo).getShortName();
+ final String shortCut = tableInfo.shortcut();
errors.forEach(error -> error.setSource(shortName));
if (modelSession.getTableType() == TableType.SINGLE) {
getCacheService()
@@ -371,7 +372,7 @@ private Object loadTransform(final TableInfo tableInfo,
final PlanPro2TableTransformationService modelService = getModelService(
tableInfo);
Table transformedTable = null;
- transformedTable = createDiffTable(elementId, modelSession);
+ transformedTable = createDiffTable(tableInfo, modelSession);
modelService.format(transformedTable);
// final MultiContainer_AttributeGroup container = modelSession
// .getContainer(tableType.getContainerForTable());
@@ -391,8 +392,8 @@ private Object loadTransform(final TableInfo tableInfo,
}
// sorting
- sortTable(transformedTable, tableType, tableInfo);
- saveTableToCache(transformedTable, modelSession, shortCut);
+ sortTable(transformedTable, tableInfo);
+ saveTableToCache(transformedTable, modelSession, tableInfo);
return transformedTable;
}
@@ -492,8 +493,8 @@ public Table transformToTable(final TableInfo tableInfo,
final Cache cache = getCacheService().getCache(
modelSession.getPlanProSchnittstelle(),
ToolboxConstants.SHORTCUT_TO_TABLE_CACHE_ID);
- final Table table = cache.get(shortCut,
- () -> (Table) loadTransform(elementId, modelSession));
+ final Table table = cache.get(tableInfo.shortcut(),
+ () -> (Table) loadTransform(tableInfo, modelSession));
if (tableType != TableType.DIFF
&& controlAreaIds.stream()
.noneMatch(area -> isContainerContainArea(
@@ -504,13 +505,13 @@ public Table transformToTable(final TableInfo tableInfo,
final Table emptyTable = TablemodelFactory.eINSTANCE.createTable();
emptyTable.setTablecontent(
TablemodelFactory.eINSTANCE.createTableContent());
- getModelService(elementId).buildHeading(emptyTable);
+ getModelService(tableInfo).buildHeading(emptyTable);
return emptyTable;
}
final Table resultTable = filterRequestValue(table, tableType,
modelSession, controlAreaIds);
- sortTable(resultTable, shortCut);
+ sortTable(resultTable, tableInfo);
return resultTable;
// final List> cacheKeys = getCacheKeys(shortCut,
// modelSession, controlAreaIds);
@@ -548,29 +549,29 @@ private static Table filterRequestValue(final Table table,
final Table result = filterTableByState(EcoreUtil.copy(table),
tableType);
- // if (tableType == TableType.DIFF) {
- // filterRowGroupBelongToControlAreaByDiffState(result, modelsession,
- // controlAreaIds);
- // result.getTablecontent()
- // .getRowgroups()
- // .removeIf(group -> group.getRows().isEmpty());
- // return result;
- // }
- //
- // result.getTablecontent().getRowgroups().removeIf(group -> {
- // final Ur_Objekt leadingObj = group.getLeadingObject();
- //
- // final MultiContainer_AttributeGroup container = modelsession
- // .getContainer(tableType.getContainerForTable());
- // final List areas = controlAreaIds.stream()
- // .map(areaId -> getStellBereich(container, areaId))
- // .toList();
- // return !UrObjectExtensions.isPlanningObject(leadingObj)
- // || areas.stream()
- // .noneMatch(area -> StellBereichExtensions
- // .isInControlArea(area, leadingObj));
- //
- // });
+ if (tableType == TableType.DIFF) {
+ filterRowGroupBelongToControlAreaByDiffState(result, modelsession,
+ controlAreaIds);
+ result.getTablecontent()
+ .getRowgroups()
+ .removeIf(group -> group.getRows().isEmpty());
+ return result;
+ }
+
+ result.getTablecontent().getRowgroups().removeIf(group -> {
+ final Ur_Objekt leadingObj = group.getLeadingObject();
+
+ final MultiContainer_AttributeGroup container = modelsession
+ .getContainer(tableType.getContainerForTable());
+ final List areas = controlAreaIds.stream()
+ .map(areaId -> getStellBereich(container, areaId))
+ .toList();
+ return !UrObjectExtensions.isPlanningObject(leadingObj)
+ || areas.stream()
+ .noneMatch(area -> StellBereichExtensions
+ .isInControlArea(area, leadingObj));
+
+ });
result.getTablecontent()
.getRowgroups()
.removeIf(group -> !UrObjectExtensions
@@ -702,7 +703,8 @@ private static Table filterTableByState(final Table table,
private void saveTableToCache(final Table table,
final IModelSession modelSession, final TableInfo tableInfo) {
- final String threadName = String.format("%s/saveCache", tableInfo.shortCut); //$NON-NLS-1$
+ final String threadName = String.format("%s/saveCache", //$NON-NLS-1$
+ tableInfo.shortcut());
final PlanPro2TableTransformationService modelService = getModelService(
tableInfo);
// It will create a separate transformation for each table state, which
@@ -714,12 +716,11 @@ private void saveTableToCache(final Table table,
modelSession.getPlanProSchnittstelle(),
ToolboxConstants.SHORTCUT_TO_TABLE_CACHE_ID);
if (table != null) {
- cache.set(shortCut, table);
+ cache.set(tableInfo.shortcut(), table);
}
saveTableError(tableInfo, modelSession, errors);
};
- if (TableService.isTransformComplete(shortCut,
if (TableService.isTransformComplete(tableInfo,
s -> !s.equalsIgnoreCase(threadName))) {
storageFunc.run();
@@ -896,7 +897,7 @@ public Table createDiffTable(final TableInfo tableInfo,
final Table compareTable = diffServiceMap
.get(TableCompareType.PROJECT)
.createDiffTable(mainSessionTable, compareSessionTable);
- sortTable(compareTable, TableType.DIFF, tableInfo);
+ sortTable(compareTable, tableInfo);
return compareTable;
} catch (final Exception e) {
dialogService.error(Display.getCurrent().getActiveShell(),
@@ -908,8 +909,7 @@ public Table createDiffTable(final TableInfo tableInfo,
}
@Override
- public void sortTable(final Table table, final TableType tableType,
- final TableInfo tableInfo) {
+ public void sortTable(final Table table, final TableInfo tableInfo) {
final Comparator comparator = getModelService(tableInfo)
.getRowGroupComparator();
ECollections.sort(table.getTablecontent().getRowgroups(), comparator);
diff --git a/java/bundles/org.eclipse.set.services/src/org/eclipse/set/services/table/TableService.java b/java/bundles/org.eclipse.set.services/src/org/eclipse/set/services/table/TableService.java
index 0c1d0de1a5..fc8d2845bb 100644
--- a/java/bundles/org.eclipse.set.services/src/org/eclipse/set/services/table/TableService.java
+++ b/java/bundles/org.eclipse.set.services/src/org/eclipse/set/services/table/TableService.java
@@ -209,7 +209,7 @@ Table createDiffTable(TableInfo tableInfo, TableType tableType,
* @param tableInfo
* the {@link TableInfo}
*/
- void sortTable(Table table, TableType tableType, TableInfo tableInfo);
+ void sortTable(Table table, TableInfo tableInfo);
/**
* @param tableInfo
From 656e45ff58c1ed9eec8e9cf4d759b516798f0bdc Mon Sep 17 00:00:00 2001
From: TruongQuangSB
Date: Fri, 16 Jan 2026 11:23:56 +0100
Subject: [PATCH 7/9] Update filter value
---
.../table/internal/TableServiceImpl.java | 133 +++++++++---------
...tiContainer_AttributeGroupExtensions.xtend | 2 +-
.../extensions/UrObjectExtensions.xtend | 16 ++-
3 files changed, 78 insertions(+), 73 deletions(-)
diff --git a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
index 21e41fecd9..8ec4f3b362 100644
--- a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
+++ b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
@@ -26,6 +26,7 @@
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.BiConsumer;
+import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
@@ -66,6 +67,7 @@
import org.eclipse.set.model.tablemodel.TableCell;
import org.eclipse.set.model.tablemodel.TableRow;
import org.eclipse.set.model.tablemodel.TablemodelFactory;
+import org.eclipse.set.model.tablemodel.extensions.CellContentExtensions;
import org.eclipse.set.model.tablemodel.extensions.TableCellExtensions;
import org.eclipse.set.model.tablemodel.extensions.TableExtensions;
import org.eclipse.set.model.tablemodel.extensions.TableRowExtensions;
@@ -189,7 +191,7 @@ void removeDiffService(final TableCompareType compareType) {
}
}
- private Table createDiffTable(final TableInfo tableInfo,
+ private Table createDiffStateTable(final TableInfo tableInfo,
final IModelSession modelSession) {
final PlanPro2TableTransformationService modelService = getModelService(
tableInfo);
@@ -372,20 +374,8 @@ private Object loadTransform(final TableInfo tableInfo,
final PlanPro2TableTransformationService modelService = getModelService(
tableInfo);
Table transformedTable = null;
- transformedTable = createDiffTable(tableInfo, modelSession);
+ transformedTable = createDiffStateTable(tableInfo, modelSession);
modelService.format(transformedTable);
- // final MultiContainer_AttributeGroup container = modelSession
- // .getContainer(tableType.getContainerForTable());
- // if (controlAreaId == null
- // || isContainerContainArea(container, controlAreaId)) {
- // transformedTable = modelService.transform(container);
- // } else {
- // // Create empty table
- // transformedTable = TablemodelFactory.eINSTANCE.createTable();
- // transformedTable.setTablecontent(
- // TablemodelFactory.eINSTANCE.createTableContent());
- // modelService.buildHeading(transformedTable);
- // }
if (Thread.currentThread().isInterrupted()
|| transformedTable == null) {
return MissingSupplier.MISSING_VALUE;
@@ -495,7 +485,7 @@ public Table transformToTable(final TableInfo tableInfo,
ToolboxConstants.SHORTCUT_TO_TABLE_CACHE_ID);
final Table table = cache.get(tableInfo.shortcut(),
() -> (Table) loadTransform(tableInfo, modelSession));
- if (tableType != TableType.DIFF
+ if (tableType != TableType.DIFF && !controlAreaIds.isEmpty()
&& controlAreaIds.stream()
.noneMatch(area -> isContainerContainArea(
modelSession.getContainer(
@@ -511,35 +501,9 @@ public Table transformToTable(final TableInfo tableInfo,
final Table resultTable = filterRequestValue(table, tableType,
modelSession, controlAreaIds);
+ clearEmptyRow(resultTable);
sortTable(resultTable, tableInfo);
return resultTable;
- // final List> cacheKeys = getCacheKeys(shortCut,
- // modelSession, controlAreaIds);
- // for (final Pair cacheKey : cacheKeys) {
- // final String areaId = cacheKey.getKey();
- // final String areaCacheKey = cacheKey.getValue();
- // Table table = (Table) cache.getIfPresent(areaCacheKey);
- //
- // if (table == null) {
- // table = (Table) loadTransform(shortCut, tableType, modelSession,
- // areaId);
- // saveTableToCache(table, modelSession, containerId, shortCut,
- // tableType, areaCacheKey);
- // }
- // if (resultTable == null) {
- // resultTable = EcoreUtil.copy(table);
- // } else {
- // for (final RowGroup rowGroup : table.getTablecontent()
- // .getRowgroups()) {
- // TableExtensions.addRowGroup(resultTable, rowGroup);
- // }
- // }
- // }
- //
- // // sorting
- // if (resultTable != null && resultTable.getTablecontent() != null) {
- // sortTable(resultTable, tableType, shortCut);
- // }
}
@@ -554,51 +518,54 @@ private static Table filterRequestValue(final Table table,
controlAreaIds);
result.getTablecontent()
.getRowgroups()
- .removeIf(group -> group.getRows().isEmpty());
+ .removeIf(group -> !UrObjectExtensions
+ .isPlanningObject(group.getLeadingObject()));
return result;
}
result.getTablecontent().getRowgroups().removeIf(group -> {
- final Ur_Objekt leadingObj = group.getLeadingObject();
-
+ final Pair initalFinalObj = getInitalFinalObj(
+ group.getLeadingObject(), modelsession);
+ final Ur_Objekt leadingObj = tableType == TableType.FINAL
+ ? initalFinalObj.getValue()
+ : initalFinalObj.getKey();
final MultiContainer_AttributeGroup container = modelsession
.getContainer(tableType.getContainerForTable());
final List areas = controlAreaIds.stream()
.map(areaId -> getStellBereich(container, areaId))
.toList();
return !UrObjectExtensions.isPlanningObject(leadingObj)
- || areas.stream()
+ || !areas.isEmpty() && areas.stream()
.noneMatch(area -> StellBereichExtensions
.isInControlArea(area, leadingObj));
});
- result.getTablecontent()
- .getRowgroups()
- .removeIf(group -> !UrObjectExtensions
- .isPlanningObject(group.getLeadingObject()));
return result;
}
private static void filterRowGroupBelongToControlAreaByDiffState(
final Table result, final IModelSession modelsession,
final Set controlAreaIds) {
- final MultiContainer_AttributeGroup initalContainer = modelsession
- .getContainer(ContainerType.INITIAL);
+ if (controlAreaIds.isEmpty()) {
+ return;
+ }
final List initalControlAreas = controlAreaIds.stream()
.map(areaId -> getStellBereich(
modelsession.getContainer(ContainerType.INITIAL),
areaId))
+ .filter(Objects::nonNull)
.toList();
final List finalControlAreas = controlAreaIds.stream()
- .map(areaId -> getStellBereich(initalContainer, areaId))
+ .map(areaId -> getStellBereich(
+ modelsession.getContainer(ContainerType.FINAL), areaId))
+ .filter(Objects::nonNull)
.toList();
result.getTablecontent().getRowgroups().forEach(group -> {
- final Ur_Objekt finalObj = group.getLeadingObject();
- final Ur_Objekt initalObj = finalObj == null
- ? group.getLeadingObject()
- : MultiContainer_AttributeGroupExtensions.getObject(
- initalContainer, finalObj.getClass(),
- finalObj.getIdentitaet().getWert());
+ final Pair initalFinalObj = getInitalFinalObj(
+ group.getLeadingObject(), modelsession);
+ final Ur_Objekt initalObj = initalFinalObj.getKey();
+ final Ur_Objekt finalObj = initalFinalObj.getValue();
+
final boolean isFinalObjBelongToAreas = finalObj != null
&& finalControlAreas.stream()
.anyMatch(area -> StellBereichExtensions
@@ -626,21 +593,35 @@ private static void filterRowGroupBelongToControlAreaByDiffState(
.forEach(row -> handleTableRowNotBelongToArea()
.accept(row, TableType.FINAL));
}
- group.getRows()
- .removeIf(row -> row.getCells().isEmpty() || row.getCells()
- .stream()
- .allMatch(cell -> cell.getContent() == null));
});
}
+ private static Pair getInitalFinalObj(
+ final Ur_Objekt leadingObj, final IModelSession modelSession) {
+ final Function getObjInContainer = containerType -> {
+ final ContainerType currentType = UrObjectExtensions
+ .getContainerType(leadingObj);
+ final MultiContainer_AttributeGroup targetContainer = modelSession
+ .getContainer(containerType);
+ return currentType == containerType ? leadingObj
+ : MultiContainer_AttributeGroupExtensions.getObject(
+ targetContainer, leadingObj.getClass(),
+ leadingObj.getIdentitaet().getWert());
+ };
+ return new Pair<>(getObjInContainer.apply(ContainerType.INITIAL),
+ getObjInContainer.apply(ContainerType.FINAL));
+ }
+
private static BiConsumer handleTableRowNotBelongToArea() {
return (final TableRow row, final TableType missingObjTableType) -> row
.getCells()
.forEach(cell -> {
- if (cell instanceof final CompareStateCellContent compareCellContent) {
- cell.setContent(missingObjTableType == TableType.INITIAL
- ? compareCellContent.getNewValue()
- : compareCellContent.getOldValue());
+ if (cell.getContent() instanceof final CompareStateCellContent compareCellContent) {
+ if (missingObjTableType == TableType.INITIAL) {
+ compareCellContent.setOldValue(null);
+ } else {
+ compareCellContent.setNewValue(null);
+ }
return;
}
final CompareStateCellContent compareContent = TablemodelFactory.eINSTANCE
@@ -656,7 +637,6 @@ private static BiConsumer handleTableRowNotBelongToArea() {
default:
throw new IllegalArgumentException();
}
- compareContent.setNewValue(cell.getContent());
final Optional separator = EObjectExtensions
.getNullableObject(cell.getContent(),
CellContent::getSeparator);
@@ -701,6 +681,23 @@ private static Table filterTableByState(final Table table,
return result;
}
+ private static void clearEmptyRow(final Table table) {
+ table.getTablecontent()
+ .getRowgroups()
+ .forEach(group -> group.getRows()
+ .removeIf(row -> row.getCells().isEmpty() || row
+ .getCells()
+ .stream()
+ .allMatch(cell -> cell.getContent() == null
+ || CellContentExtensions
+ .getPlainStringValue(
+ cell.getContent())
+ .isEmpty())));
+ table.getTablecontent()
+ .getRowgroups()
+ .removeIf(group -> group.getRows().isEmpty());
+ }
+
private void saveTableToCache(final Table table,
final IModelSession modelSession, final TableInfo tableInfo) {
final String threadName = String.format("%s/saveCache", //$NON-NLS-1$
diff --git a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/MultiContainer_AttributeGroupExtensions.xtend b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/MultiContainer_AttributeGroupExtensions.xtend
index 6d5edd300f..9a5419d002 100644
--- a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/MultiContainer_AttributeGroupExtensions.xtend
+++ b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/MultiContainer_AttributeGroupExtensions.xtend
@@ -81,7 +81,7 @@ class MultiContainer_AttributeGroupExtensions {
throw new IllegalArgumentException('''PlanProSchinttStelle not contains LST_Zustand: «lstZustand.identitaet.wert»''')
}
-
+
def static PlanPro_Schnittstelle getPlanProSchnittstelle(
MultiContainer_AttributeGroup container) {
val lstZustand = container.firstLSTZustand
diff --git a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/UrObjectExtensions.xtend b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/UrObjectExtensions.xtend
index f6e69332cf..636157e1b3 100644
--- a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/UrObjectExtensions.xtend
+++ b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/UrObjectExtensions.xtend
@@ -10,6 +10,7 @@ package org.eclipse.set.ppmodel.extensions
import org.eclipse.emf.ecore.EObject
import org.eclipse.set.basis.cache.Cache
+import org.eclipse.set.basis.constants.ContainerType
import org.eclipse.set.core.services.Services
import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Basisobjekte.Ur_Objekt
@@ -17,6 +18,7 @@ import org.eclipse.set.model.planpro.PlanPro.LST_Zustand
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle
import org.eclipse.set.utils.ToolboxConfiguration
+import static extension org.eclipse.set.ppmodel.extensions.MultiContainer_AttributeGroupExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.StellBereichExtensions.*
/**
@@ -35,15 +37,17 @@ class UrObjectExtensions extends BasisAttributExtensions {
}
def static Cache getCache(Ur_Objekt object, String cacheKey) {
- val service = ToolboxConfiguration.isDevelopmentMode ? Services.
- noCacheService : Services.cacheService
+ val service = ToolboxConfiguration.isDevelopmentMode
+ ? Services.noCacheService
+ : Services.cacheService
return service.getCache(object.planProSchnittstelle, cacheKey)
}
def static Cache getCache(Ur_Objekt object, String containerIdCacheId,
String cacheKey) {
- val service = ToolboxConfiguration.isDevelopmentMode ? Services.
- noCacheService : Services.cacheService
+ val service = ToolboxConfiguration.isDevelopmentMode
+ ? Services.noCacheService
+ : Services.cacheService
return service.getCache(object.planProSchnittstelle, cacheKey,
containerIdCacheId)
}
@@ -104,4 +108,8 @@ class UrObjectExtensions extends BasisAttributExtensions {
return objects.filter[area.isInControlArea(it)]
}
+
+ def static ContainerType getContainerType(Ur_Objekt obj) {
+ return obj.container.containerType
+ }
}
From 96140b38c59773f5bd3ac6470b5774e0e2aad5c9 Mon Sep 17 00:00:00 2001
From: TruongQuangSB
Date: Fri, 16 Jan 2026 11:32:27 +0100
Subject: [PATCH 8/9] Ignore filter ControlArea by ETCS table
---
.../table/internal/TableServiceImpl.java | 81 ++++++++++---------
1 file changed, 41 insertions(+), 40 deletions(-)
diff --git a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
index 8ec4f3b362..b4b519f838 100644
--- a/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
+++ b/java/bundles/org.eclipse.set.feature.table/src/org/eclipse/set/feature/table/internal/TableServiceImpl.java
@@ -499,8 +499,8 @@ public Table transformToTable(final TableInfo tableInfo,
return emptyTable;
}
- final Table resultTable = filterRequestValue(table, tableType,
- modelSession, controlAreaIds);
+ final Table resultTable = filterRequestValue(EcoreUtil.copy(table),
+ tableInfo, tableType, modelSession, controlAreaIds);
clearEmptyRow(resultTable);
sortTable(resultTable, tableInfo);
return resultTable;
@@ -508,11 +508,13 @@ public Table transformToTable(final TableInfo tableInfo,
}
private static Table filterRequestValue(final Table table,
- final TableType tableType, final IModelSession modelsession,
+ final TableInfo tableInfo, final TableType tableType,
+ final IModelSession modelsession,
final Set controlAreaIds) {
- final Table result = filterTableByState(EcoreUtil.copy(table),
- tableType);
-
+ final Table result = filterTableByState(table, tableType);
+ if (tableInfo.category() == Pt1TableCategory.ETCS) {
+ return result;
+ }
if (tableType == TableType.DIFF) {
filterRowGroupBelongToControlAreaByDiffState(result, modelsession,
controlAreaIds);
@@ -543,6 +545,39 @@ private static Table filterRequestValue(final Table table,
return result;
}
+ private static Table filterTableByState(final Table table,
+ final TableType tableType) {
+ if (tableType == TableType.DIFF || tableType == TableType.SINGLE) {
+ return table;
+ }
+
+ final List compareStateRows = TableExtensions
+ .getTableRows(table)
+ .stream()
+ .filter(row -> row.getCells()
+ .stream()
+ .map(TableCell::getContent)
+ .anyMatch(CompareStateCellContent.class::isInstance))
+ .toList();
+ if (compareStateRows.isEmpty()) {
+ return table;
+ }
+ compareStateRows.forEach(row -> row.getCells()
+ .stream()
+ .filter(cell -> cell
+ .getContent() instanceof CompareStateCellContent)
+ .forEach(cell -> {
+ final CompareStateCellContent compareCellContent = (CompareStateCellContent) cell
+ .getContent();
+ if (tableType == TableType.INITIAL) {
+ cell.setContent(compareCellContent.getOldValue());
+ } else if (tableType == TableType.FINAL) {
+ cell.setContent(compareCellContent.getNewValue());
+ }
+ }));
+ return table;
+ }
+
private static void filterRowGroupBelongToControlAreaByDiffState(
final Table result, final IModelSession modelsession,
final Set controlAreaIds) {
@@ -647,40 +682,6 @@ private static BiConsumer handleTableRowNotBelongToArea() {
});
}
- private static Table filterTableByState(final Table table,
- final TableType tableType) {
- if (tableType == TableType.DIFF || tableType == TableType.SINGLE) {
- return table;
- }
-
- final Table result = EcoreUtil.copy(table);
- final List compareStateRows = TableExtensions
- .getTableRows(result)
- .stream()
- .filter(row -> row.getCells()
- .stream()
- .map(TableCell::getContent)
- .anyMatch(CompareStateCellContent.class::isInstance))
- .toList();
- if (compareStateRows.isEmpty()) {
- return table;
- }
- compareStateRows.forEach(row -> row.getCells()
- .stream()
- .filter(cell -> cell
- .getContent() instanceof CompareStateCellContent)
- .forEach(cell -> {
- final CompareStateCellContent compareCellContent = (CompareStateCellContent) cell
- .getContent();
- if (tableType == TableType.INITIAL) {
- cell.setContent(compareCellContent.getOldValue());
- } else if (tableType == TableType.FINAL) {
- cell.setContent(compareCellContent.getNewValue());
- }
- }));
- return result;
- }
-
private static void clearEmptyRow(final Table table) {
table.getTablecontent()
.getRowgroups()
From c6d31ddce78ffb22443338fb470929e46a5d0354 Mon Sep 17 00:00:00 2001
From: TruongQuangSB
Date: Fri, 16 Jan 2026 11:56:30 +0100
Subject: [PATCH 9/9] fix build error
---
.../eclipse/set/feature/table/pt1/sskp/SskpTransformator.xtend | 1 -
.../eclipse/set/feature/table/pt1/ssld/SsldTransformator.xtend | 1 -
.../eclipse/set/feature/table/pt1/sszs/SszsTransformator.xtend | 1 -
3 files changed, 3 deletions(-)
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformator.xtend
index a901ea6341..acadd5b8d2 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformator.xtend
@@ -71,7 +71,6 @@ class SskpTransformator extends AbstractPlanPro2TableModelTransformator {
override transformTableContent(MultiContainer_AttributeGroup container,
TMFactory factory) {
- val topGraph = new TopGraph(container.TOPKante)
for (PZB_Element pzb : container.PZBElement.filter [
PZBElementGUE?.IDPZBElementMitnutzung?.value === null
]) {
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssld/SsldTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssld/SsldTransformator.xtend
index 96d0eada85..3f25367636 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssld/SsldTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssld/SsldTransformator.xtend
@@ -111,7 +111,6 @@ class SsldTransformator extends AbstractPlanPro2TableModelTransformator {
MultiContainer_AttributeGroup container,
TMFactory factory
) {
- val topGraph = new TopGraph(container.TOPKante)
val fstDwegList = container.fstrDWeg
// var footnoteNumber = 1;
diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszs/SszsTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszs/SszsTransformator.xtend
index bbd530264f..02e52431f3 100644
--- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszs/SszsTransformator.xtend
+++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszs/SszsTransformator.xtend
@@ -79,7 +79,6 @@ class SszsTransformator extends AbstractPlanPro2TableModelTransformator {
override transformTableContent(MultiContainer_AttributeGroup container,
TMFactory factory) {
- val topGraph = new TopGraph(container.TOPKante)
for (etcsSignal : container.ETCSSignal) {
val refSignal = etcsSignal.IDSignal?.value
val row = factory.newTableRow(etcsSignal)