From c12444c0d6cd08e4df01ea22624ca11db9cd90f7 Mon Sep 17 00:00:00 2001 From: cditze Date: Sat, 21 Feb 2026 17:08:57 +0100 Subject: [PATCH] Major bug: cell differences ignored fixed --- .../src/main/java/application/FileActions.java | 16 ++++++++++------ .../main/java/de/lcag/common/AbstractTable.java | 8 ++------ .../de/lcag/common/WorkbookComparisonResult.java | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/MDM-LCAG-JavaFunctions/src/main/java/application/FileActions.java b/MDM-LCAG-JavaFunctions/src/main/java/application/FileActions.java index dc15679..58c377f 100644 --- a/MDM-LCAG-JavaFunctions/src/main/java/application/FileActions.java +++ b/MDM-LCAG-JavaFunctions/src/main/java/application/FileActions.java @@ -271,12 +271,16 @@ public class FileActions extends JFrame { } WorkbookComparisonResult compareResult = excel1.compareTo(excel2); - - ExcelWorkbook integratedTable = (ExcelWorkbook) compareResult.integrateDifferencesIntoMaster(); - - integratedTable.save(); - - Desktop.getDesktop().open(resultFilePath.toFile()); + + if (compareResult.tablesAreEquals()) { + System.out.printf("RESULT: Tables %s and %s are equal.\n", resultFilePath, pClientFilePath); + } else { + ExcelWorkbook integratedTable = (ExcelWorkbook) compareResult.integrateDifferencesIntoMaster(); + + integratedTable.save(); + + Desktop.getDesktop().open(resultFilePath.toFile()); + } } catch (IOException ex) { JOptionPane.showMessageDialog(this, "Cannot open comparison result file.", "Error", JOptionPane.ERROR_MESSAGE); diff --git a/MDM-LCAG-JavaFunctions/src/main/java/de/lcag/common/AbstractTable.java b/MDM-LCAG-JavaFunctions/src/main/java/de/lcag/common/AbstractTable.java index 2772c3d..dddc6d7 100644 --- a/MDM-LCAG-JavaFunctions/src/main/java/de/lcag/common/AbstractTable.java +++ b/MDM-LCAG-JavaFunctions/src/main/java/de/lcag/common/AbstractTable.java @@ -1180,12 +1180,8 @@ public abstract class AbstractTable implements Table { } else if (cmpValue instanceof String && !(thisValue instanceof String)) { thisValue = thisValue.toString(); } - } else { - result.addCellDifference(thisKey, n, colName, cmpRowNo, colName); - rowsAreEqual = false; - continue; - } - + } + if (!Objects.deepEquals(thisValue, cmpValue)) { result.addCellDifference(thisKey, n, colName, cmpRowNo, colName); totalNumberOfDifferentCells += 1; diff --git a/MDM-LCAG-JavaFunctions/src/main/java/de/lcag/common/WorkbookComparisonResult.java b/MDM-LCAG-JavaFunctions/src/main/java/de/lcag/common/WorkbookComparisonResult.java index b247777..2352a94 100644 --- a/MDM-LCAG-JavaFunctions/src/main/java/de/lcag/common/WorkbookComparisonResult.java +++ b/MDM-LCAG-JavaFunctions/src/main/java/de/lcag/common/WorkbookComparisonResult.java @@ -85,7 +85,7 @@ public class WorkbookComparisonResult { return result; } - boolean tablesAreEquals() { + public boolean tablesAreEquals() { boolean result = masterIncludesClientTables() && tablesToDeleteFromMaster.isEmpty(); return result;