diff --git a/src/main/java/org/codetracker/AbstractTracker.java b/src/main/java/org/codetracker/AbstractTracker.java index edb128f04be..9b8a5c6391d 100644 --- a/src/main/java/org/codetracker/AbstractTracker.java +++ b/src/main/java/org/codetracker/AbstractTracker.java @@ -184,7 +184,7 @@ private static UMLOperation matchesOperation(AbstractCall invocation, List blame() throws Exception { continue; } String rightMethodClassName = rightMethod.getUmlOperation().getClassName(); + String rightMethodSourceFolder = rightMethod.getUmlOperation().getLocationInfo().getSourceFolder(); Annotation rightAnnotation = rightMethod.findAnnotation(currentAnnotation::equalIdentifierIgnoringVersion); if (rightAnnotation == null) { continue; @@ -301,7 +302,7 @@ else if (leftOperation instanceof UMLInitializer && rightOperation instanceof UM } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightMethodClassName); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightMethodSourceFolder, rightMethodClassName); if (umlClassDiff != null) { found = changeHistory.checkClassDiffForAnnotationChange(currentVersion, parentVersion, equalMethod, equalAnnotation, umlClassDiff); @@ -332,6 +333,7 @@ else if (currentAnnotation.getOperation().get() instanceof UMLAttribute) { continue; } String rightAttributeClassName = rightAttribute.getUmlAttribute().getClassName(); + String rightAttributeSourceFolder = rightAttribute.getUmlAttribute().getLocationInfo().getSourceFolder(); Annotation rightAnnotation = rightAttribute.findAnnotation(currentAnnotation::equalIdentifierIgnoringVersion); if (rightAnnotation == null) { continue; @@ -366,7 +368,7 @@ else if (currentAnnotation.getOperation().get() instanceof UMLAttribute) { historyReport.step4PlusPlus(); break; } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffLocal, rightAttributeClassName); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffLocal, rightAttributeSourceFolder, rightAttributeClassName); found = changeHistory.checkClassDiffForAnnotationChange(currentVersion, parentVersion, rightAttribute, equalAnnotation, umlClassDiff); if (found) { historyReport.step4PlusPlus(); @@ -430,7 +432,7 @@ else if (currentAnnotation.getOperation().get() instanceof UMLAttribute) { UMLModelDiff umlModelDiffPartial = umlModelPairPartial.getLeft().diff(umlModelPairPartial.getRight()); //List refactoringsPartial = umlModelDiffPartial.getRefactorings(); - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffPartial, rightAttributeClassName); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffPartial, rightAttributeSourceFolder, rightAttributeClassName); boolean found = changeHistory.checkClassDiffForAnnotationChange(currentVersion, parentVersion, rightAttribute, equalAnnotation, umlClassDiff); if (found) { historyReport.step5PlusPlus(); @@ -493,7 +495,7 @@ else if (RefactoringType.MOVE_RENAME_ATTRIBUTE.equals(refactoring.getRefactoring } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightAttributeClassName); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightAttributeSourceFolder, rightAttributeClassName); if (umlClassDiff != null) { found = changeHistory.checkClassDiffForAnnotationChange(currentVersion, parentVersion, rightAttribute, equalAnnotation, umlClassDiff); @@ -522,6 +524,8 @@ else if (currentAnnotation.getClazz().isPresent()) { if (rightClass == null) { continue; } + String rightClassName = rightClass.getUmlClass().getName(); + String rightClassSourceFolder = rightClass.getUmlClass().getLocationInfo().getSourceFolder(); Annotation rightAnnotation = rightClass.findAnnotation(currentAnnotation::equalIdentifierIgnoringVersion); if (rightAnnotation == null) { continue; @@ -547,7 +551,7 @@ else if (currentAnnotation.getClazz().isPresent()) { UMLModelDiff umlModelDiffLocal = leftModel.diff(rightModel); { //Local Refactoring - UMLAbstractClassDiff classDiff = getUMLClassDiff(umlModelDiffLocal, rightClass.getUmlClass().getName()); + UMLAbstractClassDiff classDiff = getUMLClassDiff(umlModelDiffLocal, rightClassSourceFolder, rightClassName); boolean found = changeHistory.checkBodyOfMatchedClasses(currentVersion, parentVersion, rightAnnotation::equalIdentifierIgnoringVersion, classDiff); if (found) { historyReport.step4PlusPlus(); @@ -592,7 +596,7 @@ else if (currentAnnotation.getClazz().isPresent()) { else { UMLModelDiff umlModelDiffPartial = umlModelPairPartial.getLeft().diff(umlModelPairPartial.getRight()); //List refactoringsPartial = umlModelDiffPartial.getRefactorings(); - UMLAbstractClassDiff classDiff = getUMLClassDiff(umlModelDiffPartial, rightClass.getUmlClass().getName()); + UMLAbstractClassDiff classDiff = getUMLClassDiff(umlModelDiffPartial, rightClassSourceFolder, rightClassName); boolean found = changeHistory.checkBodyOfMatchedClasses(currentVersion, parentVersion, rightAnnotation::equalIdentifierIgnoringVersion, classDiff); if (found) { historyReport.step5PlusPlus(); @@ -615,7 +619,7 @@ else if (currentAnnotation.getClazz().isPresent()) { } } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightClass.getUmlClass().getName()); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightClassSourceFolder, rightClassName); if (umlClassDiff != null) { boolean found = changeHistory.checkBodyOfMatchedClasses(currentVersion, parentVersion, rightAnnotation::equalIdentifierIgnoringVersion, umlClassDiff); if (found) { diff --git a/src/main/java/org/codetracker/CommentTrackerImpl.java b/src/main/java/org/codetracker/CommentTrackerImpl.java index 0073fd84e43..756e26e8ee5 100644 --- a/src/main/java/org/codetracker/CommentTrackerImpl.java +++ b/src/main/java/org/codetracker/CommentTrackerImpl.java @@ -111,6 +111,7 @@ public History.HistoryInfo blame() throws Exception { continue; } String rightMethodClassName = rightMethod.getUmlOperation().getClassName(); + String rightMethodSourceFolder = rightMethod.getUmlOperation().getLocationInfo().getSourceFolder(); Comment rightComment = rightMethod.findComment(currentComment::equalIdentifierIgnoringVersion); if (rightComment == null) { continue; @@ -320,7 +321,7 @@ else if (leftOperation instanceof UMLInitializer && rightOperation instanceof UM } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightMethodClassName); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightMethodSourceFolder, rightMethodClassName); if (umlClassDiff != null) { found = changeHistory.checkClassDiffForCommentChange(currentVersion, parentVersion, equalMethod, equalComment, umlClassDiff); @@ -351,6 +352,7 @@ else if (currentComment.getOperation().get() instanceof UMLAttribute) { continue; } String rightAttributeClassName = rightAttribute.getUmlAttribute().getClassName(); + String rightAttributeSourceFolder = rightAttribute.getUmlAttribute().getLocationInfo().getSourceFolder(); Comment rightComment = rightAttribute.findComment(currentComment::equalIdentifierIgnoringVersion); if (rightComment == null) { continue; @@ -385,7 +387,7 @@ else if (currentComment.getOperation().get() instanceof UMLAttribute) { historyReport.step4PlusPlus(); break; } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffLocal, rightAttributeClassName); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffLocal, rightAttributeSourceFolder, rightAttributeClassName); found = changeHistory.checkClassDiffForCommentChange(currentVersion, parentVersion, rightAttribute, equalComment, umlClassDiff); if (found) { historyReport.step4PlusPlus(); @@ -449,7 +451,7 @@ else if (currentComment.getOperation().get() instanceof UMLAttribute) { UMLModelDiff umlModelDiffPartial = umlModelPairPartial.getLeft().diff(umlModelPairPartial.getRight()); //List refactoringsPartial = umlModelDiffPartial.getRefactorings(); - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffPartial, rightAttributeClassName); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffPartial, rightAttributeSourceFolder, rightAttributeClassName); boolean found = changeHistory.checkClassDiffForCommentChange(currentVersion, parentVersion, rightAttribute, equalComment, umlClassDiff); if (found) { historyReport.step5PlusPlus(); @@ -512,7 +514,7 @@ else if (RefactoringType.MOVE_RENAME_ATTRIBUTE.equals(refactoring.getRefactoring } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightAttributeClassName); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightAttributeSourceFolder, rightAttributeClassName); if (umlClassDiff != null) { found = changeHistory.checkClassDiffForCommentChange(currentVersion, parentVersion, rightAttribute, equalComment, umlClassDiff); @@ -541,6 +543,8 @@ else if (currentComment.getClazz().isPresent()) { if (rightClass == null) { continue; } + String rightClassName = rightClass.getUmlClass().getName(); + String rightClassSourceFolder = rightClass.getUmlClass().getLocationInfo().getSourceFolder(); Comment rightComment = rightClass.findComment(currentComment::equalIdentifierIgnoringVersion); if (rightComment == null) { continue; @@ -566,7 +570,7 @@ else if (currentComment.getClazz().isPresent()) { UMLModelDiff umlModelDiffLocal = leftModel.diff(rightModel); { //Local Refactoring - UMLAbstractClassDiff classDiff = getUMLClassDiff(umlModelDiffLocal, rightClass.getUmlClass().getName()); + UMLAbstractClassDiff classDiff = getUMLClassDiff(umlModelDiffLocal, rightClassSourceFolder, rightClassName); boolean found = changeHistory.checkBodyOfMatchedClasses(currentVersion, parentVersion, rightComment::equalIdentifierIgnoringVersion, classDiff); if (found) { historyReport.step4PlusPlus(); @@ -611,7 +615,7 @@ else if (currentComment.getClazz().isPresent()) { else { UMLModelDiff umlModelDiffPartial = umlModelPairPartial.getLeft().diff(umlModelPairPartial.getRight()); //List refactoringsPartial = umlModelDiffPartial.getRefactorings(); - UMLAbstractClassDiff classDiff = getUMLClassDiff(umlModelDiffPartial, rightClass.getUmlClass().getName()); + UMLAbstractClassDiff classDiff = getUMLClassDiff(umlModelDiffPartial, rightClassSourceFolder, rightClassName); boolean found = changeHistory.checkBodyOfMatchedClasses(currentVersion, parentVersion, rightComment::equalIdentifierIgnoringVersion, classDiff); if (found) { historyReport.step5PlusPlus(); @@ -634,7 +638,7 @@ else if (currentComment.getClazz().isPresent()) { } } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightClass.getUmlClass().getName()); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightClassSourceFolder, rightClassName); if (umlClassDiff != null) { boolean found = changeHistory.checkBodyOfMatchedClasses(currentVersion, parentVersion, rightComment::equalIdentifierIgnoringVersion, umlClassDiff); if (found) { diff --git a/src/main/java/org/codetracker/FileTrackerImpl.java b/src/main/java/org/codetracker/FileTrackerImpl.java index cd88661ac14..dfa6ce9f530 100644 --- a/src/main/java/org/codetracker/FileTrackerImpl.java +++ b/src/main/java/org/codetracker/FileTrackerImpl.java @@ -248,6 +248,8 @@ public void blame() throws Exception { if (rightClass == null) { continue; } + String rightClassName = rightClass.getUmlClass().getName(); + String rightClassSourceFolder = rightClass.getUmlClass().getLocationInfo().getSourceFolder(); if ("0".equals(parentCommitId)) { Class leftClass = Class.of(rightClass.getUmlClass(), parentVersion); startClassChangeHistory.get().handleAdd(leftClass, rightClass, "Initial commit!"); @@ -378,10 +380,12 @@ else if (leftSuperclass == null && rightSuperclass != null) { processLocallyRefactoredAttributes(notFoundAttributes, umlModelDiffLocal, currentVersion, parentVersion, refactorings); processLocallyRefactoredInnerClasses(notFoundInnerClasses, umlModelDiffLocal, currentVersion, parentVersion, refactorings); } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffLocal, rightClass.getUmlClass().getName()); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffLocal, rightClassSourceFolder, rightClassName); processImportsAndClassComments(umlClassDiff, rightClass, currentVersion, parentVersion, refactorings); for (Pair pair : foundInnerClasses) { - UMLAbstractClassDiff innerClassDiff = getUMLClassDiff(umlModelDiffLocal, pair.getRight().getUmlClass().getName()); + String rightInnerClassName = pair.getRight().getUmlClass().getName(); + String rightInnerClassSourceFolder = pair.getRight().getUmlClass().getLocationInfo().getSourceFolder(); + UMLAbstractClassDiff innerClassDiff = getUMLClassDiff(umlModelDiffLocal, rightInnerClassSourceFolder, rightInnerClassName); processImportsAndClassComments(innerClassDiff, pair.getRight(), currentVersion, parentVersion, refactorings); } Set leftSideClasses = new HashSet<>(classRefactored); @@ -408,10 +412,12 @@ else if (leftSuperclass == null && rightSuperclass != null) { processLocallyRefactoredAttributes(notFoundAttributes, umlModelDiffPartial, currentVersion, parentVersion, refactoringsPartial); processLocallyRefactoredInnerClasses(notFoundInnerClasses, umlModelDiffPartial, currentVersion, parentVersion, refactoringsPartial); } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffPartial, rightClass.getUmlClass().getName()); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffPartial, rightClassSourceFolder, rightClassName); processImportsAndClassComments(umlClassDiff, rightClass, currentVersion, parentVersion, refactoringsPartial); for (Pair pair : foundInnerClasses) { - UMLAbstractClassDiff innerClassDiff = getUMLClassDiff(umlModelDiffPartial, pair.getRight().getUmlClass().getName()); + String rightInnerClassName = pair.getRight().getUmlClass().getName(); + String rightInnerClassSourceFolder = pair.getRight().getUmlClass().getLocationInfo().getSourceFolder(); + UMLAbstractClassDiff innerClassDiff = getUMLClassDiff(umlModelDiffPartial, rightInnerClassSourceFolder, rightInnerClassName); processImportsAndClassComments(innerClassDiff, pair.getRight(), currentVersion, parentVersion, refactoringsPartial); } Set leftSideClasses = new HashSet<>(classRefactored); @@ -440,10 +446,12 @@ else if (leftSuperclass == null && rightSuperclass != null) { processLocallyRefactoredAttributes(notFoundAttributes, umlModelDiffAll, currentVersion, parentVersion, refactorings); processLocallyRefactoredInnerClasses(notFoundInnerClasses, umlModelDiffAll, currentVersion, parentVersion, refactorings); } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightClass.getUmlClass().getName()); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightClassSourceFolder, rightClassName); processImportsAndClassComments(umlClassDiff, rightClass, currentVersion, parentVersion, refactorings); for (Pair pair : foundInnerClasses) { - UMLAbstractClassDiff innerClassDiff = getUMLClassDiff(umlModelDiffAll, pair.getRight().getUmlClass().getName()); + String rightInnerClassName = pair.getRight().getUmlClass().getName(); + String rightInnerClassSourceFolder = pair.getRight().getUmlClass().getLocationInfo().getSourceFolder(); + UMLAbstractClassDiff innerClassDiff = getUMLClassDiff(umlModelDiffAll, rightInnerClassSourceFolder, rightInnerClassName); processImportsAndClassComments(innerClassDiff, pair.getRight(), currentVersion, parentVersion, refactorings); } Set leftSideClasses = new HashSet<>(classRefactored); @@ -852,6 +860,8 @@ else if (key2 instanceof Annotation) { private void processLocallyRefactoredAttributes(Map notFoundAttributes, UMLModelDiff umlModelDiff, Version currentVersion, Version parentVersion, List refactorings) throws Exception { for (Attribute rightAttribute : notFoundAttributes.keySet()) { + String rightAttributeClassName = rightAttribute.getUmlAttribute().getClassName(); + String rightAttributeSourceFolder = rightAttribute.getUmlAttribute().getLocationInfo().getSourceFolder(); AttributeTrackerChangeHistory startAttributeChangeHistory = notFoundAttributes.get(rightAttribute); Set attributeContainerChanged = startAttributeChangeHistory.isAttributeContainerChanged(umlModelDiff, refactorings, currentVersion, parentVersion, rightAttribute::equalIdentifierIgnoringVersion, getClassMoveDiffList(umlModelDiff)); boolean containerChanged = !attributeContainerChanged.isEmpty(); @@ -912,7 +922,7 @@ private void processLocallyRefactoredAttributes(Map foundPair = null; for (Pair pair : umlClassDiff.getCommonAtrributes()) { @@ -963,7 +973,7 @@ else if (key2 instanceof Annotation) { if (found) { continue; } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiff, rightAttribute.getUmlAttribute().getClassName()); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiff, rightAttributeSourceFolder, rightAttributeClassName); startAnnotationChangeHistory.checkClassDiffForAnnotationChange(currentVersion, parentVersion, rightAttribute, currentAnnotation::equalIdentifierIgnoringVersion, umlClassDiff); } } @@ -1385,6 +1395,8 @@ else if (leftSuperclass == null && rightSuperclass != null) { private void processLocallyRefactoredInnerClasses(Map notFoundInnerClasses, UMLModelDiff umlModelDiff, Version currentVersion, Version parentVersion, List refactorings) throws RefactoringMinerTimedOutException { for (Class rightInnerClass : notFoundInnerClasses.keySet()) { + String rightInnerClassName = rightInnerClass.getUmlClass().getName(); + String rightInnerClassSourceFolder = rightInnerClass.getUmlClass().getLocationInfo().getSourceFolder(); ClassTrackerChangeHistory startInnerClassChangeHistory = notFoundInnerClasses.get(rightInnerClass); Set classRefactored = startInnerClassChangeHistory.analyseClassRefactorings(refactorings, currentVersion, parentVersion, rightInnerClass::equalIdentifierIgnoringVersion); Set innerClassContainerChanged = startInnerClassChangeHistory.isInnerClassContainerChanged(umlModelDiff, refactorings, currentVersion, parentVersion, rightInnerClass::equalIdentifierIgnoringVersion, getClassMoveDiffList(umlModelDiff)); @@ -1411,7 +1423,7 @@ private void processLocallyRefactoredInnerClasses(Map blame() throws Exception { if (rightClass == null) { continue; } + String rightClassName = rightClass.getUmlClass().getName(); + String rightClassSourceFolder = rightClass.getUmlClass().getLocationInfo().getSourceFolder(); Import rightImport = rightClass.findImport(currentImport::equalIdentifierIgnoringVersion); if (rightImport == null) { continue; @@ -108,7 +110,7 @@ public History.HistoryInfo blame() throws Exception { UMLModelDiff umlModelDiffLocal = leftModel.diff(rightModel); { //Local Refactoring - UMLAbstractClassDiff classDiff = getUMLClassDiff(umlModelDiffLocal, rightClass.getUmlClass().getName()); + UMLAbstractClassDiff classDiff = getUMLClassDiff(umlModelDiffLocal, rightClassSourceFolder, rightClassName); boolean found = changeHistory.checkBodyOfMatchedClasses(currentVersion, parentVersion, rightImport::equalIdentifierIgnoringVersion, classDiff); if (found) { historyReport.step4PlusPlus(); @@ -153,7 +155,7 @@ public History.HistoryInfo blame() throws Exception { else { UMLModelDiff umlModelDiffPartial = umlModelPairPartial.getLeft().diff(umlModelPairPartial.getRight()); //List refactoringsPartial = umlModelDiffPartial.getRefactorings(); - UMLAbstractClassDiff classDiff = getUMLClassDiff(umlModelDiffPartial, rightClass.getUmlClass().getName()); + UMLAbstractClassDiff classDiff = getUMLClassDiff(umlModelDiffPartial, rightClassSourceFolder, rightClassName); boolean found = changeHistory.checkBodyOfMatchedClasses(currentVersion, parentVersion, rightImport::equalIdentifierIgnoringVersion, classDiff); if (found) { historyReport.step5PlusPlus(); @@ -176,7 +178,7 @@ public History.HistoryInfo blame() throws Exception { } } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightClass.getUmlClass().getName()); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightClassSourceFolder, rightClassName); if (umlClassDiff != null) { boolean found = changeHistory.checkBodyOfMatchedClasses(currentVersion, parentVersion, rightImport::equalIdentifierIgnoringVersion, umlClassDiff); if (found) { diff --git a/src/main/java/org/codetracker/VariableTrackerImpl.java b/src/main/java/org/codetracker/VariableTrackerImpl.java index 0753702bc07..1d7be560b74 100644 --- a/src/main/java/org/codetracker/VariableTrackerImpl.java +++ b/src/main/java/org/codetracker/VariableTrackerImpl.java @@ -79,6 +79,7 @@ public History track() throws Exception { continue; } String rightMethodClassName = rightMethod.getUmlOperation().getClassName(); + String rightMethodSourceFolder = rightMethod.getUmlOperation().getLocationInfo().getSourceFolder(); Variable rightVariable = rightMethod.findVariable(currentVariable::equalIdentifierIgnoringVersion); if (rightVariable == null) { @@ -280,7 +281,7 @@ else if (leftOperation instanceof UMLInitializer && rightOperation instanceof UM } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightMethodClassName); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightMethodSourceFolder, rightMethodClassName); if (umlClassDiff != null) { found = changeHistory.checkClassDiffForVariableChange(currentVersion, parentVersion, equalMethod, equalVariable, umlClassDiff); diff --git a/src/main/java/org/codetracker/VariableTrackerWithLocalFiles.java b/src/main/java/org/codetracker/VariableTrackerWithLocalFiles.java index 517ae05692b..ebd43945b31 100644 --- a/src/main/java/org/codetracker/VariableTrackerWithLocalFiles.java +++ b/src/main/java/org/codetracker/VariableTrackerWithLocalFiles.java @@ -110,6 +110,7 @@ public History track() throws Exception { continue; } String rightMethodClassName = rightMethod.getUmlOperation().getClassName(); + String rightMethodSourceFolder = rightMethod.getUmlOperation().getLocationInfo().getSourceFolder(); Variable rightVariable = rightMethod.findVariable(currentVariable::equalIdentifierIgnoringVersion); if (rightVariable == null) { @@ -309,7 +310,7 @@ else if (leftOperation instanceof UMLInitializer && rightOperation instanceof UM } - UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightMethodClassName); + UMLAbstractClassDiff umlClassDiff = getUMLClassDiff(umlModelDiffAll, rightMethodSourceFolder, rightMethodClassName); if (umlClassDiff != null) { found = changeHistory.checkClassDiffForVariableChange(currentVersion, parentVersion, equalMethod, equalVariable, umlClassDiff);