From c79fc986e8d19824e6d2fbc8ce01914266262099 Mon Sep 17 00:00:00 2001 From: Quang Truong Date: Thu, 23 Jul 2026 18:11:34 +0200 Subject: [PATCH 1/2] Sxxx split column C and addition ref obj designation dertermine --- .../feature/table/pt1/sxxx/SxxxColumns.java | 13 +- .../pt1/sxxx/SxxxTransformationService.java | 11 +- .../table/pt1/sxxx/SxxxTransformator.java | 173 +++++++++++++++--- .../data/export/excel/sxxx_vorlage.xlsx | Bin 21501 -> 21870 bytes .../extensions/FootnoteExtensions.java | 2 +- 5 files changed, 163 insertions(+), 36 deletions(-) diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxColumns.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxColumns.java index 8d604585cc..fd6f9366db 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxColumns.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxColumns.java @@ -26,12 +26,17 @@ public class SxxxColumns { public static final String Text_Content = "B"; /** - * C: Referenziert von Objekt + * C: Referenziert von Objekt Art */ - public static final String Reference_Object = "C"; + public static final String Reference_Object_Art = "C"; /** - * D: Ausgabe in Plan + * D: Referenziert von Objekt Bezeichnung */ - public static final String Visualation_In_Table = "D"; + public static final String Reference_Object_Bezeichnung = "D"; + + /** + * E: Ausgabe in Plan + */ + public static final String Visualation_In_Table = "E"; } diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxTransformationService.java index 7fc021779a..84a50e7045 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxTransformationService.java @@ -86,7 +86,7 @@ public Comparator getRowGroupComparator( final TableType tableType) { return TableRowGroupComparator.builder(tableType) .sort(SxxxColumns.Text_Content, LEXICOGRAPHICAL, ASC) - .sort(SxxxColumns.Reference_Object, LEXICOGRAPHICAL, ASC) + .sort(SxxxColumns.Reference_Object_Art, LEXICOGRAPHICAL, ASC) .build(); } @@ -96,10 +96,11 @@ public ColumnDescriptor fillHeaderDescriptions( final ColumnDescriptor cd = super.fillHeaderDescriptions(builder); // only merge on column A cd.setMergeCommonValues(RowMergeMode.ENABLED); - List.of(SxxxColumns.Reference_Object, SxxxColumns.Visualation_In_Table) - .forEach(it -> getColumnDescriptor(it).ifPresent(col -> { - col.setMergeCommonValues(RowMergeMode.DISABLED); - })); + List.of(SxxxColumns.Reference_Object_Art, + SxxxColumns.Reference_Object_Bezeichnung, + SxxxColumns.Visualation_In_Table) + .forEach(it -> getColumnDescriptor(it).ifPresent(col -> col + .setMergeCommonValues(RowMergeMode.DISABLED))); return cd; } diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxTransformator.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxTransformator.java index 62c168c449..ca803cd4f0 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxTransformator.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxTransformator.java @@ -14,26 +14,42 @@ import static org.eclipse.set.ppmodel.extensions.EObjectExtensions.getNullableObject; import java.util.List; +import java.util.Objects; import java.util.Set; +import java.util.stream.Collectors; import org.eclipse.emf.ecore.EObject; +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.feature.table.pt1.sskp.SskpTransformator; 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.Stellelement; import org.eclipse.set.model.planpro.BasisTypen.BasisAttribut_AttributeGroup; import org.eclipse.set.model.planpro.BasisTypen.ID_Bearbeitungsvermerk_TypeClass; import org.eclipse.set.model.planpro.Basisobjekte.Bearbeitungsvermerk; import org.eclipse.set.model.planpro.Bedienung.Bedien_Einrichtung_Oertlich; +import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_DWeg; +import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_Fahrweg; +import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_Zug_Rangier; +import org.eclipse.set.model.planpro.Fahrstrasse.Markanter_Punkt; import org.eclipse.set.model.planpro.Ortung.FMA_Anlage; import org.eclipse.set.model.planpro.Ortung.FMA_Komponente; import org.eclipse.set.model.planpro.Ortung.Zugeinwirkung; +import org.eclipse.set.model.planpro.PZB.PZB_Element; import org.eclipse.set.model.planpro.Signale.Signal; +import org.eclipse.set.model.planpro.Signale.Signal_Signalbegriff; import org.eclipse.set.model.tablemodel.ColumnDescriptor; import org.eclipse.set.model.tablemodel.Table; import org.eclipse.set.model.tablemodel.TableRow; +import org.eclipse.set.model.tablemodel.extensions.FootnoteExtensions; import org.eclipse.set.ppmodel.extensions.AussenelementansteuerungExtensions; +import org.eclipse.set.ppmodel.extensions.DwegExtensions; import org.eclipse.set.ppmodel.extensions.EObjectExtensions; +import org.eclipse.set.ppmodel.extensions.FahrwegExtensions; +import org.eclipse.set.ppmodel.extensions.FstrZugRangierExtensions; +import org.eclipse.set.ppmodel.extensions.PZBElementExtensions; import org.eclipse.set.ppmodel.extensions.UrObjectExtensions; import org.eclipse.set.ppmodel.extensions.container.MultiContainer_AttributeGroup; import org.eclipse.set.utils.EnumeratorExtensions; @@ -116,12 +132,17 @@ public Table transformTableContent( row.setRowObject(referencedBy); fillBearbeitungsvermerkContent(row, bv); + final Pair refObjInfo = getReferenceObjDesignation( + referencedBy); + // C: Referenziert von Objects Art + fill(row, getColumn(cols, Reference_Object_Art), bv, + note -> refObjInfo.getFirst()); - // C: Referenziert von Objects - fill(row, getColumn(cols, Reference_Object), bv, - note -> getReferenceObjDesignation(referencedBy)); + // D: Referenziert von Objects Bezeichnung + fill(row, getColumn(cols, Reference_Object_Bezeichnung), bv, + note -> refObjInfo.getSecond()); - // D: Ausgabe in Plan + // E: Ausgabe in Plan // Will fill later in TableService } @@ -153,38 +174,138 @@ private void fillBearbeitungsvermerkContent(final TableRow row, } @SuppressWarnings("nls") - private static String getReferenceObjDesignation(final EObject refObj) { + private Pair getReferenceObjDesignation( + final EObject refObj) { final String typeName = UrObjectExtensions.getTypeName(refObj) .replace("_TypeClass", ""); final String objDesignation = switch (refObj) { case final Aussenelementansteuerung aussenelement -> AussenelementansteuerungExtensions .getElementBezeichnung(aussenelement); - case final Bedien_Einrichtung_Oertlich beo -> getNullableObject(beo, - e -> e.getBezeichnung() - .getBedienEinrichtOertlBez() - .getWert()).orElse(""); + case final Bedien_Einrichtung_Oertlich beo -> getRefObjectBezeichnung( + beo); case final ESTW_Zentraleinheit estwZentral -> AussenelementansteuerungExtensions .getElementBezeichnung(estwZentral); - case final FMA_Anlage fmaAnlage -> getNullableObject(fmaAnlage, - fma -> fma.getFMAAnlageKaskade() - .getFMAKaskadeBezeichnung() - .getWert()).orElse(""); - case final FMA_Komponente fmaKomponent -> getNullableObject( - fmaKomponent, - fma -> fma.getBezeichnung() - .getBezeichnungTabelle() - .getWert()).orElse(""); - case final Signal signal -> getNullableObject(signal, - s -> s.getBezeichnung().getBezeichnungTabelle().getWert()) - .orElse(""); - case final Zugeinwirkung ein -> getNullableObject(ein, - e -> e.getBezeichnung().getBezeichnungTabelle().getWert()) - .orElse(""); + case final FMA_Anlage fmaAnlage -> getRefObjectBezeichnung( + fmaAnlage); + case final FMA_Komponente fmaKomponent -> getRefObjectBezeichnung( + fmaKomponent); + case final Fstr_DWeg fstrDweg -> getRefObjectBezeichnung(fstrDweg); + case final Fstr_Zug_Rangier fstrZugR -> getRefObjectBezeichnung( + fstrZugR); + case final Markanter_Punkt markanterPunkt -> getRefObjectBezeichnung( + markanterPunkt); + case final Stellelement stellelement -> getRefObjectBezeichnung( + stellelement); + case final Signal signal -> getRefObjectBezeichnung(signal); + case final Signal_Signalbegriff signalBegriff -> getRefObjectBezeichnung( + signalBegriff); + case final PZB_Element pzb -> getRefObjectBezeichnung(pzb); + case final Zugeinwirkung ein -> getRefObjectBezeichnung(ein); default -> ""; }; if (objDesignation != null && !objDesignation.isEmpty()) { - return typeName + " " + objDesignation; + return new Pair<>(typeName, objDesignation); } - return typeName; + return new Pair<>(typeName, ""); + } + + @SuppressWarnings("static-method") + private String getRefObjectBezeichnung( + final Bedien_Einrichtung_Oertlich beo) { + return getNullableObject(beo, + e -> e.getBezeichnung().getBedienEinrichtOertlBez().getWert()) + .orElse(""); //$NON-NLS-1$ + } + + @SuppressWarnings("static-method") + private String getRefObjectBezeichnung(final FMA_Anlage fmaAnlage) { + return getNullableObject(fmaAnlage, + fma -> fma.getFMAAnlageKaskade() + .getFMAKaskadeBezeichnung() + .getWert()).orElse(""); //$NON-NLS-1$ + } + + @SuppressWarnings("static-method") + private String getRefObjectBezeichnung(final FMA_Komponente fmaKomponente) { + return getNullableObject(fmaKomponente, + fma -> fma.getBezeichnung().getBezeichnungTabelle().getWert()) + .orElse(""); //$NON-NLS-1$ + } + + @SuppressWarnings("static-method") + private String getRefObjectBezeichnung(final Signal signal) { + return getNullableObject(signal, + s -> s.getBezeichnung().getBezeichnungTabelle().getWert()) + .orElse(""); //$NON-NLS-1$ + } + + @SuppressWarnings("static-method") + private String getRefObjectBezeichnung(final Zugeinwirkung ein) { + return getNullableObject(ein, + e -> e.getBezeichnung().getBezeichnungTabelle().getWert()) + .orElse(""); //$NON-NLS-1$ + } + + @SuppressWarnings("static-method") + private String getRefObjectBezeichnung( + final Signal_Signalbegriff signalBegriff) { + return getNullableObject(signalBegriff, + s -> FootnoteExtensions + .getSignalBregiffIDName(s.getSignalbegriffID())) + .orElse(""); //$NON-NLS-1$ + } + + @SuppressWarnings("static-method") + private String getRefObjectBezeichnung(final Stellelement stellelement) { + return getNullableObject(stellelement, + s -> AussenelementansteuerungExtensions + .getElementBezeichnung(s.getIDInformation().getValue())) + .orElse(""); //$NON-NLS-1$ + } + + @SuppressWarnings("static-method") + private String getRefObjectBezeichnung(final Fstr_Zug_Rangier fstrZugR) { + if (FstrZugRangierExtensions.isR(fstrZugR)) { + return getNullableObject(fstrZugR, + fstr -> FstrZugRangierExtensions + .getRangierFstrBezeichnung(fstr, f -> Boolean.TRUE)) + .orElse(""); //$NON-NLS-1$ + } else if (FstrZugRangierExtensions.isZ(fstrZugR)) { + return getNullableObject(fstrZugR, fstr -> FstrZugRangierExtensions + .getZugFstrBezeichnung(fstr, f -> Boolean.TRUE)).orElse(""); //$NON-NLS-1$ + } + return ""; //$NON-NLS-1$ + } + + private String getRefObjectBezeichnung(final Fstr_DWeg fstrDweg) { + final Fstr_Fahrweg fstrFahrweg = DwegExtensions + .getFstrFahrweg(fstrDweg); + final Signal start = FahrwegExtensions.getStart(fstrFahrweg); + final String zielPunktBezeichung = getRefObjectBezeichnung( + FahrwegExtensions.getZielPunkt(fstrFahrweg)); + return String.format("%s/%s", getRefObjectBezeichnung(start), //$NON-NLS-1$ + zielPunktBezeichung); + + } + + @SuppressWarnings("static-method") + private String getRefObjectBezeichnung( + final Markanter_Punkt markanterPunkt) { + return getNullableObject(markanterPunkt, + p -> p.getBezeichnung() + .getBezeichnungMarkanterPunkt() + .getWert()).orElse(""); //$NON-NLS-1$ + } + + private String getRefObjectBezeichnung(final PZB_Element pzb) { + final String bezugpunkBeizechnung = PZBElementExtensions + .getPZBElementBezugspunkt(pzb) + .stream() + .filter(Objects::nonNull) + .map(SskpTransformator::fillBezugsElement) + .collect(Collectors.joining(System.lineSeparator())); + final String wirkfrequenz = getNullableObject(pzb, + p -> translate(pzb.getPZBArt())).orElse(""); //$NON-NLS-1$ + return String.format("%s - %s", bezugpunkBeizechnung, wirkfrequenz); //$NON-NLS-1$ } } diff --git a/java/bundles/org.eclipse.set.feature/rootdir/data/export/excel/sxxx_vorlage.xlsx b/java/bundles/org.eclipse.set.feature/rootdir/data/export/excel/sxxx_vorlage.xlsx index e68e9ed05f21c6a02e5698c960b418a9ed2582d2..b363c1a0a74281b13bfff0b9bdc7443881a3c7bd 100644 GIT binary patch delta 5829 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 M0WIFR*6(8e2Nc%fD*ylh delta 5460 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 diff --git a/java/bundles/org.eclipse.set.model.tablemodel.extensions/src/org/eclipse/set/model/tablemodel/extensions/FootnoteExtensions.java b/java/bundles/org.eclipse.set.model.tablemodel.extensions/src/org/eclipse/set/model/tablemodel/extensions/FootnoteExtensions.java index 588ab6f9a4..18ef65f362 100644 --- a/java/bundles/org.eclipse.set.model.tablemodel.extensions/src/org/eclipse/set/model/tablemodel/extensions/FootnoteExtensions.java +++ b/java/bundles/org.eclipse.set.model.tablemodel.extensions/src/org/eclipse/set/model/tablemodel/extensions/FootnoteExtensions.java @@ -194,7 +194,7 @@ public static void fillSxxxTableColumnD(final Table sxxxTable, private static void fillValue(final TableRow row, final String value) { // IMPROVE: the get row cell is hard code - final CellContent content = row.getCells().get(3).getContent(); + final CellContent content = row.getCells().get(4).getContent(); if (content == null) { final StringCellContent cellContent = TablemodelFactory.eINSTANCE .createStringCellContent(); From f584fe67a002027992917517a3c4fdef7313b338 Mon Sep 17 00:00:00 2001 From: TruongQuangSB <131350493+TruongQuangSB@users.noreply.github.com> Date: Fri, 24 Jul 2026 18:29:56 +0200 Subject: [PATCH 2/2] revert dertermin object designation --- .../table/pt1/sxxx/SxxxTransformator.java | 154 +++--------------- 1 file changed, 20 insertions(+), 134 deletions(-) diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxTransformator.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxTransformator.java index ca803cd4f0..d6e11277f3 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxTransformator.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxTransformator.java @@ -14,42 +14,27 @@ import static org.eclipse.set.ppmodel.extensions.EObjectExtensions.getNullableObject; import java.util.List; -import java.util.Objects; import java.util.Set; -import java.util.stream.Collectors; import org.eclipse.emf.ecore.EObject; 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.feature.table.pt1.sskp.SskpTransformator; 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.Stellelement; import org.eclipse.set.model.planpro.BasisTypen.BasisAttribut_AttributeGroup; import org.eclipse.set.model.planpro.BasisTypen.ID_Bearbeitungsvermerk_TypeClass; import org.eclipse.set.model.planpro.Basisobjekte.Bearbeitungsvermerk; import org.eclipse.set.model.planpro.Bedienung.Bedien_Einrichtung_Oertlich; -import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_DWeg; -import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_Fahrweg; -import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_Zug_Rangier; -import org.eclipse.set.model.planpro.Fahrstrasse.Markanter_Punkt; import org.eclipse.set.model.planpro.Ortung.FMA_Anlage; import org.eclipse.set.model.planpro.Ortung.FMA_Komponente; import org.eclipse.set.model.planpro.Ortung.Zugeinwirkung; -import org.eclipse.set.model.planpro.PZB.PZB_Element; import org.eclipse.set.model.planpro.Signale.Signal; -import org.eclipse.set.model.planpro.Signale.Signal_Signalbegriff; import org.eclipse.set.model.tablemodel.ColumnDescriptor; import org.eclipse.set.model.tablemodel.Table; import org.eclipse.set.model.tablemodel.TableRow; -import org.eclipse.set.model.tablemodel.extensions.FootnoteExtensions; import org.eclipse.set.ppmodel.extensions.AussenelementansteuerungExtensions; -import org.eclipse.set.ppmodel.extensions.DwegExtensions; import org.eclipse.set.ppmodel.extensions.EObjectExtensions; -import org.eclipse.set.ppmodel.extensions.FahrwegExtensions; -import org.eclipse.set.ppmodel.extensions.FstrZugRangierExtensions; -import org.eclipse.set.ppmodel.extensions.PZBElementExtensions; import org.eclipse.set.ppmodel.extensions.UrObjectExtensions; import org.eclipse.set.ppmodel.extensions.container.MultiContainer_AttributeGroup; import org.eclipse.set.utils.EnumeratorExtensions; @@ -174,33 +159,34 @@ private void fillBearbeitungsvermerkContent(final TableRow row, } @SuppressWarnings("nls") - private Pair getReferenceObjDesignation( + private static Pair getReferenceObjDesignation( final EObject refObj) { final String typeName = UrObjectExtensions.getTypeName(refObj) .replace("_TypeClass", ""); final String objDesignation = switch (refObj) { case final Aussenelementansteuerung aussenelement -> AussenelementansteuerungExtensions .getElementBezeichnung(aussenelement); - case final Bedien_Einrichtung_Oertlich beo -> getRefObjectBezeichnung( - beo); + case final Bedien_Einrichtung_Oertlich beo -> getNullableObject(beo, + e -> e.getBezeichnung() + .getBedienEinrichtOertlBez() + .getWert()).orElse(""); case final ESTW_Zentraleinheit estwZentral -> AussenelementansteuerungExtensions .getElementBezeichnung(estwZentral); - case final FMA_Anlage fmaAnlage -> getRefObjectBezeichnung( - fmaAnlage); - case final FMA_Komponente fmaKomponent -> getRefObjectBezeichnung( - fmaKomponent); - case final Fstr_DWeg fstrDweg -> getRefObjectBezeichnung(fstrDweg); - case final Fstr_Zug_Rangier fstrZugR -> getRefObjectBezeichnung( - fstrZugR); - case final Markanter_Punkt markanterPunkt -> getRefObjectBezeichnung( - markanterPunkt); - case final Stellelement stellelement -> getRefObjectBezeichnung( - stellelement); - case final Signal signal -> getRefObjectBezeichnung(signal); - case final Signal_Signalbegriff signalBegriff -> getRefObjectBezeichnung( - signalBegriff); - case final PZB_Element pzb -> getRefObjectBezeichnung(pzb); - case final Zugeinwirkung ein -> getRefObjectBezeichnung(ein); + case final FMA_Anlage fmaAnlage -> getNullableObject(fmaAnlage, + fma -> fma.getFMAAnlageKaskade() + .getFMAKaskadeBezeichnung() + .getWert()).orElse(""); + case final FMA_Komponente fmaKomponent -> getNullableObject( + fmaKomponent, + fma -> fma.getBezeichnung() + .getBezeichnungTabelle() + .getWert()).orElse(""); + case final Signal signal -> getNullableObject(signal, + s -> s.getBezeichnung().getBezeichnungTabelle().getWert()) + .orElse(""); + case final Zugeinwirkung ein -> getNullableObject(ein, + e -> e.getBezeichnung().getBezeichnungTabelle().getWert()) + .orElse(""); default -> ""; }; if (objDesignation != null && !objDesignation.isEmpty()) { @@ -208,104 +194,4 @@ private Pair getReferenceObjDesignation( } return new Pair<>(typeName, ""); } - - @SuppressWarnings("static-method") - private String getRefObjectBezeichnung( - final Bedien_Einrichtung_Oertlich beo) { - return getNullableObject(beo, - e -> e.getBezeichnung().getBedienEinrichtOertlBez().getWert()) - .orElse(""); //$NON-NLS-1$ - } - - @SuppressWarnings("static-method") - private String getRefObjectBezeichnung(final FMA_Anlage fmaAnlage) { - return getNullableObject(fmaAnlage, - fma -> fma.getFMAAnlageKaskade() - .getFMAKaskadeBezeichnung() - .getWert()).orElse(""); //$NON-NLS-1$ - } - - @SuppressWarnings("static-method") - private String getRefObjectBezeichnung(final FMA_Komponente fmaKomponente) { - return getNullableObject(fmaKomponente, - fma -> fma.getBezeichnung().getBezeichnungTabelle().getWert()) - .orElse(""); //$NON-NLS-1$ - } - - @SuppressWarnings("static-method") - private String getRefObjectBezeichnung(final Signal signal) { - return getNullableObject(signal, - s -> s.getBezeichnung().getBezeichnungTabelle().getWert()) - .orElse(""); //$NON-NLS-1$ - } - - @SuppressWarnings("static-method") - private String getRefObjectBezeichnung(final Zugeinwirkung ein) { - return getNullableObject(ein, - e -> e.getBezeichnung().getBezeichnungTabelle().getWert()) - .orElse(""); //$NON-NLS-1$ - } - - @SuppressWarnings("static-method") - private String getRefObjectBezeichnung( - final Signal_Signalbegriff signalBegriff) { - return getNullableObject(signalBegriff, - s -> FootnoteExtensions - .getSignalBregiffIDName(s.getSignalbegriffID())) - .orElse(""); //$NON-NLS-1$ - } - - @SuppressWarnings("static-method") - private String getRefObjectBezeichnung(final Stellelement stellelement) { - return getNullableObject(stellelement, - s -> AussenelementansteuerungExtensions - .getElementBezeichnung(s.getIDInformation().getValue())) - .orElse(""); //$NON-NLS-1$ - } - - @SuppressWarnings("static-method") - private String getRefObjectBezeichnung(final Fstr_Zug_Rangier fstrZugR) { - if (FstrZugRangierExtensions.isR(fstrZugR)) { - return getNullableObject(fstrZugR, - fstr -> FstrZugRangierExtensions - .getRangierFstrBezeichnung(fstr, f -> Boolean.TRUE)) - .orElse(""); //$NON-NLS-1$ - } else if (FstrZugRangierExtensions.isZ(fstrZugR)) { - return getNullableObject(fstrZugR, fstr -> FstrZugRangierExtensions - .getZugFstrBezeichnung(fstr, f -> Boolean.TRUE)).orElse(""); //$NON-NLS-1$ - } - return ""; //$NON-NLS-1$ - } - - private String getRefObjectBezeichnung(final Fstr_DWeg fstrDweg) { - final Fstr_Fahrweg fstrFahrweg = DwegExtensions - .getFstrFahrweg(fstrDweg); - final Signal start = FahrwegExtensions.getStart(fstrFahrweg); - final String zielPunktBezeichung = getRefObjectBezeichnung( - FahrwegExtensions.getZielPunkt(fstrFahrweg)); - return String.format("%s/%s", getRefObjectBezeichnung(start), //$NON-NLS-1$ - zielPunktBezeichung); - - } - - @SuppressWarnings("static-method") - private String getRefObjectBezeichnung( - final Markanter_Punkt markanterPunkt) { - return getNullableObject(markanterPunkt, - p -> p.getBezeichnung() - .getBezeichnungMarkanterPunkt() - .getWert()).orElse(""); //$NON-NLS-1$ - } - - private String getRefObjectBezeichnung(final PZB_Element pzb) { - final String bezugpunkBeizechnung = PZBElementExtensions - .getPZBElementBezugspunkt(pzb) - .stream() - .filter(Objects::nonNull) - .map(SskpTransformator::fillBezugsElement) - .collect(Collectors.joining(System.lineSeparator())); - final String wirkfrequenz = getNullableObject(pzb, - p -> translate(pzb.getPZBArt())).orElse(""); //$NON-NLS-1$ - return String.format("%s - %s", bezugpunkBeizechnung, wirkfrequenz); //$NON-NLS-1$ - } }