@@ -30,7 +30,6 @@ import org.eclipse.set.model.planpro.Basisobjekte.Basis_Objekt
30
30
import org.eclipse.set.model.planpro.Basisobjekte.Punkt_Objekt
31
31
import org.eclipse.set.model.planpro.Fahrstrasse.Markanter_Punkt
32
32
import org.eclipse.set.model.planpro.Geodaten.Strecke
33
- import org.eclipse.set.model.planpro.Gleis.Gleis_Bezeichnung
34
33
import org.eclipse.set.model.planpro.Ortung.FMA_Anlage
35
34
import org.eclipse.set.model.planpro.Ortung.FMA_Komponente
36
35
import org.eclipse.set.model.planpro.Ortung.Zugeinwirkung
@@ -53,7 +52,6 @@ import static extension org.eclipse.set.ppmodel.extensions.DatenpunktExtensions.
53
52
import static extension org.eclipse.set.ppmodel.extensions.FmaAnlageExtensions.*
54
53
import static extension org.eclipse.set.ppmodel.extensions.PunktObjektExtensions.*
55
54
import static extension org.eclipse.set.ppmodel.extensions.PunktObjektTopKanteExtensions.*
56
- import static extension org.eclipse.set.ppmodel.extensions.StellBereichExtensions.*
57
55
import static extension org.eclipse.set.ppmodel.extensions.TopKanteExtensions.*
58
56
import static extension org.eclipse.set.ppmodel.extensions.UrObjectExtensions.*
59
57
import static extension org.eclipse.set.ppmodel.extensions.utils.IterableExtensions.*
@@ -150,90 +148,92 @@ class SszaTransformator extends AbstractPlanPro2TableModelTransformator {
150
148
return counts. max. toString
151
149
]
152
150
)
153
-
154
- // F: Ssza.Bezugspunkt.Bezeichnung
155
- fillSwitch(
156
- cols. getColumn(Bezugspunkt_Bezeichnung ),
157
- dpBezug,
158
- bezugspunktCase(
159
- BUE_Anlage ,
160
- [bezeichnung? . bezeichnungTabelle? . wert]
161
- ),
162
- bezugspunktCaseIterable(
163
- BUE_Einschaltung ,
164
- [
165
- schaltmittelZuordnung. map [
166
- ' ' ' «schaltmittelFunktion?.translate» «getSwitchName(IDSchalter?.value)»' ' '
151
+ if (dpBezug !== null ) {
152
+ // F: Ssza.Bezugspunkt.Bezeichnung
153
+ fillSwitch(
154
+ cols. getColumn(Bezugspunkt_Bezeichnung ),
155
+ dpBezug,
156
+ bezugspunktCase(
157
+ BUE_Anlage ,
158
+ [bezeichnung? . bezeichnungTabelle? . wert]
159
+ ),
160
+ bezugspunktCaseIterable(
161
+ BUE_Einschaltung ,
162
+ [
163
+ schaltmittelZuordnung. map [
164
+ ' ' ' «schaltmittelFunktion?.translate» «getSwitchName(IDSchalter?.value)»' ' '
165
+ ]
167
166
]
168
- ]
169
- ),
170
- bezugspunktCase(
171
- BUE_Kante ,
172
- [
173
- val bos = container. bereichObjekt
174
- val relevantBereichs = bos. filter[bo|bo. contains(it )].
175
- filter(Gleis_Bezeichnung ). toList
176
- val tracksDesignation = relevantBereichs. filterNull. map [
177
- bezeichnung? . bezGleisBezeichnung? . wert
167
+ ),
168
+ bezugspunktCase(
169
+ BUE_Kante ,
170
+ [
171
+ val relevantBereichs = container. gleisBezeichnung. filter [ bo |
172
+ bo. contains(it )
173
+ ]. toList
174
+ val tracksDesignation = relevantBereichs. filterNull. map [
175
+ bezeichnung? . bezGleisBezeichnung? . wert
176
+ ]
177
+ ' ' ' BÜ-K «IDBUEAnlage?.value?.bezeichnung?.bezeichnungTabelle?.wert»«
178
+ »«IF !tracksDesignation.nullOrEmpty», Gl. «tracksDesignation.join(", ")»«ENDIF»' ' '
178
179
]
179
- ' ' ' BÜ-K «IDBUEAnlage?.value?.bezeichnung?.bezeichnungTabelle?.wert», Gl. «tracksDesignation.join(", ")»' ' '
180
- ]
181
- ),
182
- bezugspunktCase(
183
- PZB_Element ,
184
- [
185
- ' ' ' GM «PZBArt?.translate» «IDPZBElementZuordnung?.value?.PZBElementZuordnungBP?.map[fillBezugsElement(IDPZBElementBezugspunkt?.value)].join»' ' '
186
- ]
187
- ),
188
- bezugspunktCase(
189
- ZUB_Streckeneigenschaft ,
190
- [bezeichnung? . bezeichnungZUBSE? . wert]
191
- ),
192
- bezugspunktCase(
193
- Markanter_Punkt ,
194
- [bezeichnung? . bezeichnungMarkanterPunkt? . wert]
195
- )
196
- )
197
- var List<Pair<Strecke , String > > dpBezugStreckeAndKm = newLinkedList
198
- try {
199
- dpBezugStreckeAndKm. addAll(datenpunkt. getStreckeAndKm(dpBezug))
200
- } catch (Exception e) {
201
- handleFillingException(e, it ,
202
- cols. getColumn(Bezugspunkt_Standort_Strecke ))
203
- handleFillingException(e, it ,
204
- cols. getColumn(Bezugspunkt_Standort_km ))
205
- handleFillingException(e, it , cols. getColumn(Bemerkung ))
206
- }
207
- if (! dpBezugStreckeAndKm. nullOrEmpty) {
208
- // G: Ssza.Bezugspunkt.Standort.Strecke
209
- fillIterable(
210
- cols. getColumn(Bezugspunkt_Standort_Strecke ),
211
- dpBezugStreckeAndKm,
212
- [map[key? . bezeichnung? . bezeichnungStrecke? . wert]. filterNull],
213
- MIXED_STRING_COMPARATOR
214
- )
215
-
216
- // H: Ssza.Bezugspunkt.Standort.km
217
- fillIterable(
218
- cols. getColumn(Bezugspunkt_Standort_km ),
219
- dpBezugStreckeAndKm,
220
- [map[value]],
221
- MIXED_STRING_COMPARATOR
222
- )
223
-
224
- val firstStreckekm = dpBezugStreckeAndKm. firstOrNull? . value
225
- // O: Ssza.Bemerkung
226
- fillConditional(
227
- cols. getColumn(Bemerkung ),
228
- datenpunkt,
229
- [
230
- ZUB_Streckeneigenschaft . isInstance(it ) &&
231
- (it as ZUB_Streckeneigenschaft ). metallteil !== null
232
- ],
233
- [
234
- firstStreckekm ?: " "
235
- ]
180
+ ),
181
+ bezugspunktCase(
182
+ PZB_Element ,
183
+ [
184
+ ' ' ' GM «PZBArt?.translate» «IDPZBElementZuordnung?.value?.PZBElementZuordnungBP?.map[fillBezugsElement(IDPZBElementBezugspunkt?.value)].join»' ' '
185
+ ]
186
+ ),
187
+ bezugspunktCase(
188
+ ZUB_Streckeneigenschaft ,
189
+ [bezeichnung? . bezeichnungZUBSE? . wert]
190
+ ),
191
+ bezugspunktCase(
192
+ Markanter_Punkt ,
193
+ [bezeichnung? . bezeichnungMarkanterPunkt? . wert]
194
+ )
236
195
)
196
+ var List<Pair<Strecke , String > > dpBezugStreckeAndKm = newLinkedList
197
+ try {
198
+ dpBezugStreckeAndKm. addAll(datenpunkt. getStreckeAndKm(dpBezug))
199
+ } catch (Exception e) {
200
+ handleFillingException(e, it ,
201
+ cols. getColumn(Bezugspunkt_Standort_Strecke ))
202
+ handleFillingException(e, it ,
203
+ cols. getColumn(Bezugspunkt_Standort_km ))
204
+ handleFillingException(e, it , cols. getColumn(Bemerkung ))
205
+ }
206
+ if (! dpBezugStreckeAndKm. nullOrEmpty) {
207
+ // G: Ssza.Bezugspunkt.Standort.Strecke
208
+ fillIterable(
209
+ cols. getColumn(Bezugspunkt_Standort_Strecke ),
210
+ dpBezugStreckeAndKm,
211
+ [map[key? . bezeichnung? . bezeichnungStrecke? . wert]. filterNull],
212
+ MIXED_STRING_COMPARATOR
213
+ )
214
+
215
+ // H: Ssza.Bezugspunkt.Standort.km
216
+ fillIterable(
217
+ cols. getColumn(Bezugspunkt_Standort_km ),
218
+ dpBezugStreckeAndKm,
219
+ [map[value]],
220
+ MIXED_STRING_COMPARATOR
221
+ )
222
+
223
+ val firstStreckekm = dpBezugStreckeAndKm. firstOrNull? . value
224
+ // O: Ssza.Bemerkung
225
+ fillConditional(
226
+ cols. getColumn(Bemerkung ),
227
+ datenpunkt,
228
+ [
229
+ ZUB_Streckeneigenschaft . isInstance(it ) &&
230
+ (it as ZUB_Streckeneigenschaft ). metallteil !== null
231
+ ],
232
+ [
233
+ firstStreckekm ?: " "
234
+ ]
235
+ )
236
+ }
237
237
}
238
238
239
239
// J: Ssza.DP-Standort.Stellbereich
@@ -425,7 +425,11 @@ class SszaTransformator extends AbstractPlanPro2TableModelTransformator {
425
425
]
426
426
427
427
return new Case<Basis_Objekt > (
428
- [clazz. exists[isInstance(it )]],
428
+ [
429
+ clazz. exists [ c |
430
+ c. isInstance(it )
431
+ ]
432
+ ],
429
433
action. andThen(filling),
430
434
ITERABLE_FILLING_SEPARATOR ,
431
435
null
@@ -439,9 +443,9 @@ class SszaTransformator extends AbstractPlanPro2TableModelTransformator {
439
443
result. add(b. relevantAreaControl)
440
444
ZUB_Streckeneigenschaft :
441
445
result. add(b. mostOverlapControlArea)
442
- default :
446
+ Punkt_Objekt :
443
447
result. addAll(b. container. stellBereich. filter [
444
- isInControlArea (b)
448
+ contains (b)
445
449
])
446
450
}
447
451
return result. map[stellbereichBezeichnung]. filterNull
0 commit comments