From a7afec84467cbb1c12f20813cf328d8d90cf6d38 Mon Sep 17 00:00:00 2001 From: TruongQuangSB <131350493+TruongQuangSB@users.noreply.github.com> Date: Fri, 11 Sep 2026 12:17:05 +0200 Subject: [PATCH] fix some NPE --- .../core/enumtranslation/EnumTranslationServiceImpl.java | 7 ++++++- .../pt1/AbstractPlanPro2TableModelTransformator.xtend | 2 +- .../set/feature/table/pt1/FootnoteTransformation.xtend | 2 +- .../table/pt1/ssks/AbstractSignalTableTransform.java | 3 +++ .../set/model/tablemodel/extensions/TableExtensions.xtend | 4 ++++ 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/java/bundles/org.eclipse.set.core/src/org/eclipse/set/core/enumtranslation/EnumTranslationServiceImpl.java b/java/bundles/org.eclipse.set.core/src/org/eclipse/set/core/enumtranslation/EnumTranslationServiceImpl.java index e510b33394..7bae9381bf 100644 --- a/java/bundles/org.eclipse.set.core/src/org/eclipse/set/core/enumtranslation/EnumTranslationServiceImpl.java +++ b/java/bundles/org.eclipse.set.core/src/org/eclipse/set/core/enumtranslation/EnumTranslationServiceImpl.java @@ -60,6 +60,9 @@ public EnumTranslation translate(final boolean value) @Override public EnumTranslation translate(final Enumerator obj) { + if (obj == null) { + return null; + } final Enumerator enumerator = obj; final String enumeratorName = EnumTranslationUtils .getKeyBasis(enumerator); @@ -71,7 +74,9 @@ public EnumTranslation translate(final Enumerator obj) { public EnumTranslation translate(final BasisAttribut_AttributeGroup owner, final Enumerator enumerator) { final EnumTranslation translate = translate(enumerator); - + if (translate == null) { + return null; + } if (!translate.getAlternative().equals("sonstige")) { //$NON-NLS-1$ return translate; } diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableModelTransformator.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableModelTransformator.xtend index 469342ccdb..ed60a5d368 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableModelTransformator.xtend +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableModelTransformator.xtend @@ -99,7 +99,7 @@ abstract class AbstractPlanPro2TableModelTransformator extends AbstractTableMode return translate(wert); } if (wert instanceof Enumerator) { - return enumTranslationService.translate(owner, wert).alternative + return enumTranslationService.translate(owner, wert)?.alternative ?: "" } return null; } catch (Exception e) { diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/FootnoteTransformation.xtend b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/FootnoteTransformation.xtend index bb388e504a..e1d99e3a93 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/FootnoteTransformation.xtend +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/FootnoteTransformation.xtend @@ -119,7 +119,7 @@ class FootnoteTransformation { ].filterNull val footnotes = #[notes, objectStateNote].flatten - return footnotes.toList.withPrefix(sb.prefix) + return footnotes.toList.withPrefix(sb.prefix).filterNull ] ?: #[] } diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssks/AbstractSignalTableTransform.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssks/AbstractSignalTableTransform.java index 6eb6b6f50c..3fe5df689e 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssks/AbstractSignalTableTransform.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssks/AbstractSignalTableTransform.java @@ -388,6 +388,9 @@ private String fillBefestigung(final Signal_Befestigung befestigung) { befestigung, b -> b.getSignalBefestigungAllg().getBefestigungArt().getWert()) .orElse(null); + if (art == null) { + return ""; + } return switch (art) { case ENUM_BEFESTIGUNG_ART_SONSTIGE -> { final List bearbeitungsvermerke = EObjectExtensions diff --git a/java/bundles/org.eclipse.set.model.tablemodel.extensions/src/org/eclipse/set/model/tablemodel/extensions/TableExtensions.xtend b/java/bundles/org.eclipse.set.model.tablemodel.extensions/src/org/eclipse/set/model/tablemodel/extensions/TableExtensions.xtend index 70575171a0..9d8c883025 100644 --- a/java/bundles/org.eclipse.set.model.tablemodel.extensions/src/org/eclipse/set/model/tablemodel/extensions/TableExtensions.xtend +++ b/java/bundles/org.eclipse.set.model.tablemodel.extensions/src/org/eclipse/set/model/tablemodel/extensions/TableExtensions.xtend @@ -486,6 +486,10 @@ class TableExtensions { public boolean removedInMain; } + static def dispatch Iterable getFootnoteInfos( + Void fnContainer) { + return #[] + } static def dispatch Iterable getFootnoteInfos( FootnoteContainer fnContainer) { return #[]