@Override public int compare(UMLClassMoveDiff o1, UMLClassMoveDiff o2) { double sourceFolderDistance1 = o1.getMovedClass().normalizedSourceFolderDistance(o1.getOriginalClass()); double sourceFolderDistance2 = o2.getMovedClass().normalizedSourceFolderDistance(o2.getOriginalClass()); return Double.compare(sourceFolderDistance1, sourceFolderDistance2); } }
minClassMoveDiff.process(); classMoveDiffList.add(minClassMoveDiff); addedClasses.remove(minClassMoveDiff.getMovedClass()); removedClassIterator.remove();
private String isMovedClass(UMLClass umlClass) { for(UMLClassMoveDiff moveDiff : classMoveDiffList) { if(moveDiff.getOriginalClass().equals(umlClass)) return moveDiff.getMovedClass().getName(); } return null; }
private boolean conflictingMoveOfTopLevelClass(UMLClass removedClass, UMLClass addedClass) { if(!removedClass.isTopLevel() && !addedClass.isTopLevel()) { //check if classMoveDiffList contains already a move for the outer class to a different target for(UMLClassMoveDiff diff : classMoveDiffList) { if((diff.getOriginalClass().getName().startsWith(removedClass.getPackageName()) && !diff.getMovedClass().getName().startsWith(addedClass.getPackageName())) || (!diff.getOriginalClass().getName().startsWith(removedClass.getPackageName()) && diff.getMovedClass().getName().startsWith(addedClass.getPackageName()))) { return true; } } } return false; }
private boolean outerClassMovedOrRenamed(UMLClass umlClass) { if(!umlClass.isTopLevel()) { for(UMLClassMoveDiff diff : classMoveDiffList) { if(diff.getOriginalClass().getName().equals(umlClass.getPackageName()) || diff.getMovedClass().getName().equals(umlClass.getPackageName())) { return true; } } for(UMLClassRenameDiff diff : classRenameDiffList) { if(diff.getOriginalClass().getName().equals(umlClass.getPackageName()) || diff.getRenamedClass().getName().equals(umlClass.getPackageName())) { return true; } } } return false; }
UMLClass originalClass = classMoveDiff.getOriginalClass(); String originalName = originalClass.getName(); UMLClass movedClass = classMoveDiff.getMovedClass(); String movedName = movedClass.getName();