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 c9f0624fcc..deae671703 100644 --- a/src/main/java/gr/uom/java/xmi/diff/UMLModelDiff.java +++ b/src/main/java/gr/uom/java/xmi/diff/UMLModelDiff.java @@ -4905,12 +4905,14 @@ private void createExtractAndMoveMethodRefactoring(UMLOperation addedOperation, ExtractOperationRefactoring extractOperationRefactoring = new ExtractOperationRefactoring(operationBodyMapper, mapper.getContainer2(), addedOperationInvocations); refactorings.add(extractOperationRefactoring); - refactorings.addAll(operationBodyMapper.getRefactorings()); + //compute refactorings + operationBodyMapper.getRefactorings(); deleteAddedOperation(addedOperation); mapper.addChildMapper(operationBodyMapper); if(!nested) { MappingOptimizer optimizer = new MappingOptimizer(mapper.getClassDiff()); optimizer.optimizeDuplicateMappingsForExtract(mapper, refactorings); + refactorings.addAll(operationBodyMapper.getRefactoringsAfterPostProcessing()); Set mappers = findMappersWithTheSameFragment1(operationBodyMapper.getMappings()); if(mappers.size() > 0) { @@ -4918,6 +4920,9 @@ private void createExtractAndMoveMethodRefactoring(UMLOperation addedOperation, optimizer.optimizeDuplicateMappingsForMoveCode(new ArrayList<>(mappers), refactorings); } } + else { + refactorings.addAll(operationBodyMapper.getRefactoringsAfterPostProcessing()); + } } private UMLOperationBodyMapper createMapperForExtractAndMove(UMLOperation addedOperation, diff --git a/src/test/java/org/refactoringminer/test/TestAllRefactorings.java b/src/test/java/org/refactoringminer/test/TestAllRefactorings.java index 8e0a165e8d..9d75f18769 100644 --- a/src/test/java/org/refactoringminer/test/TestAllRefactorings.java +++ b/src/test/java/org/refactoringminer/test/TestAllRefactorings.java @@ -17,6 +17,6 @@ public void testAllRefactorings() throws Exception { GitHistoryRefactoringMinerImpl detector = new GitHistoryRefactoringMinerImpl(); TestBuilder test = new TestBuilder(detector, REPOS, Refactorings.All.getValue()); RefactoringPopulator.feedRefactoringsInstances(Refactorings.All.getValue(), Systems.FSE.getValue(), test); - test.assertExpectationsWithGitHubAPI(12417, 16, 226); + test.assertExpectationsWithGitHubAPI(12416, 16, 226); } } diff --git a/src/test/java/org/refactoringminer/test/TestNewDatasetRefactorings.java b/src/test/java/org/refactoringminer/test/TestNewDatasetRefactorings.java index dcdc47a2a5..34a024acaf 100644 --- a/src/test/java/org/refactoringminer/test/TestNewDatasetRefactorings.java +++ b/src/test/java/org/refactoringminer/test/TestNewDatasetRefactorings.java @@ -44,6 +44,6 @@ public void testAllRefactorings() throws Exception { .or(Refactorings.SplitMethod.getValue()); TestBuilder test = new TestBuilder(detector, REPOS, types); RefactoringPopulator.feedTSERefactoringInstances(test); - test.assertExpectationsWithGitHubAPI(2987, 253, 387); + test.assertExpectationsWithGitHubAPI(2987, 252, 387); } } diff --git a/src/test/resources/oracle/data.json b/src/test/resources/oracle/data.json index 53e63c29d4..0b5c392018 100644 --- a/src/test/resources/oracle/data.json +++ b/src/test/resources/oracle/data.json @@ -79728,13 +79728,6 @@ "validation": "TP", "detectionTools": "RefactoringMiner", "validators": null - }, { - "type": "Rename Parameter", - "description": "Rename Parameter stackName : String to name : String in method public pathElement(name String) : PathElement from class org.infinispan.server.jgroups.subsystem.StackResourceDefinition", - "comment": "

Extract And Move Method

", - "validation": "TP", - "detectionTools": "RefactoringMiner", - "validators": "Nikos" }, { "type": "Extract Variable", "description": "Extract Variable config : ProtocolConfiguration in method package createProtocols(stack ProtocolStackConfiguration, multicastCapable boolean) : List from class org.infinispan.server.jgroups.JChannelFactory", diff --git a/src/test/resources/oracle/expected.txt b/src/test/resources/oracle/expected.txt index ebfbf233fb..afca7a19ea 100644 --- a/src/test/resources/oracle/expected.txt +++ b/src/test/resources/oracle/expected.txt @@ -380,7 +380,7 @@ eb500cca282e39d01a9882e1d0a83186da6d1a26, 3, 0, 0 8707194f003444a9fb8e00bffa2893ef0c2492c6, 4, 0, 0 f36b736cf1206dd1af794d6fb4cee967a3553b1f, 1, 0, 0 d403a0b2322a74dde824094d67b7997c1c371883, 4, 0, 1 -8f446b6ddf540e1b1fefca34dd10f45ba7256095, 341, 3, 19 +8f446b6ddf540e1b1fefca34dd10f45ba7256095, 340, 3, 19 0bb4cca1105fc6eb86e7c4b75bfff3dbbd55f0c8, 4, 0, 0 c142b8ca3e9f9467931987ee16805cf53e6bc5d2, 5, 0, 0 d7f781da42e54824c17875a6036d3448672637f5, 10, 0, 0