From c457b84ebe56a63923aaa602f17c6b7ef9c65cf3 Mon Sep 17 00:00:00 2001 From: tsantalis Date: Sun, 29 Dec 2024 10:46:17 -0500 Subject: [PATCH] Filter Move Method mappers based on source folders https://github.com/hibernate/hibernate-search/commit/67c3402d72dfb225ae67c57f4bb3de684eb42c28 --- .../gr/uom/java/xmi/diff/UMLModelDiff.java | 42 ++++++++++++++++++- 1 file changed, 40 insertions(+), 2 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 40342f2262..40e6c1e1d9 100644 --- a/src/main/java/gr/uom/java/xmi/diff/UMLModelDiff.java +++ b/src/main/java/gr/uom/java/xmi/diff/UMLModelDiff.java @@ -4864,7 +4864,8 @@ else if((mappings > 0 && mappedElementsMoreThanNonMappedT1AndT2(mappings, operat firstMappers.clear(); firstMappers.add(bestMapper); } - for(UMLOperationBodyMapper firstMapper : firstMappers) { + List filteredFirstMappers = promoteSameSourceFolderMoves(firstMappers); + for(UMLOperationBodyMapper firstMapper : filteredFirstMappers) { UMLOperation removedOperation = firstMapper.getOperation1(); if(sameSourceAndTargetClass) { removedOperations.remove(removedOperation); @@ -4971,7 +4972,8 @@ else if((mappings > 0 && mappedElementsMoreThanNonMappedT1AndT2(mappings, operat firstMappers.clear(); firstMappers.add(bestMapper); } - for(UMLOperationBodyMapper firstMapper : firstMappers) { + List filteredFirstMappers = promoteSameSourceFolderMoves(firstMappers); + for(UMLOperationBodyMapper firstMapper : filteredFirstMappers) { UMLOperation addedOperation = firstMapper.getOperation2(); if(sameSourceAndTargetClass) { addedOperations.remove(addedOperation); @@ -4984,6 +4986,42 @@ else if((mappings > 0 && mappedElementsMoreThanNonMappedT1AndT2(mappings, operat } } + private List promoteSameSourceFolderMoves(List firstMappers) { + List list = new ArrayList(firstMappers); + //filter based on source folder + for(int i=0; i list2 = new ArrayList(list); + //filter based on signature + for(int i=0; i