From 53782595d1483c46bb1d7f4007da42b8e0e29104 Mon Sep 17 00:00:00 2001 From: Marius Heine Date: Mon, 29 Jun 2026 10:57:04 +0200 Subject: [PATCH 01/11] fix merging of cells in excel export --- .../set/feature/export/xlsx/ExcelExportBuilder.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java index 3229bc03a8..0653b18ab4 100644 --- a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java +++ b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java @@ -8,7 +8,10 @@ */ package org.eclipse.set.feature.export.xlsx; -import static org.eclipse.set.utils.excel.ExcelWorkbookExtension.*; +import static org.eclipse.set.utils.excel.ExcelWorkbookExtension.getCellAt; +import static org.eclipse.set.utils.excel.ExcelWorkbookExtension.getCellStringValue; +import static org.eclipse.set.utils.excel.ExcelWorkbookExtension.getHeaderLastColumnIndex; +import static org.eclipse.set.utils.excel.ExcelWorkbookExtension.getHeaderLastRowIndex; import java.awt.image.BufferedImage; import java.io.FileInputStream; @@ -306,6 +309,7 @@ private static void addTableSpans(final Sheet sheet, if (!spanUtils.isMergeAllowed(column, row)) { continue; } + final int sheetColumn = column + 1; final int spanUp = spanUtils.getRowSpanUp(column, row); final int spanDown = spanUtils.getRowSpanDown(column, row); @@ -322,7 +326,7 @@ private static void addTableSpans(final Sheet sheet, } sheet.addMergedRegion(new CellRangeAddress(sheetRowIndex, - sheetRowIndex + spanDown, column, column)); + sheetRowIndex + spanDown, sheetColumn, sheetColumn)); } sheetRowIndex++; From 50c6886d0744aee3273cc867e9ac1457a0e3ad8e Mon Sep 17 00:00:00 2001 From: Marius Heine Date: Mon, 29 Jun 2026 13:25:17 +0200 Subject: [PATCH 02/11] use font of first cell in header as fallback --- .../feature/export/xlsx/ExcelExportBuilder.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java index 0653b18ab4..488fcf08d4 100644 --- a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java +++ b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java @@ -153,7 +153,8 @@ public void export(final Map tables, final List rows = TableExtensions.getTableRows(table); // Fill sheet - fillSheet(sheet, rows, rowIndex, columnCount, isInlineFootnote); + fillSheet(workbook, sheet, rows, rowIndex, columnCount, + isInlineFootnote); if (!isInlineFootnote) { final Sheet footnoteSheet = workbook @@ -210,9 +211,9 @@ private static void fillFootnoteSheet(final Sheet footnoteSheet, } } - private static void fillSheet(final Sheet sheet, final List rows, - final int rowIndex, final int columnCount, - final boolean inlineFootnote) { + private static void fillSheet(final Workbook workbook, final Sheet sheet, + final List rows, final int rowIndex, + final int columnCount, final boolean inlineFootnote) { if (rows.isEmpty()) { return; } @@ -234,6 +235,11 @@ private static void fillSheet(final Sheet sheet, final List rows, if (cell == null) { cell = sheetRow.createCell(i + 1); + cell.getCellStyle() + .setFont(workbook.getFontAt(sheet.getRow(0) + .getCell(1) + .getCellStyle() + .getFontIndex())); } if (i == columnCount - 1) { fillFootnoteCell(cell, content, allFootnotes, footnotes, From fba2032733c4d21eea5cb9f29bdd23352741ce0a Mon Sep 17 00:00:00 2001 From: Marius Heine Date: Mon, 29 Jun 2026 13:25:31 +0200 Subject: [PATCH 03/11] fix print area of sxxx template --- .../data/export/excel/sxxx_vorlage.xlsx | Bin 21467 -> 21501 bytes 1 file changed, 0 insertions(+), 0 deletions(-) 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 c6541c25ced3d7c737095c78379d8e8292b0070e..e68e9ed05f21c6a02e5698c960b418a9ed2582d2 100644 GIT binary patch delta 5169 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

t*WnYwRuuPXZ7P?tgkc#GdM5jo!q8Mwj) z+%b2%BCU06u~pE_J;gMW~zvi zaz^)(0-kU+%Q5*mpmpN=XG05f0j2`2Zg;he7WR4UDt;(0ZI}%l&Oe|I*u}gmAFzt# zp?rf6HWbEEI1pkRz8UoK7!?ix#Lg)18`!^BuTZ@{YV+T1r0J=(dd$5+pJWFz>%RHg^ctVgxNIThz;{G?}{jgnm-SHwP-i5-k~incGPuB6yr=Z&8) zUAw9;zO=kcNT2!SqHC$QH)Iz@2@7fjw40W2D)NSWG#5a_mwt7;wZ_or9U<>=ot ziabD;cj+&pK4zN_v@7%>GuAWPQg<)3;N~Vb%mkSVdRNxch`$ST(7L$o9#9285=`b9 zzc5tMpaGe&B16f@VDhqfcu?kB|0Q9@c)!3fX)4fBj1lZ(<*Tg~(}#khe0;US;w4bf z7sUul3-HypqavXow;(_0EqYpeUx)z)G72z)Ac_xk62O30y4awaC|ALKK`2D}wQ#xN>oMovP_WaOM1F`m7j6MuD|%)`T2f@=&D8iA@akT_ zh_i?9af}$0`ACvwvOn)w<=uWgHP%bMuFz{pLygkIv5Ry)+ODPTASL8{fiU(~9Xw+$iQ_-x;pCLNHn%U_(H8 z0ysFMM^alT%}$2@pPyFXsHQel9c0$xqx;|A<&ghxRD(`hO3;^JwHA`@|27i;wP}F+ zT9VL0kVjh%`W|%C7Nh%nIzS;15h@6T(3>V+SR45YSc7Q;+B0P6c!IsGxh`JH5Nma_~g& z&UMWweOZ`{Jc!Y!26f~KzyJd>ut*;PRRY`fHDH>`e+4sT0+7#u8)l&TmwFh8z)aNt O!WIJrjWI<+ delta 5134 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 bRQvA`8}RC$0G^EQzxdoeW&&lsKQsOhty^oJ From 89f54a3672f14f0e21e887d03003b031bca5d7ab Mon Sep 17 00:00:00 2001 From: Marius Heine Date: Tue, 30 Jun 2026 16:49:39 +0200 Subject: [PATCH 04/11] extend table model by isRemarkColumn --- .../plugin.properties | 1 + .../ColumnDescriptorItemProvider.java | 22 +++++++ .../model/tablemodel.ecore | 2 + .../model/tablemodel.genmodel | 1 + .../model/tablemodel/ColumnDescriptor.java | 28 +++++++++ .../model/tablemodel/TablemodelPackage.java | 33 ++++++++++- .../tablemodel/impl/ColumnDescriptorImpl.java | 59 +++++++++++++++++++ .../impl/TablemodelPackageImpl.java | 22 ++++++- 8 files changed, 165 insertions(+), 3 deletions(-) diff --git a/java/bundles/org.eclipse.set.model.tablemodel.edit/plugin.properties b/java/bundles/org.eclipse.set.model.tablemodel.edit/plugin.properties index 280004d2e9..85474ef7cb 100644 --- a/java/bundles/org.eclipse.set.model.tablemodel.edit/plugin.properties +++ b/java/bundles/org.eclipse.set.model.tablemodel.edit/plugin.properties @@ -107,3 +107,4 @@ _UI_Footnote_type = Footnote _UI_Footnote_ownerObject_feature = Owner Object _UI_Footnote_bearbeitungsvermerk_feature = Bearbeitungsvermerk _UI_Footnote_referenceColumn_feature = Reference Column +_UI_ColumnDescriptor_isRemarkColumn_feature = Is Remark Column diff --git a/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/ColumnDescriptorItemProvider.java b/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/ColumnDescriptorItemProvider.java index 15389a2a19..a0af84ce2c 100644 --- a/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/ColumnDescriptorItemProvider.java +++ b/java/bundles/org.eclipse.set.model.tablemodel.edit/src/org/eclipse/set/model/tablemodel/provider/ColumnDescriptorItemProvider.java @@ -71,6 +71,7 @@ public List getPropertyDescriptors(Object object) { addHeightPropertyDescriptor(object); addMergeCommonValuesPropertyDescriptor(object); addColumnPositionPropertyDescriptor(object); + addIsRemarkColumnPropertyDescriptor(object); } return itemPropertyDescriptors; } @@ -272,6 +273,26 @@ protected void addColumnPositionPropertyDescriptor(Object object) { null, null)); } + /** + * This adds a property descriptor for the Is Remark Column feature. + * + * @generated + */ + protected void addIsRemarkColumnPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory) + .getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ColumnDescriptor_isRemarkColumn_feature"), + getString("_UI_PropertyDescriptor_description", + "_UI_ColumnDescriptor_isRemarkColumn_feature", + "_UI_ColumnDescriptor_type"), + TablemodelPackage.Literals.COLUMN_DESCRIPTOR__IS_REMARK_COLUMN, + true, false, false, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, null)); + } + /** * This returns ColumnDescriptor.gif. @@ -320,6 +341,7 @@ public void notifyChanged(Notification notification) { case TablemodelPackage.COLUMN_DESCRIPTOR__HEIGHT: case TablemodelPackage.COLUMN_DESCRIPTOR__MERGE_COMMON_VALUES: case TablemodelPackage.COLUMN_DESCRIPTOR__COLUMN_POSITION: + case TablemodelPackage.COLUMN_DESCRIPTOR__IS_REMARK_COLUMN: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); return; diff --git a/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.ecore b/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.ecore index cb69f16404..807d98b82e 100644 --- a/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.ecore +++ b/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.ecore @@ -74,6 +74,8 @@

+ diff --git a/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.genmodel b/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.genmodel index 6dca39dcea..385e0aaf70 100644 --- a/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.genmodel +++ b/java/bundles/org.eclipse.set.model.tablemodel/model/tablemodel.genmodel @@ -38,6 +38,7 @@ + diff --git a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/ColumnDescriptor.java b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/ColumnDescriptor.java index e0716d624a..198ab2bde4 100644 --- a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/ColumnDescriptor.java +++ b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/ColumnDescriptor.java @@ -42,6 +42,8 @@ * Merge Common Values} *
  • {@link org.eclipse.set.model.tablemodel.ColumnDescriptor#getColumnPosition * Column Position}
  • + *
  • {@link org.eclipse.set.model.tablemodel.ColumnDescriptor#isIsRemarkColumn + * Is Remark Column}
  • * * * @see org.eclipse.set.model.tablemodel.TablemodelPackage#getColumnDescriptor() @@ -306,4 +308,30 @@ public interface ColumnDescriptor extends EObject { */ void setColumnPosition(String value); + /** + * Returns the value of the 'Is Remark Column' attribute. + * The default value is "false". + * + * @return the value of the 'Is Remark Column' attribute. + * @see #setIsRemarkColumn(boolean) + * @see org.eclipse.set.model.tablemodel.TablemodelPackage#getColumnDescriptor_IsRemarkColumn() + * @model default="false" dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + boolean isIsRemarkColumn(); + + /** + * Sets the value of the + * '{@link org.eclipse.set.model.tablemodel.ColumnDescriptor#isIsRemarkColumn + * Is Remark Column}' attribute. + * + * @param value + * the new value of the 'Is Remark Column' attribute. + * @see #isIsRemarkColumn() + * @generated + */ + void setIsRemarkColumn(boolean value); + } // ColumnDescriptor diff --git a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/TablemodelPackage.java b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/TablemodelPackage.java index a1ff241943..f47c168529 100644 --- a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/TablemodelPackage.java +++ b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/TablemodelPackage.java @@ -210,6 +210,15 @@ public interface TablemodelPackage extends EPackage { */ int COLUMN_DESCRIPTOR__COLUMN_POSITION = 9; + /** + * The feature id for the 'Is Remark Column' attribute. + * + * @generated + * @ordered + */ + int COLUMN_DESCRIPTOR__IS_REMARK_COLUMN = 10; + /** * The number of structural features of the 'Column Descriptor' * class. @@ -217,7 +226,7 @@ public interface TablemodelPackage extends EPackage { * @generated * @ordered */ - int COLUMN_DESCRIPTOR_FEATURE_COUNT = 10; + int COLUMN_DESCRIPTOR_FEATURE_COUNT = 11; /** * The number of operations of the 'Column Descriptor' class. + * + * @return the meta object for the attribute 'Is Remark Column'. + * @see org.eclipse.set.model.tablemodel.ColumnDescriptor#isIsRemarkColumn() + * @see #getColumnDescriptor() + * @generated + */ + EAttribute getColumnDescriptor_IsRemarkColumn(); + /** * Returns the meta object for class * '{@link org.eclipse.set.model.tablemodel.TableContent Table @@ -2083,6 +2105,15 @@ interface Literals { EAttribute COLUMN_DESCRIPTOR__COLUMN_POSITION = eINSTANCE .getColumnDescriptor_ColumnPosition(); + /** + * The meta object literal for the 'Is Remark Column' + * attribute feature. + * + * @generated + */ + EAttribute COLUMN_DESCRIPTOR__IS_REMARK_COLUMN = eINSTANCE + .getColumnDescriptor_IsRemarkColumn(); + /** * The meta object literal for the * '{@link org.eclipse.set.model.tablemodel.impl.TableContentImpl diff --git a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/ColumnDescriptorImpl.java b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/ColumnDescriptorImpl.java index 22229e707a..748ca2c0e3 100644 --- a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/ColumnDescriptorImpl.java +++ b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/ColumnDescriptorImpl.java @@ -56,6 +56,8 @@ * Merge Common Values} *
  • {@link org.eclipse.set.model.tablemodel.impl.ColumnDescriptorImpl#getColumnPosition * Column Position}
  • + *
  • {@link org.eclipse.set.model.tablemodel.impl.ColumnDescriptorImpl#isIsRemarkColumn + * Is Remark Column}
  • * * * @generated @@ -242,6 +244,26 @@ public class ColumnDescriptorImpl extends MinimalEObjectImpl.Container */ protected String columnPosition = COLUMN_POSITION_EDEFAULT; + /** + * The default value of the '{@link #isIsRemarkColumn() Is Remark + * Column}' attribute. + * + * @see #isIsRemarkColumn() + * @generated + * @ordered + */ + protected static final boolean IS_REMARK_COLUMN_EDEFAULT = false; + + /** + * The cached value of the '{@link #isIsRemarkColumn() Is Remark + * Column}' attribute. + * + * @see #isIsRemarkColumn() + * @generated + * @ordered + */ + protected boolean isRemarkColumn = IS_REMARK_COLUMN_EDEFAULT; + /** * * @@ -555,6 +577,31 @@ public void setColumnPosition(String newColumnPosition) { oldColumnPosition, columnPosition)); } + /** + * + * + * @generated + */ + @Override + public boolean isIsRemarkColumn() { + return isRemarkColumn; + } + + /** + * + * + * @generated + */ + @Override + public void setIsRemarkColumn(boolean newIsRemarkColumn) { + boolean oldIsRemarkColumn = isRemarkColumn; + isRemarkColumn = newIsRemarkColumn; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + TablemodelPackage.COLUMN_DESCRIPTOR__IS_REMARK_COLUMN, + oldIsRemarkColumn, isRemarkColumn)); + } + /** * * @@ -626,6 +673,8 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) { return getMergeCommonValues(); case TablemodelPackage.COLUMN_DESCRIPTOR__COLUMN_POSITION: return getColumnPosition(); + case TablemodelPackage.COLUMN_DESCRIPTOR__IS_REMARK_COLUMN: + return isIsRemarkColumn(); } return super.eGet(featureID, resolve, coreType); } @@ -671,6 +720,9 @@ public void eSet(int featureID, Object newValue) { case TablemodelPackage.COLUMN_DESCRIPTOR__COLUMN_POSITION: setColumnPosition((String) newValue); return; + case TablemodelPackage.COLUMN_DESCRIPTOR__IS_REMARK_COLUMN: + setIsRemarkColumn((Boolean) newValue); + return; } super.eSet(featureID, newValue); } @@ -713,6 +765,9 @@ public void eUnset(int featureID) { case TablemodelPackage.COLUMN_DESCRIPTOR__COLUMN_POSITION: setColumnPosition(COLUMN_POSITION_EDEFAULT); return; + case TablemodelPackage.COLUMN_DESCRIPTOR__IS_REMARK_COLUMN: + setIsRemarkColumn(IS_REMARK_COLUMN_EDEFAULT); + return; } super.eUnset(featureID); } @@ -748,6 +803,8 @@ public boolean eIsSet(int featureID) { case TablemodelPackage.COLUMN_DESCRIPTOR__COLUMN_POSITION: return COLUMN_POSITION_EDEFAULT == null ? columnPosition != null : !COLUMN_POSITION_EDEFAULT.equals(columnPosition); + case TablemodelPackage.COLUMN_DESCRIPTOR__IS_REMARK_COLUMN: + return isRemarkColumn != IS_REMARK_COLUMN_EDEFAULT; } return super.eIsSet(featureID); } @@ -779,6 +836,8 @@ public String toString() { result.append(mergeCommonValues); result.append(", columnPosition: "); result.append(columnPosition); + result.append(", isRemarkColumn: "); + result.append(isRemarkColumn); result.append(')'); return result.toString(); } diff --git a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/TablemodelPackageImpl.java b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/TablemodelPackageImpl.java index c5098ae812..2c44991fbf 100644 --- a/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/TablemodelPackageImpl.java +++ b/java/bundles/org.eclipse.set.model.tablemodel/src/org/eclipse/set/model/tablemodel/impl/TablemodelPackageImpl.java @@ -481,6 +481,17 @@ public EAttribute getColumnDescriptor_ColumnPosition() { .get(9); } + /** + * + * + * @generated + */ + @Override + public EAttribute getColumnDescriptor_IsRemarkColumn() { + return (EAttribute) columnDescriptorEClass.getEStructuralFeatures() + .get(10); + } + /** * * @@ -1064,6 +1075,8 @@ public void createPackageContents() { COLUMN_DESCRIPTOR__MERGE_COMMON_VALUES); createEAttribute(columnDescriptorEClass, COLUMN_DESCRIPTOR__COLUMN_POSITION); + createEAttribute(columnDescriptorEClass, + COLUMN_DESCRIPTOR__IS_REMARK_COLUMN); tableContentEClass = createEClass(TABLE_CONTENT); createEReference(tableContentEClass, TABLE_CONTENT__ROWGROUPS); @@ -1179,10 +1192,10 @@ public void initializePackageContents() { setNsURI(eNS_URI); // Obtain other dependent packages - BasisobjektePackage theBasisobjektePackage = (BasisobjektePackage) EPackage.Registry.INSTANCE - .getEPackage(BasisobjektePackage.eNS_URI); XMLTypePackage theXMLTypePackage = (XMLTypePackage) EPackage.Registry.INSTANCE .getEPackage(XMLTypePackage.eNS_URI); + BasisobjektePackage theBasisobjektePackage = (BasisobjektePackage) EPackage.Registry.INSTANCE + .getEPackage(BasisobjektePackage.eNS_URI); // Create type parameters @@ -1265,6 +1278,11 @@ public void initializePackageContents() { ColumnDescriptor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getColumnDescriptor_IsRemarkColumn(), + theXMLTypePackage.getBoolean(), "isRemarkColumn", "false", 0, 1, + ColumnDescriptor.class, !IS_TRANSIENT, !IS_VOLATILE, + IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, + IS_ORDERED); initEClass(tableContentEClass, TableContent.class, "TableContent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); From 7dceede0d72a11ae29f4f2eade3d074ec01d5ad9 Mon Sep 17 00:00:00 2001 From: Marius Heine Date: Tue, 30 Jun 2026 16:50:08 +0200 Subject: [PATCH 05/11] properly configure isRemarkColumn for all the tables --- .../export/pdf/TableToTableDocument.xtend | 22 ++++++++++------- ...actPlanPro2TableTransformationService.java | 24 +++++++++++++++++++ .../pt1/ssbb/SsbbTransformationService.java | 5 ++++ .../pt1/ssit/SsitTransformationService.java | 5 ++++ .../pt1/sska/SskaTransformationService.java | 5 ++++ .../pt1/sskf/SskfTransformationService.java | 5 ++++ .../pt1/sskg/SskgTransformationService.java | 5 ++++ .../pt1/ssko/SskoTransformationService.java | 5 ++++ .../pt1/sskp/SskpTransformationService.java | 5 ++++ .../pt1/ssks/SsksTransformationService.java | 5 ++++ .../pt1/sskt/SsktTransformationService.java | 5 ++++ .../pt1/sskw/SskwTransformationService.java | 5 ++++ .../pt1/sskx/SskxTransformationService.java | 5 ++++ .../pt1/sskz/SskzTransformationService.java | 5 ++++ .../pt1/ssla/SslaTransformationService.java | 5 ++++ .../pt1/sslb/SslbTransformationService.java | 5 ++++ .../pt1/ssld/SsldTransformationService.java | 5 ++++ .../pt1/sslf/SslfTransformationService.java | 5 ++++ .../pt1/ssli/SsliTransformationService.java | 5 ++++ .../pt1/ssln/SslnTransformationService.java | 5 ++++ .../pt1/sslr/SslrTransformationService.java | 5 ++++ .../pt1/sslw/SslwTransformationService.java | 5 ++++ .../pt1/sslz/SslzTransformationService.java | 5 ++++ .../pt1/ssvu/SsvuTransformationService.java | 5 ++++ .../pt1/ssza/SszaTransformationService.java | 5 ++++ .../pt1/sszs/SszsTransformationService.java | 5 ++++ .../pt1/sszw/SszwTransformationService.java | 5 ++++ .../pt1/sxxx/SxxxTransformationService.java | 6 ++--- 28 files changed, 164 insertions(+), 13 deletions(-) diff --git a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend index 68519ecfa3..42bcb20244 100644 --- a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend +++ b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend @@ -53,6 +53,7 @@ import static extension org.eclipse.set.model.tablemodel.extensions.TableRowExte import static extension org.eclipse.set.ppmodel.extensions.utils.IterableExtensions.* import static extension org.eclipse.set.utils.StringExtensions.* import static extension org.eclipse.set.utils.export.xsl.siteplan.SiteplanXSL.pxToMilimeter +import org.eclipse.set.model.tablemodel.TableCell /** * Transformation from {@link Table} to TableDocument {@link Document}. @@ -277,7 +278,7 @@ class TableToTableDocument { private def boolean isRemarkColumn(CellContent content, List rowContent) { - return rowContent.last === content + return (content.eContainer as TableCell).columndescriptor.isIsRemarkColumn } private def Attr create doc.createAttribute("group-number") transformToGroupNumber( @@ -512,9 +513,8 @@ class TableToTableDocument { private def Element addContentToElement(String content, Element element, int columnNumber, boolean isRemarkColumn) { val checkOutput = content.checkForTestOutput(columnNumber) - element.textContent = isRemarkColumn - ? checkOutput - : checkOutput.intersperseWithZeroSpacesSC + element.textContent = isRemarkColumn ? checkOutput : checkOutput. + intersperseWithZeroSpacesSC return element } @@ -577,19 +577,23 @@ class TableToTableDocument { private def Element create doc.createElement("SignificantInformation") transformToSignificantInformation( SignificantInformation significantInformation) { - appendChild(transformLoadedPlanInformation("MainPlan", significantInformation.mainPlan)) + appendChild( + transformLoadedPlanInformation("MainPlan", + significantInformation.mainPlan)) if (significantInformation.comparePlan !== null) { - appendChild(transformLoadedPlanInformation("ComparePlan", significantInformation.comparePlan)) + appendChild( + transformLoadedPlanInformation("ComparePlan", + significantInformation.comparePlan)) } } - - private def Element create doc.createElement("LoadedPlan") transformLoadedPlanInformation(String id, LoadedPlanInformation info) { + + private def Element create doc.createElement("LoadedPlan") transformLoadedPlanInformation( + String id, LoadedPlanInformation info) { val idAttr = doc.createAttribute("id") idAttr.value = id attributeNode = idAttr textContent = '''«info.name» «info.timestamp» MD5: «info.checksum»''' } - private def Element create doc.createElement("Footnotes") transformToFootnotes(Table table) { diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java index a2f51165d8..8a02f7b6d5 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; @@ -98,9 +99,23 @@ public ColumnDescriptor fillHeaderDescriptions( throw new RuntimeException(e); } cols = getColumnsListe(root.getGroupRoot()); + + getColDescriptor(getRemarkColumnPosition()) + .ifPresent(col -> col.setIsRemarkColumn(true)); + return root.getGroupRoot(); } + protected Optional getColDescriptor( + final String position) { + if (position == null) { + return Optional.empty(); + } + return cols.stream() + .filter(col -> position.equals(col.getColumnPosition())) + .findFirst(); + } + @Override public Set getFixedColumnsPos() { final Set repeatingColumns = getRepeatingColumns( @@ -169,6 +184,15 @@ public Table transform(final MultiContainer_AttributeGroup model) { protected abstract List getTopologicalColumnPosition(); + /** + * @return the column position of the remark column or null if the table has + * no remark column + */ + @SuppressWarnings("static-method") + protected String getRemarkColumnPosition() { + return null; + } + protected abstract Map, String> getFootnotesColumnReferences(); protected void setTopologicalColumnHightlight(final Table table) { diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssbb/SsbbTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssbb/SsbbTransformationService.java index 254f62c06e..d7e95785f5 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssbb/SsbbTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssbb/SsbbTransformationService.java @@ -79,6 +79,11 @@ protected List getTopologicalColumnPosition() { return Collections.emptyList(); } + @Override + protected String getRemarkColumnPosition() { + return SsbbColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Map.of(ID_Strecke_TypeClass.class, diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssit/SsitTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssit/SsitTransformationService.java index 993e6d26da..e7fbc9192e 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssit/SsitTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssit/SsitTransformationService.java @@ -71,6 +71,11 @@ protected List getTopologicalColumnPosition() { return Collections.emptyList(); } + @Override + protected String getRemarkColumnPosition() { + return SsitColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Map.of(ID_Strecke_TypeClass.class, diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sska/SskaTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sska/SskaTransformationService.java index f820294425..76e1991fd2 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sska/SskaTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sska/SskaTransformationService.java @@ -98,6 +98,11 @@ protected List getTopologicalColumnPosition() { return Collections.emptyList(); } + @Override + protected String getRemarkColumnPosition() { + return SskaColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Map.of(ID_Strecke_TypeClass.class, diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskf/SskfTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskf/SskfTransformationService.java index dc54ddcf57..3bcb444c4c 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskf/SskfTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskf/SskfTransformationService.java @@ -93,6 +93,11 @@ protected List getTopologicalColumnPosition() { return Collections.emptyList(); } + @Override + protected String getRemarkColumnPosition() { + return SskfColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Map.of(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskg/SskgTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskg/SskgTransformationService.java index 7ede0b7b6d..2b19a2f682 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskg/SskgTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskg/SskgTransformationService.java @@ -112,6 +112,11 @@ protected List getTopologicalColumnPosition() { return List.of(SskgColumns.Bezugspunkt_Abstand); } + @Override + protected String getRemarkColumnPosition() { + return SskgColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Map.of(ID_Strecke_TypeClass.class, SskgColumns.Standort_Strecke, diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssko/SskoTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssko/SskoTransformationService.java index 0ae6d14cc5..3102f5d55f 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssko/SskoTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssko/SskoTransformationService.java @@ -80,6 +80,11 @@ protected List getTopologicalColumnPosition() { return Collections.emptyList(); } + @Override + protected String getRemarkColumnPosition() { + return SskoColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Map.of(ID_Strecke_TypeClass.class, diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformationService.java index 06961ec9c4..609c92b037 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformationService.java @@ -199,6 +199,11 @@ protected List getTopologicalColumnPosition() { Abstand_vorsignalWdh_GM_2000); } + @Override + protected String getRemarkColumnPosition() { + return SskpColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssks/SsksTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssks/SsksTransformationService.java index efa26201ea..2cfaa43ab6 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssks/SsksTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssks/SsksTransformationService.java @@ -140,6 +140,11 @@ protected List getTopologicalColumnPosition() { return List.of(Schaltkasten_Entfernung, Lichtraumprofil, Ueberhoehung); } + @Override + protected String getRemarkColumnPosition() { + return SsksColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Map.of(ID_Strecke_TypeClass.class, SsksColumns.Strecke, diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskt/SsktTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskt/SsktTransformationService.java index 039a2cc305..5fc47ec73b 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskt/SsktTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskt/SsktTransformationService.java @@ -112,6 +112,11 @@ protected List getTopologicalColumnPosition() { return Collections.emptyList(); } + @Override + protected String getRemarkColumnPosition() { + return SsktColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Map.of(ID_Strecke_TypeClass.class, diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskw/SskwTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskw/SskwTransformationService.java index 92d01eb604..3866a98811 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskw/SskwTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskw/SskwTransformationService.java @@ -99,6 +99,11 @@ protected List getTopologicalColumnPosition() { return List.of(Freimeldung_Fma); } + @Override + protected String getRemarkColumnPosition() { + return SskwColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskx/SskxTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskx/SskxTransformationService.java index 1422792be9..6bfb2da51e 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskx/SskxTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskx/SskxTransformationService.java @@ -118,6 +118,11 @@ protected List getTopologicalColumnPosition() { return List.of(SskxColumns.Gleis, SskxColumns.Lichtraumprofil); } + @Override + protected String getRemarkColumnPosition() { + return SskxColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskz/SskzTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskz/SskzTransformationService.java index e3c11c8c56..8df826eb7e 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskz/SskzTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskz/SskzTransformationService.java @@ -108,6 +108,11 @@ protected List getTopologicalColumnPosition() { return List.of(SskzColumns.Ueberhoehung); } + @Override + protected String getRemarkColumnPosition() { + return SskzColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssla/SslaTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssla/SslaTransformationService.java index 4040f6dfec..eb76971442 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssla/SslaTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssla/SslaTransformationService.java @@ -111,6 +111,11 @@ protected List getTopologicalColumnPosition() { Durchrutschweg_Ziel, Unterwegssignal); } + @Override + protected String getRemarkColumnPosition() { + return SslaColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslb/SslbTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslb/SslbTransformationService.java index 1dc058e915..25ebe50a04 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslb/SslbTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslb/SslbTransformationService.java @@ -120,6 +120,11 @@ protected List getTopologicalColumnPosition() { SslbColumns.Anrueckabschnitt_Anordnung); } + @Override + protected String getRemarkColumnPosition() { + return SslbColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssld/SsldTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssld/SsldTransformationService.java index 3bf9aeb3fa..0d79f03561 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssld/SsldTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssld/SsldTransformationService.java @@ -116,6 +116,11 @@ protected List getTopologicalColumnPosition() { massgebende_Neigung, v_Aufwertung_Verzicht); } + @Override + protected String getRemarkColumnPosition() { + return SsldColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslf/SslfTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslf/SslfTransformationService.java index 22a3cf20bf..8c1a34ec6f 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslf/SslfTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslf/SslfTransformationService.java @@ -94,6 +94,11 @@ protected List getTopologicalColumnPosition() { return Collections.emptyList(); } + @Override + protected String getRemarkColumnPosition() { + return SslfColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssli/SsliTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssli/SsliTransformationService.java index a037235dd8..e86d685a32 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssli/SsliTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssli/SsliTransformationService.java @@ -90,6 +90,11 @@ protected List getTopologicalColumnPosition() { return List.of(SsliColumns.Laenge); } + @Override + protected String getRemarkColumnPosition() { + return SsliColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssln/SslnTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssln/SslnTransformationService.java index 12debb3fd2..f3ec6cec04 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssln/SslnTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssln/SslnTransformationService.java @@ -86,6 +86,11 @@ protected List getTopologicalColumnPosition() { return Collections.emptyList(); } + @Override + protected String getRemarkColumnPosition() { + return SslnColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslr/SslrTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslr/SslrTransformationService.java index 7cce9c6060..d52df7ef69 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslr/SslrTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslr/SslrTransformationService.java @@ -102,6 +102,11 @@ protected List getTopologicalColumnPosition() { return List.of(Fahrweg_Entscheidungsweiche, Abhaengiger_BUe); } + @Override + protected String getRemarkColumnPosition() { + return SslrColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslw/SslwTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslw/SslwTransformationService.java index c14a278dfe..ede9ae3d09 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslw/SslwTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslw/SslwTransformationService.java @@ -93,6 +93,11 @@ protected List getTopologicalColumnPosition() { return Collections.emptyList(); } + @Override + protected String getRemarkColumnPosition() { + return SslwColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslz/SslzTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslz/SslzTransformationService.java index 1ca5649cfe..b6624cf0e7 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslz/SslzTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sslz/SslzTransformationService.java @@ -132,6 +132,11 @@ protected List getTopologicalColumnPosition() { Kennlicht, Vorsignalisierung); } + @Override + protected String getRemarkColumnPosition() { + return SslzColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssvu/SsvuTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssvu/SsvuTransformationService.java index 5fac5f9c42..314b576df5 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssvu/SsvuTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssvu/SsvuTransformationService.java @@ -93,6 +93,11 @@ protected List getTopologicalColumnPosition() { return Collections.emptyList(); } + @Override + protected String getRemarkColumnPosition() { + return SsvuColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssza/SszaTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssza/SszaTransformationService.java index 0cc04fcee8..52fddd1037 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssza/SszaTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssza/SszaTransformationService.java @@ -110,6 +110,11 @@ protected List getTopologicalColumnPosition() { return List.of(SszaColumns.DP_Standort_rel_Lage_zu_BP); } + @Override + protected String getRemarkColumnPosition() { + return SszaColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Map.of(ID_Strecke_TypeClass.class, diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszs/SszsTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszs/SszsTransformationService.java index 10ac7dcbd6..532f1da9ae 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszs/SszsTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszs/SszsTransformationService.java @@ -85,6 +85,11 @@ protected List getTopologicalColumnPosition() { return List.of(SszsColumns.D_End, SszsColumns.d_Haltfall); } + @Override + protected String getRemarkColumnPosition() { + return SszsColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Map.of(ID_Strecke_TypeClass.class, SszsColumns.Strecke, diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszw/SszwTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszw/SszwTransformationService.java index 6eabc12675..31cbd2d777 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszw/SszwTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sszw/SszwTransformationService.java @@ -85,6 +85,11 @@ protected List getTopologicalColumnPosition() { return List.of(SszwColumns.Laenge_links, SszwColumns.Laaenge_rechts); } + @Override + protected String getRemarkColumnPosition() { + return SszwColumns.Bemerkung; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Map.of(ID_Strecke_TypeClass.class, SszwColumns.Strecke, 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 bffdab644b..4c11660a54 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 @@ -97,10 +97,8 @@ public ColumnDescriptor fillHeaderDescriptions( // only merge on column A cd.setMergeCommonValues(RowMergeMode.ENABLED); List.of(SxxxColumns.Reference_Object, SxxxColumns.Visualation_In_Table) - .forEach(it -> cols.forEach(col -> { - if (it.equals(col.getColumnPosition())) { - col.setMergeCommonValues(RowMergeMode.DISABLED); - } + .forEach(it -> getColDescriptor(it).ifPresent(col -> { + col.setMergeCommonValues(RowMergeMode.DISABLED); })); return cd; From 0c37a5d9da7b2fd7eb24b7e7dadd5fa39b8e4820 Mon Sep 17 00:00:00 2001 From: Marius Heine Date: Tue, 30 Jun 2026 16:53:56 +0200 Subject: [PATCH 06/11] improve utiltity function name and usage --- .../pt1/AbstractPlanPro2TableTransformationService.java | 4 ++-- .../feature/table/pt1/sskp/SskpTransformationService.java | 6 ++---- .../feature/table/pt1/sskt/SsktTransformationService.java | 6 ++---- .../feature/table/pt1/sxxx/SxxxTransformationService.java | 2 +- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java index 8a02f7b6d5..9c7d11dce5 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java @@ -100,13 +100,13 @@ public ColumnDescriptor fillHeaderDescriptions( } cols = getColumnsListe(root.getGroupRoot()); - getColDescriptor(getRemarkColumnPosition()) + getColumnDescriptor(getRemarkColumnPosition()) .ifPresent(col -> col.setIsRemarkColumn(true)); return root.getGroupRoot(); } - protected Optional getColDescriptor( + protected Optional getColumnDescriptor( final String position) { if (position == null) { return Optional.empty(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformationService.java index 609c92b037..3927942223 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskp/SskpTransformationService.java @@ -176,10 +176,8 @@ public ColumnDescriptor fillHeaderDescriptions( SskpColumns.GeschwindigkeitsKlasse, // SskpColumns.PZB_Schutzstrecke_Soll, // SskpColumns.PZB_Schutzstrecke_Ist) - .forEach(it -> cols.forEach(col -> { - if (it.equals(col.getColumnPosition())) { - col.setMergeCommonValues(RowMergeMode.DISABLED); - } + .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/sskt/SsktTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskt/SsktTransformationService.java index 5fc47ec73b..025d31013b 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskt/SsktTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sskt/SsktTransformationService.java @@ -93,10 +93,8 @@ public ColumnDescriptor fillHeaderDescriptions( List.of(SsktColumns.IP_Teilsystem_Art, // SsktColumns.Teilsystem_TS_Blau, // SsktColumns.Teilsystem_TS_Grau) - .forEach(it -> cols.forEach(col -> { - if (it.equals(col.getColumnPosition())) { - col.setMergeCommonValues(RowMergeMode.DISABLED); - } + .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/SxxxTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/sxxx/SxxxTransformationService.java index 4c11660a54..40227d62e0 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 @@ -97,7 +97,7 @@ public ColumnDescriptor fillHeaderDescriptions( // only merge on column A cd.setMergeCommonValues(RowMergeMode.ENABLED); List.of(SxxxColumns.Reference_Object, SxxxColumns.Visualation_In_Table) - .forEach(it -> getColDescriptor(it).ifPresent(col -> { + .forEach(it -> getColumnDescriptor(it).ifPresent(col -> { col.setMergeCommonValues(RowMergeMode.DISABLED); })); From 8873c22cba7e22ff7f503e4434d0a77428f1d5e9 Mon Sep 17 00:00:00 2001 From: Marius Heine Date: Tue, 30 Jun 2026 17:23:23 +0200 Subject: [PATCH 07/11] fix detection of remark columns in pdf exports --- .../export/pdf/TableToTableDocument.xtend | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend index 42bcb20244..4b1b5e4345 100644 --- a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend +++ b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend @@ -21,6 +21,7 @@ import org.eclipse.set.basis.FreeFieldInfo.LoadedPlanInformation import org.eclipse.set.basis.FreeFieldInfo.SignificantInformation import org.eclipse.set.basis.constants.ToolboxConstants import org.eclipse.set.model.tablemodel.CellContent +import org.eclipse.set.model.tablemodel.ColumnDescriptor import org.eclipse.set.model.tablemodel.CompareFootnoteContainer import org.eclipse.set.model.tablemodel.CompareStateCellContent import org.eclipse.set.model.tablemodel.CompareTableCellContent @@ -31,6 +32,7 @@ import org.eclipse.set.model.tablemodel.MultiColorContent import org.eclipse.set.model.tablemodel.PlanCompareRow import org.eclipse.set.model.tablemodel.SimpleFootnoteContainer import org.eclipse.set.model.tablemodel.Table +import org.eclipse.set.model.tablemodel.TableCell import org.eclipse.set.model.tablemodel.TableContent import org.eclipse.set.model.tablemodel.TableRow import org.eclipse.set.model.tablemodel.extensions.TableExtensions.FootnoteInfo @@ -53,7 +55,6 @@ import static extension org.eclipse.set.model.tablemodel.extensions.TableRowExte import static extension org.eclipse.set.ppmodel.extensions.utils.IterableExtensions.* import static extension org.eclipse.set.utils.StringExtensions.* import static extension org.eclipse.set.utils.export.xsl.siteplan.SiteplanXSL.pxToMilimeter -import org.eclipse.set.model.tablemodel.TableCell /** * Transformation from {@link Table} to TableDocument {@link Document}. @@ -278,7 +279,18 @@ class TableToTableDocument { private def boolean isRemarkColumn(CellContent content, List rowContent) { - return (content.eContainer as TableCell).columndescriptor.isIsRemarkColumn + return isRemarkColumn( + (content.eContainer as TableCell).columndescriptor) + } + + private def boolean isRemarkColumn(ColumnDescriptor columnDescriptor) { + if (columnDescriptor === null) { + return false; + } + if (columnDescriptor.isRemarkColumn) { + return true; + } + return isRemarkColumn(columnDescriptor.parent) } private def Attr create doc.createAttribute("group-number") transformToGroupNumber( From dc29801e8c8ca2d1e6e5fc7a5998fdad9a674bf9 Mon Sep 17 00:00:00 2001 From: Marius Heine Date: Tue, 30 Jun 2026 23:04:45 +0200 Subject: [PATCH 08/11] fix duplicate footnote shorthands in excel export --- .../export/pdf/TableToTableDocument.xtend | 44 +++++++++++-------- .../export/xlsx/ExcelExportBuilder.java | 27 ++++++------ 2 files changed, 38 insertions(+), 33 deletions(-) diff --git a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend index 4b1b5e4345..1808e5230e 100644 --- a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend +++ b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/pdf/TableToTableDocument.xtend @@ -213,7 +213,7 @@ class TableToTableDocument { cells.indexed.forEach [ logger.debug('''column=«key»''') - val isRemarkColumn = value.isRemarkColumn(cells) + val isRemarkColumn = value.isRemarkColumn // Check for required span merges var rowSpan = 1 @@ -277,13 +277,15 @@ class TableToTableDocument { return cellElement } - private def boolean isRemarkColumn(CellContent content, - List rowContent) { - return isRemarkColumn( - (content.eContainer as TableCell).columndescriptor) + static def boolean isRemarkColumn(CellContent content) { + return isRemarkColumn((content.eContainer as TableCell)) } - private def boolean isRemarkColumn(ColumnDescriptor columnDescriptor) { + static def boolean isRemarkColumn(TableCell cell) { + return isRemarkColumn(cell.columndescriptor) + } + + static def boolean isRemarkColumn(ColumnDescriptor columnDescriptor) { if (columnDescriptor === null) { return false; } @@ -445,17 +447,15 @@ class TableToTableDocument { if (!remarkTextInlnie) { element.setAttribute("keep-inline", "true") // Sort unchanged & new footnotes together, then the old foonotes - #[unchangedFootnotes, newFootnotes].flatten.distinctBy[toShorthand]. - sortBy[index].forEach [ - val remark = unchangedFootnotes.exists [ unchanged | - unchanged.bearbeitungsvermerk === - bearbeitungsvermerk && - toShorthand == toShorthand - ] ? WARNING_MARK_BLACK : WARNING_MARK_RED - element.addFootnoteChild(toShorthand, remark, columnNumber, - isRemarkColumn) - ] - oldFootnotes.distinctBy[toShorthand].sortBy[index].forEach [ + #[unchangedFootnotes, newFootnotes].flatten.processFootnotes.forEach [ + val remark = unchangedFootnotes.exists [ unchanged | + unchanged.bearbeitungsvermerk === bearbeitungsvermerk && + toShorthand == toShorthand + ] ? WARNING_MARK_BLACK : WARNING_MARK_RED + element.addFootnoteChild(toShorthand, remark, columnNumber, + isRemarkColumn) + ] + oldFootnotes.processFootnotes.forEach [ element.addFootnoteChild(toShorthand, WARNING_MARK_YELLOW, columnNumber, isRemarkColumn) ] @@ -476,11 +476,17 @@ class TableToTableDocument { isRemarkColumn) } + static def List processFootnotes(Iterable fn) { + return fn.filterNull.distinctBy[toShorthand].sortBy [ + index + ].toList + } + private def String footnotesToString(Iterable fn) { val separator = remarkTextInlnie ? FOOTNOTE_INLINE_TEXT_SEPARATOR : FOOTNOTE_MARK_SEPRATOR - return fn.filterNull.sortBy[index].map [ + return fn.processFootnotes.map [ remarkTextInlnie ? toText : toShorthand - ].toSet.iterableToString(separator) + ].iterableToString(separator) } private def Element createMultiColorElement(MultiColorContent content, diff --git a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java index 488fcf08d4..50994c4c7b 100644 --- a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java +++ b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java @@ -22,7 +22,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.Optional; import java.util.stream.Collectors; @@ -241,7 +240,8 @@ private static void fillSheet(final Workbook workbook, final Sheet sheet, .getCellStyle() .getFontIndex())); } - if (i == columnCount - 1) { + if (TableToTableDocument + .isRemarkColumn(row.getCells().get(i))) { fillFootnoteCell(cell, content, allFootnotes, footnotes, inlineFootnote); continue; @@ -265,23 +265,22 @@ private static void fillFootnoteCell(final Cell cell, .getFootnotes(); default -> throw new IllegalArgumentException(); }; - final List fnInfo = footnotes.stream() - .map(fn -> TableExtensions.getFootnoteInfo(allFootnotes, fn)) - .filter(Objects::nonNull) - .toList(); + final List fnInfo = TableToTableDocument + .processFootnotes(footnotes.stream() + .map(fn -> TableExtensions.getFootnoteInfo(allFootnotes, + fn)) + .toList()); final StringBuilder builder = new StringBuilder(); if (!cellContent.isEmpty() && !cellContent.isBlank()) { builder.append(cellContent); builder.append(TableToTableDocument.FOOTNOTE_INLINE_TEXT_SEPARATOR); } - final String footnoteValue = inlineFootnote ? fnInfo.stream() - .map(FootnoteInfo::toText) - .collect(Collectors.joining( - TableToTableDocument.FOOTNOTE_INLINE_TEXT_SEPARATOR)) - : fnInfo.stream() - .map(fn -> "*" + fn.index) //$NON-NLS-1$ - .collect(Collectors.joining( - TableToTableDocument.FOOTNOTE_MARK_SEPRATOR)); + final String footnoteValue = fnInfo.stream() + .map(inlineFootnote ? FootnoteInfo::toText + : FootnoteInfo::toShorthand) + .collect(Collectors.joining(inlineFootnote + ? TableToTableDocument.FOOTNOTE_INLINE_TEXT_SEPARATOR + : TableToTableDocument.FOOTNOTE_MARK_SEPRATOR)); builder.append(footnoteValue); cell.setCellValue(builder.toString()); } From 404cc2cdef705d2eeebfeeae61b2e2ef3ad3cc63 Mon Sep 17 00:00:00 2001 From: Marius Heine Date: Fri, 3 Jul 2026 10:06:30 +0200 Subject: [PATCH 09/11] retrieve workbook from sheet --- .../export/xlsx/ExcelExportBuilder.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java index bcaecb9297..415cc5a028 100644 --- a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java +++ b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java @@ -154,8 +154,7 @@ public void export(final Map tables, final List rows = TableExtensions.getTableRows(table); // Fill sheet - fillSheet(workbook, sheet, rows, rowIndex, columnCount, - isInlineFootnote); + fillSheet(sheet, rows, rowIndex, columnCount, isInlineFootnote); if (!isInlineFootnote) { final Sheet footnoteSheet = workbook @@ -212,9 +211,10 @@ private static void fillFootnoteSheet(final Sheet footnoteSheet, } } - private static void fillSheet(final Workbook workbook, final Sheet sheet, - final List rows, final int rowIndex, - final int columnCount, final boolean inlineFootnote) { + @SuppressWarnings("resource") + private static void fillSheet(final Sheet sheet, final List rows, + final int rowIndex, final int columnCount, + final boolean inlineFootnote) { if (rows.isEmpty()) { return; } @@ -237,10 +237,11 @@ private static void fillSheet(final Workbook workbook, final Sheet sheet, if (cell == null) { cell = sheetRow.createCell(i + 1); cell.getCellStyle() - .setFont(workbook.getFontAt(sheet.getRow(0) - .getCell(1) - .getCellStyle() - .getFontIndex())); + .setFont(sheet.getWorkbook() + .getFontAt(sheet.getRow(0) + .getCell(1) + .getCellStyle() + .getFontIndex())); } if (TableToTableDocument .isRemarkColumn(row.getCells().get(i))) { From f452a20b31348d390615caf26ba19c0a2bb5ec23 Mon Sep 17 00:00:00 2001 From: Marius Heine Date: Fri, 3 Jul 2026 10:09:30 +0200 Subject: [PATCH 10/11] explain font fallback --- .../eclipse/set/feature/export/xlsx/ExcelExportBuilder.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java index 415cc5a028..fbf80f2d09 100644 --- a/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java +++ b/java/bundles/org.eclipse.set.feature.export/src/org/eclipse/set/feature/export/xlsx/ExcelExportBuilder.java @@ -236,6 +236,11 @@ private static void fillSheet(final Sheet sheet, final List rows, if (cell == null) { cell = sheetRow.createCell(i + 1); + // in the excel template it might be the case that a certain + // cell is was never defined/styled. + // If that is the case we take at least the font from the + // definitely defined first cell from the header so that all + // the cells are using the same font. cell.getCellStyle() .setFont(sheet.getWorkbook() .getFontAt(sheet.getRow(0) From c2c2784c14be31972dc2524bc97bd2504c3560f8 Mon Sep 17 00:00:00 2001 From: Marius Heine Date: Fri, 3 Jul 2026 10:11:38 +0200 Subject: [PATCH 11/11] make function abstract because overriden in almost all the places --- .../pt1/AbstractPlanPro2TableTransformationService.java | 5 +---- .../feature/table/pt1/ssls/SslsTransformationService.java | 6 ++++++ .../feature/table/pt1/sxxx/SxxxTransformationService.java | 6 ++++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java index 9c7d11dce5..713b93479c 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/AbstractPlanPro2TableTransformationService.java @@ -188,10 +188,7 @@ public Table transform(final MultiContainer_AttributeGroup model) { * @return the column position of the remark column or null if the table has * no remark column */ - @SuppressWarnings("static-method") - protected String getRemarkColumnPosition() { - return null; - } + protected abstract String getRemarkColumnPosition(); protected abstract Map, String> getFootnotesColumnReferences(); diff --git a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsTransformationService.java b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsTransformationService.java index 08f9a6a664..15da263071 100644 --- a/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsTransformationService.java +++ b/java/bundles/org.eclipse.set.feature.table.pt1/src/org/eclipse/set/feature/table/pt1/ssls/SslsTransformationService.java @@ -75,6 +75,12 @@ public TableModelTransformator createTransformato return new SslsTransformator(cols, enumTranslationService, eventAdmin); } + @Override + protected String getRemarkColumnPosition() { + // Ssls does not have a remark column + return null; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap(); 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 40227d62e0..7fc021779a 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 @@ -109,6 +109,12 @@ public boolean enableFiltering() { return true; } + @Override + protected String getRemarkColumnPosition() { + // Sxxx does not have a remark column + return null; + } + @Override protected Map, String> getFootnotesColumnReferences() { return Collections.emptyMap();