Skip to content

Commit

Permalink
Fix failing test
Browse files Browse the repository at this point in the history
  • Loading branch information
tsantalis committed Jan 8, 2025
1 parent 283f2dc commit be2b10b
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/main/java/gr/uom/java/xmi/diff/UMLClassBaseDiff.java
Original file line number Diff line number Diff line change
Expand Up @@ -3141,6 +3141,8 @@ private List<UMLOperationBodyMapper> checkForExtractedOperations() throws Refact
List<ExtractOperationRefactoring> refs = detection.check(addedOperation);
List<ExtractOperationRefactoring> discarded = new ArrayList<>();
List<ExtractOperationRefactoring> duplicates = new ArrayList<>();
List<ExtractOperationRefactoring> superSets = new ArrayList<>();
List<ExtractOperationRefactoring> subSets = new ArrayList<>();
if(refs.size() > 1) {
for(ExtractOperationRefactoring refactoring : refs) {
Set<AbstractCodeMapping> mappings = refactoring.getBodyMapper().getMappings();
Expand All @@ -3164,6 +3166,11 @@ private List<UMLOperationBodyMapper> checkForExtractedOperations() throws Refact
if(ex.getBodyMapper().getMappings().equals(refactoring.getBodyMapper().getMappings())) {
duplicates.add(refactoring);
}
else if(ex.toString().equals(refactoring.toString()) &&
refactoring.getBodyMapper().getMappings().containsAll(ex.getBodyMapper().getMappings())) {
superSets.add(refactoring);
subSets.add(ex);
}
}
}
}
Expand All @@ -3172,6 +3179,9 @@ private List<UMLOperationBodyMapper> checkForExtractedOperations() throws Refact
}
for(ExtractOperationRefactoring refactoring : refs) {
if(!discarded.contains(refactoring) && !duplicates.contains(refactoring)) {
if(superSets.contains(refactoring)) {
this.refactorings.removeAll(subSets);
}
CompositeStatementObject synchronizedBlock = refactoring.extractedFromSynchronizedBlock();
if(synchronizedBlock != null) {
refactoring.getBodyMapper().getParentMapper().getNonMappedInnerNodesT1().remove(synchronizedBlock);
Expand Down

0 comments on commit be2b10b

Please sign in to comment.