Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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=??

Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -784,7 +784,7 @@ private void bindBundleLocalization(
public String ToolboxTableNameSslsShort;

/**
* Signaltabelle 2
* Signalisierungstabelle
*/
public String ToolboxTableNameSslsLong;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;

Expand All @@ -37,6 +39,12 @@ public class SignalingSection {
private final List<Fstr_Zug_Rangier> allTrainRoute;
private final int MAXIMAL_ROUTE_SECTION = 4;

private static final List<ENUMFiktivesSignalFunktion> 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}
Expand All @@ -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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -23,7 +23,8 @@
*/
@Component(service = PartDescriptionService.class, property = {
"devMode=true" })
public class SslsDescriptionService extends AbstractESTWTableDescription {
public class SslsDescriptionService
extends AbstractESTWSupplementTableDesciption {
@Reference
Messages messages;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,16 @@ private void transform(final TMFactory factory,
final SignalingSection signalingSection) {
final Signal startSignal = signalingSection.getStartSignal();
final RowFactory rg = factory.newRowGroup(startSignal);
// Only add "Stop" entry row if signal is not fiktiv
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<SignalingRouteSection> abschnitte = new ArrayList<>(
signalingSection.getSignalingRouteSections());

Expand Down
Loading