From b69e49d63d13de1ec3d5250518f7338c63155f36 Mon Sep 17 00:00:00 2001 From: tsantalis Date: Sat, 4 Jan 2025 19:35:24 -0500 Subject: [PATCH] Exception fix --- src/main/java/gr/uom/java/xmi/diff/UMLModelDiff.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/gr/uom/java/xmi/diff/UMLModelDiff.java b/src/main/java/gr/uom/java/xmi/diff/UMLModelDiff.java index 5373a4e2f..c81600058 100644 --- a/src/main/java/gr/uom/java/xmi/diff/UMLModelDiff.java +++ b/src/main/java/gr/uom/java/xmi/diff/UMLModelDiff.java @@ -4456,9 +4456,14 @@ else if(mapping instanceof CompositeStatementObjectMapping && !mapper.getNonMapp } private static boolean samePackage(AbstractCodeMapping mapping) { - String filePathBefore = mapping.getFragment1().getLocationInfo().getFilePath().substring(0, mapping.getFragment1().getLocationInfo().getFilePath().lastIndexOf("/")); - String filePathAfter = mapping.getFragment2().getLocationInfo().getFilePath().substring(0, mapping.getFragment2().getLocationInfo().getFilePath().lastIndexOf("/")); - return filePathBefore.equals(filePathAfter); + String filePath1 = mapping.getFragment1().getLocationInfo().getFilePath(); + String filePath2 = mapping.getFragment2().getLocationInfo().getFilePath(); + if(filePath1.contains("/") && filePath2.contains("/")) { + String filePathBefore = filePath1.substring(0, filePath1.lastIndexOf("/")); + String filePathAfter = filePath2.substring(0, filePath2.lastIndexOf("/")); + return filePathBefore.equals(filePathAfter); + } + return false; } private boolean skipRefactoring(Set mappings) {