Skip to content

Commit

Permalink
Sszw: fill value by column L and M
Browse files Browse the repository at this point in the history
  • Loading branch information
TruongQuangSB committed Dec 20, 2024
1 parent 03e8261 commit c22c46a
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public class SszwColumns {
/**
* Sszw.Ansteuerung.ESTW_Zentraleinheit
*/
public static final String ESTW_Zentraleinheit = "L";
public static final String Zentraleinheit = "L";

/**
* Sszw.Ansteuerung.Stellbereich
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import org.eclipse.set.core.services.Services
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.ESTW_Zentraleinheit
import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich
import org.eclipse.set.model.planpro.Balisentechnik_ETCS.ETCS_W_Kr
import org.eclipse.set.model.planpro.BasisTypen.ENUMLinksRechts
Expand All @@ -34,7 +35,9 @@ import static org.eclipse.set.feature.table.pt1.sszw.SszwColumns.*
import static org.eclipse.set.model.planpro.BasisTypen.ENUMLinksRechts.*
import static org.eclipse.set.model.planpro.Weichen_und_Gleissperren.ENUMWKrArt.*

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.ESTW_ZentraleinheitExtensions.*
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.*
Expand Down Expand Up @@ -235,21 +238,38 @@ class SszwTransformator extends AbstractPlanPro2TableModelTransformator {
// L: Sszw.Ansteuerung.ESTW_Zentraleinheit
fill(
row,
cols.getColumn(ESTW_Zentraleinheit),
etcsWkr,
cols.getColumn(Zentraleinheit),
refWKrAnlage,
[
// TODO
"TODO"
WKrGspElemente.flatMap [ gsp |
gsp.aussenelementansteuerung.IDInformationPrimaer
].filterNull.map[value].filter(ESTW_Zentraleinheit).map [
oertlichkeitNamensgebend?.bezeichnung?.
oertlichkeitAbkuerzung?.wert
]
return ""
]
)

// M: Sszw.Ansteuerung.Stellbereich
fill(
fillIterable(
row,
cols.getColumn(Stellbereich),
etcsWkr,
[
stellbereich.oertlichkeitBezeichnung ?: ""
]
val outsideControl = WKrGspElements.map [ gsp |
gsp.aussenelementansteuerung
]
if (!outsideControl.flatMap[stellBereich].isNullOrEmpty) {
return outsideControl.map [
oertlichkeitNamensgebend.bezeichnung?.
oertlichkeitAbkuerzung?.wert ?:
bezeichnung?.bezeichnungAEA?.wert
]
}
return List.of(stellbereich.oertlichkeitBezeichnung)
],
null
)

// N: Sszw.Bemerkung
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,4 +111,8 @@ class AussenelementansteuerungExtensions extends BasisObjektExtensions {
def static boolean isBelongToControlArea(Aussenelementansteuerung aussenElement, Stell_Bereich area) {
return area.aussenElementAnsteuerung == aussenElement;
}

def static List<Stell_Bereich> getStellBereich(Aussenelementansteuerung aussenElement) {
return aussenElement.container.stellBereich.filter[area | aussenElement.isBelongToControlArea(area)].toList
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import org.eclipse.set.model.planpro.Ansteuerung_Element.Stell_Bereich

import static extension org.eclipse.set.ppmodel.extensions.StellBereichExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.AussenelementansteuerungExtensions.*
import org.eclipse.set.model.planpro.Geodaten.Oertlichkeit

/**
* Extensions for {@link ESTW_Zentraleinheit}.
Expand Down Expand Up @@ -66,6 +67,10 @@ class ESTW_ZentraleinheitExtensions extends BasisObjektExtensions {
ESTW_Zentraleinheit estw_zentraleinheit) {
return estw_zentraleinheit.IDBedienBezirkVirtuell?.value
}

def static Oertlichkeit getOertlichkeitNamensgebend(ESTW_Zentraleinheit estw_zentraleinheit) {
return estw_zentraleinheit?.IDOertlichkeitNamensgebend?.value
}

/**
* @param estw_zentraleinheit this ESTW_Zentraleinheit
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import static extension org.eclipse.set.ppmodel.extensions.PunktObjektExtensions
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.TopKnotenExtensions.*
import org.eclipse.set.model.planpro.Ansteuerung_Element.Aussenelementansteuerung

/**
* This class extends {@link W_Kr_Gsp_Element}.
Expand Down Expand Up @@ -204,7 +205,11 @@ class WKrGspElementExtensions extends BasisObjektExtensions {

def static boolean isBelongToControlArea(W_Kr_Gsp_Element gspElement,
Stell_Bereich controlArea) {
return gspElement.IDStellelement?.value?.IDInformation?.value ===
return gspElement.aussenelementansteuerung ===
controlArea.aussenElementAnsteuerung
}

def static Aussenelementansteuerung getAussenelementansteuerung(W_Kr_Gsp_Element gspElement) {
return gspElement.IDStellelement?.value?.IDInformation?.value
}
}

0 comments on commit c22c46a

Please sign in to comment.