diff --git a/java/bundles/org.eclipse.set.feature.siteplan/src/org/eclipse/set/feature/siteplan/transform/TrackSwitchLeg.xtend b/java/bundles/org.eclipse.set.feature.siteplan/src/org/eclipse/set/feature/siteplan/transform/TrackSwitchLeg.xtend index 8ea065cf0..b79f00254 100644 --- a/java/bundles/org.eclipse.set.feature.siteplan/src/org/eclipse/set/feature/siteplan/transform/TrackSwitchLeg.xtend +++ b/java/bundles/org.eclipse.set.feature.siteplan/src/org/eclipse/set/feature/siteplan/transform/TrackSwitchLeg.xtend @@ -233,7 +233,7 @@ class TrackSwitchLeg { } } - if (length === null || length === BigDecimal.ZERO) { + if (length === null || length.compareTo(BigDecimal.ZERO) === 0) { length = DEFAULT_TRACKSWITCH_LEG_LENGTH } } diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszw/SszwTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszw/SszwTransformator.xtend index afa270d21..622148cfc 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszw/SszwTransformator.xtend +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszw/SszwTransformator.xtend @@ -164,10 +164,10 @@ class SszwTransformator extends AbstractPlanPro2TableModelTransformator { [isSimpleTrackSwitch], [ punktObjektTOPKante.exists [ potk | - (potk.abstand.wert === BigDecimal.ZERO && + (potk.abstand.wert.compareTo(BigDecimal.ZERO) === 0 && potk.topKante.TOPAnschlussA === ENUMTOPAnschluss.ENUMTOP_ANSCHLUSS_LINKS) || - (potk.abstand.wert !== BigDecimal.ZERO && + (potk.abstand.wert.compareTo(BigDecimal.ZERO) !== 0 && potk.topKante.TOPAnschlussB === ENUMTOPAnschluss.ENUMTOP_ANSCHLUSS_LINKS) ] @@ -179,10 +179,10 @@ class SszwTransformator extends AbstractPlanPro2TableModelTransformator { [isSimpleTrackSwitch], [ punktObjektTOPKante.exists [ potk | - (potk.abstand.wert === BigDecimal.ZERO && + (potk.abstand.wert.compareTo(BigDecimal.ZERO) === 0 && potk.topKante.TOPAnschlussA === ENUMTOPAnschluss.ENUMTOP_ANSCHLUSS_RECHTS) || - (potk.abstand.wert !== BigDecimal.ZERO && + (potk.abstand.wert.compareTo(BigDecimal.ZERO) !== 0 && potk.topKante.TOPAnschlussB === ENUMTOPAnschluss.ENUMTOP_ANSCHLUSS_RECHTS) @@ -331,9 +331,9 @@ class SszwTransformator extends AbstractPlanPro2TableModelTransformator { IDAussenelementansteuerung?.value === outsideControl ]) { return #[ - outsideControl.oertlichkeitNamensgebend.bezeichnung?. + outsideControl?.oertlichkeitNamensgebend?.bezeichnung?. oertlichkeitAbkuerzung?.wert ?: - outsideControl.bezeichnung?.bezeichnungAEA?.wert] + outsideControl?.bezeichnung?.bezeichnungAEA?.wert] } return #[stellbereich?.oertlichkeitBezeichnung].filterNull ], @@ -460,6 +460,9 @@ class SszwTransformator extends AbstractPlanPro2TableModelTransformator { val gspKomponent = gspElement?.WKrGspKomponenten?.findFirst [ zungenpaar?.kreuzungsgleis?.wert === leftRightCross ] + if (gspKomponent === null) { + return ""; + } return allowSpeedEKW_DKW?.apply(gspKomponent)?.toString ?: "" } case ENUMW_KR_ART_ABW, @@ -472,6 +475,9 @@ class SszwTransformator extends AbstractPlanPro2TableModelTransformator { case ENUMW_KR_ART_KR, case ENUMW_KR_ART_SONSTIGE: { val gspKomponent = gspElement?.WKrGspKomponenten?.firstOrNull + if (gspKomponent === null) { + return ""; + } return allowSpeed?.apply(gspKomponent)?.toString ?: "" } default: diff --git a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/BereichObjektExtensions.xtend b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/BereichObjektExtensions.xtend index a258cfe11..694051966 100644 --- a/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/BereichObjektExtensions.xtend +++ b/java/bundles/org.eclipse.set.ppmodel.extensions/src/org/eclipse/set/ppmodel/extensions/BereichObjektExtensions.xtend @@ -563,14 +563,14 @@ class BereichObjektExtensions extends BasisObjektExtensions { // The teilbereich have same TOP_Kante with the point if (sameTopKante) { val clone = EcoreUtil.copy(teilbereich) - if (teilbereich.begrenzungA.wert !== BigDecimal.ZERO) { + if (teilbereich.begrenzungA.wert.compareTo(BigDecimal.ZERO) != 0) { val tolerantLimitA = teilbereich.begrenzungA.wert - tolerantBigDecimal clone.begrenzungA.wert = tolerantLimitA <= BigDecimal.ZERO ? BigDecimal.ZERO : tolerantLimitA } - if (teilbereich.begrenzungB.wert !== teilBereichTopKante.laenge) { + if (teilbereich.begrenzungB.wert.compareTo(teilBereichTopKante.laenge) != 0) { val tolerantLimitB = teilbereich.begrenzungB.wert + tolerantBigDecimal clone.begrenzungB.wert = tolerantLimitB >= @@ -580,8 +580,8 @@ class BereichObjektExtensions extends BasisObjektExtensions { } val isContains = clone.contains(singlePoint) - if (clone.begrenzungA.wert === BigDecimal.ZERO && - clone.begrenzungB.wert === teilBereichTopKante.laenge && + if (clone.begrenzungA.wert.compareTo(BigDecimal.ZERO) === 0 && + clone.begrenzungB.wert.compareTo(teilBereichTopKante.laenge) == 0 && !isContains) { throw new IllegalArgumentException('''The TOP_Kante: «teilbereich.IDTOPKante.wert» should contain the Punkt_Objekt: «singlePoint.identitaet»''') }