From 33fb459981d17561468ccf3d48c53b5875feea3a Mon Sep 17 00:00:00 2001 From: Quang Truong Date: Mon, 26 Jan 2026 13:40:38 +0100 Subject: [PATCH 1/3] Ssls: Update tabelle name and category --- .../OSGI-INF/l10n/bundle.properties | 8 ++++---- .../eclipse/set/feature/table/pt1/messages/Messages.java | 8 ++++---- .../feature/table/pt1/ssls/SslsDescriptionService.java | 5 +++-- .../feature/table/pt1/ssls/SslsTransformationService.java | 2 +- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/OSGI-INF/l10n/bundle.properties b/java/bundles/org.eclipse.set.feature.table.pt1/OSGI-INF/l10n/bundle.properties index 605074e20e..b1899e054d 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/OSGI-INF/l10n/bundle.properties +++ b/java/bundles/org.eclipse.set.feature.table.pt1/OSGI-INF/l10n/bundle.properties @@ -177,10 +177,10 @@ SskpDmDescriptionService_ViewName=Sskp_dm – PZB-Tabelle ToolboxTableNameSskpDmShort=Sskp_dm SskpDmTableView_Heading=PZB-Tabelle (Sskp_dm) -SslsDescriptionService_ViewName=Ssls – Signaltabelle 2 -SslsDescriptionService_ViewTooltip=Signaltabelle 2 -SslsTableView_Heading=Signaltabelle 2 – Ssls +SslsDescriptionService_ViewName=Ssls – Signalisierungstabelle +SslsDescriptionService_ViewTooltip=Signalisierungstabelle +SslsTableView_Heading=Signalisierungstabelle – Ssls ToolboxTableNameSslsShort=Ssls -ToolboxTableNameSslsLong=Signaltabelle 2 +ToolboxTableNameSslsLong=Signalisierungstabelle ToolboxTableNameSslsPlanningNumber=?? diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/messages/Messages.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/messages/Messages.java index ff2d195f73..74577e825e 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/messages/Messages.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/messages/Messages.java @@ -764,17 +764,17 @@ private void bindBundleLocalization( public String SskpDmTableView_Heading; /** - * Ssls – Signaltabelle 2 + * Ssls – Signalisierungstabelle */ public String SslsDescriptionService_ViewName; /** - * Signaltabelle 2 + * Signalisierungstabelle */ public String SslsDescriptionService_ViewTooltip; /** - * Signaltabelle 2 – Ssls + * Signalisierungstabelle – Ssls */ public String SslsTableView_Heading; @@ -784,7 +784,7 @@ private void bindBundleLocalization( public String ToolboxTableNameSslsShort; /** - * Signaltabelle 2 + * Signalisierungstabelle */ public String ToolboxTableNameSslsLong; diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsDescriptionService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsDescriptionService.java index ac40cbf56c..7d80ace473 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsDescriptionService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsDescriptionService.java @@ -11,7 +11,7 @@ package org.eclipse.set.feature.table.pt1.ssls; import org.eclipse.set.core.services.part.PartDescriptionService; -import org.eclipse.set.feature.table.AbstractESTWTableDescription; +import org.eclipse.set.feature.table.AbstractESTWSupplementTableDesciption; import org.eclipse.set.feature.table.pt1.messages.Messages; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; @@ -23,7 +23,8 @@ */ @Component(service = PartDescriptionService.class, property = { "devMode=true" }) -public class SslsDescriptionService extends AbstractESTWTableDescription { +public class SslsDescriptionService + extends AbstractESTWSupplementTableDesciption { @Reference Messages messages; diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsTransformationService.java index d2cef44c96..530ba1ccd8 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsTransformationService.java @@ -31,7 +31,7 @@ */ @Component(service = { PlanPro2TableTransformationService.class }, immediate = true, property = { - "table.category=estw", "table.shortcut=ssls", + "table.category=supplement-estw", "table.shortcut=ssls", "table.devMode=true" }) public class SslsTransformationService extends AbstractPlanPro2TableTransformationService { From 8bb194939bfc639f528ae91950bb71de40a7cd5c Mon Sep 17 00:00:00 2001 From: Quang Truong Date: Mon, 26 Jan 2026 13:41:04 +0100 Subject: [PATCH 2/3] Ssls: add special handle for Fiktive Signal --- .../table/pt1/ssls/SignalingSection.java | 23 +++++++++++++++++++ .../table/pt1/ssls/SslsTransformator.java | 15 ++++++++---- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SignalingSection.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SignalingSection.java index 24b2e537f6..b422902d1f 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SignalingSection.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SignalingSection.java @@ -10,6 +10,7 @@ */ package org.eclipse.set.feature.table.pt1.ssls; +import static org.eclipse.set.model.planpro.Signale.ENUMFiktivesSignalFunktion.*; import static org.eclipse.set.ppmodel.extensions.BasisAttributExtensions.getContainer; import java.util.HashSet; @@ -20,6 +21,7 @@ import org.eclipse.set.basis.Pair; import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_Zug_Rangier; +import org.eclipse.set.model.planpro.Signale.ENUMFiktivesSignalFunktion; import org.eclipse.set.model.planpro.Signale.Signal; import org.eclipse.set.ppmodel.extensions.FstrZugRangierExtensions; @@ -37,6 +39,12 @@ public class SignalingSection { private final List allTrainRoute; private final int MAXIMAL_ROUTE_SECTION = 4; + private static final List SPECIAL_HANLDE_FIKTIVE_SIGNAL = List + .of(ENUM_FIKTIVES_SIGNAL_FUNKTION_ZUG_START_AWANST, + ENUM_FIKTIVES_SIGNAL_FUNKTION_FAP_START, + ENUM_FIKTIVES_SIGNAL_FUNKTION_FAP_ZIEL, + ENUM_FIKTIVES_SIGNAL_FUNKTION_ZUG_START_OHNE_SIGNAL); + /** * @param startSignal * the start {@link Signal} @@ -60,9 +68,24 @@ private void determineFstrAbschnitte() { signalingRouteSections.addAll(fstrZugFromStart.stream().map(fstrZug -> { return new SignalingRouteSection(startSignal, fstrZug); }).toList()); + if (isSpecialHandleFiktiveSignal()) { + return; + } fstrZugFromStart.forEach(fstr -> determineFstrAbschnitte(fstr, 1)); } + private boolean isSpecialHandleFiktiveSignal() { + if (startSignal.getSignalFiktiv() == null) { + return false; + } + + return startSignal.getSignalFiktiv() + .getFiktivesSignalFunktion() + .stream() + .anyMatch(func -> SPECIAL_HANLDE_FIKTIVE_SIGNAL + .contains(func.getWert())); + } + private void determineFstrAbschnitte(final Fstr_Zug_Rangier fstrZug, final int sectionCount) { if (sectionCount >= MAXIMAL_ROUTE_SECTION) { 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..0a3e66a173 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 @@ -96,12 +96,17 @@ private void transform(final TMFactory factory, final SignalingSection signalingSection) { final Signal startSignal = signalingSection.getStartSignal(); final RowFactory rg = factory.newRowGroup(startSignal); + // Only "Stop" entry, the single Signal mit the bracketed by for non + // Fiktiv Signal + if (startSignal.getSignalFiktiv() == null) { + fill(rg.newTableRow(), + getColumn(cols, SslsColumns.Signal_Abschnitt), startSignal, + signal -> String.format("(%s)", //$NON-NLS-1$ + signal.getBezeichnung() + .getBezeichnungTabelle() + .getWert())); + } - fill(rg.newTableRow(), getColumn(cols, SslsColumns.Signal_Abschnitt), - startSignal, signal -> String.format("(%s)", //$NON-NLS-1$ - signal.getBezeichnung() - .getBezeichnungTabelle() - .getWert())); final List abschnitte = new ArrayList<>( signalingSection.getSignalingRouteSections()); From 8b744c6b8e5ff64c8c59f9cd2b78b5bb2d64d3bd Mon Sep 17 00:00:00 2001 From: Marius Heine Date: Tue, 27 Jan 2026 09:55:10 +0100 Subject: [PATCH 3/3] improve comment --- .../eclipse/set/feature/table/pt1/ssls/SslsTransformator.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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 0a3e66a173..5b7f39dc7b 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 @@ -96,8 +96,7 @@ private void transform(final TMFactory factory, final SignalingSection signalingSection) { final Signal startSignal = signalingSection.getStartSignal(); final RowFactory rg = factory.newRowGroup(startSignal); - // Only "Stop" entry, the single Signal mit the bracketed by for non - // Fiktiv Signal + // Only add "Stop" entry row if signal is not fiktiv if (startSignal.getSignalFiktiv() == null) { fill(rg.newTableRow(), getColumn(cols, SslsColumns.Signal_Abschnitt), startSignal,