private List<Refactoring> getRenameClassRefactorings() { List<Refactoring> refactorings = new ArrayList<Refactoring>(); for(UMLClassRenameDiff classRenameDiff : classRenameDiffList) { Refactoring refactoring = null; if(classRenameDiff.samePackage()) refactoring = new RenameClassRefactoring(classRenameDiff.getOriginalClass(), classRenameDiff.getRenamedClass()); else refactoring = new MoveAndRenameClassRefactoring(classRenameDiff.getOriginalClass(), classRenameDiff.getRenamedClass()); refactorings.add(refactoring); } return refactorings; }
@Override public int compare(UMLClassRenameDiff o1, UMLClassRenameDiff o2) { double nameDistance1 = o1.getRenamedClass().normalizedNameDistance(o1.getOriginalClass()); double nameDistance2 = o2.getRenamedClass().normalizedNameDistance(o2.getOriginalClass()); if(nameDistance1 != nameDistance2) { return Double.compare(nameDistance1, nameDistance2); } else { double packageDistance1 = o1.getRenamedClass().normalizedPackageNameDistance(o1.getOriginalClass()); double packageDistance2 = o2.getRenamedClass().normalizedPackageNameDistance(o2.getOriginalClass()); return Double.compare(packageDistance1, packageDistance2); } } }
private String isRenamedClass(UMLClass umlClass) { for(UMLClassRenameDiff renameDiff : classRenameDiffList) { if(renameDiff.getOriginalClass().equals(umlClass)) return renameDiff.getRenamedClass().getName(); } return null; }
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; }