public RenamePattern reverse() { return new RenamePattern(after, before); } }
public String toString() { StringBuilder sb = new StringBuilder(); sb.append(getName()).append("\t"); String originalPath = pattern.getBefore().endsWith(".") ? pattern.getBefore().substring(0, pattern.getBefore().length()-1) : pattern.getBefore(); sb.append(originalPath); sb.append(" to "); String movedPath = pattern.getAfter().endsWith(".") ? pattern.getAfter().substring(0, pattern.getAfter().length()-1) : pattern.getAfter(); sb.append(movedPath); return sb.toString(); } }
RenamePattern renamePattern = refactoring.getRenamePattern(); if(renamePattern.getBefore().contains(renamePattern.getAfter()) || renamePattern.getAfter().contains(renamePattern.getBefore()) || !originalClass.isTopLevel() || !movedClass.isTopLevel()) { refactorings.add(refactoring); boolean foundInMatchingRenamePackageRefactoring = false; for(RenamePackageRefactoring renamePackageRefactoring : renamePackageRefactorings) { if(renamePackageRefactoring.getPattern().equals(renamePattern)) { renamePackageRefactoring.addMoveClassRefactoring(refactoring); foundInMatchingRenamePackageRefactoring = true; boolean foundInMatchingMoveSourceFolderRefactoring = false; for(MoveSourceFolderRefactoring moveSourceFolderRefactoring : moveSourceFolderRefactorings) { if(moveSourceFolderRefactoring.getPattern().equals(renamePattern)) { moveSourceFolderRefactoring.addMovedClassToAnotherSourceFolder(refactoring); foundInMatchingMoveSourceFolderRefactoring = true;
int endIndexS2 = umlClass.name.lastIndexOf(commonSuffix); String diff2 = beginIndexS2 > endIndexS2 ? "" : umlClass.name.substring(beginIndexS2, endIndexS2); pattern = new RenamePattern(diff1, diff2); totalOperations++; if(umlClass.containsOperationWithTheSameSignatureIgnoringChangedTypes(operation) || (pattern != null && umlClass.containsOperationWithTheSameRenamePattern(operation, pattern.reverse()))) { commonOperations.add(operation); totalAttributes++; if(umlClass.containsAttributeWithTheSameNameIgnoringChangedType(attribute) || (pattern != null && umlClass.containsAttributeWithTheSameRenamePattern(attribute, pattern.reverse()))) { commonAttributes.add(attribute);
private boolean isSourcePackageDeleted(RenamePackageRefactoring renamePackageRefactoring) { for(String deletedFolderPath : deletedFolderPaths) { String originalPath = renamePackageRefactoring.getPattern().getBefore(); //remove last . String trimmedOriginalPath = originalPath.endsWith(".") ? originalPath.substring(0, originalPath.length()-1) : originalPath; String convertedPackageToFilePath = trimmedOriginalPath.replaceAll("\\.", UMLModelASTReader.systemFileSeparator); if(deletedFolderPath.endsWith(convertedPackageToFilePath)) { return true; } } return false; }
public String toString() { StringBuilder sb = new StringBuilder(); sb.append(getName()).append("\t"); String originalPath = pattern.getBefore().endsWith("/") ? pattern.getBefore().substring(0, pattern.getBefore().length()-1) : pattern.getBefore(); sb.append(originalPath); sb.append(" to "); String movedPath = pattern.getAfter().endsWith("/") ? pattern.getAfter().substring(0, pattern.getAfter().length()-1) : pattern.getAfter(); sb.append(movedPath); return sb.toString(); }
public RenamePattern getRenamePattern() { int separatorPos = PrefixSuffixUtils.separatorPosOfCommonSuffix('/', originalPath, movedPath); if (separatorPos == -1) { return new RenamePattern(originalPath, movedPath); } String original = originalPath.substring(0, originalPath.length() - separatorPos); String moved = movedPath.substring(0, movedPath.length() - separatorPos); return new RenamePattern(original, moved); } }
public boolean containsOperationWithTheSameRenamePattern(UMLOperation operation, RenamePattern pattern) { if(pattern == null) return false; for(UMLOperation originalOperation : operations) { String originalOperationName = originalOperation.getName(); if(originalOperationName.contains(pattern.getBefore())) { String originalOperationNameAfterReplacement = originalOperationName.replace(pattern.getBefore(), pattern.getAfter()); if(originalOperationNameAfterReplacement.equals(operation.getName())) return true; } } return false; }
public RenamePattern getRenamePattern() { int separatorPos = PrefixSuffixUtils.separatorPosOfCommonSuffix('.', originalClass.getName(), movedClass.getName()); if (separatorPos == -1) { return new RenamePattern(originalClass.getName(), movedClass.getName()); } String originalPath = originalClass.getName().substring(0, originalClass.getName().length() - separatorPos); String movedPath = movedClass.getName().substring(0, movedClass.getName().length() - separatorPos); return new RenamePattern(originalPath, movedPath); }
public boolean containsAttributeWithTheSameRenamePattern(UMLAttribute attribute, RenamePattern pattern) { if(pattern == null) return false; for(UMLAttribute originalAttribute : attributes) { String originalAttributeName = originalAttribute.getName(); if(originalAttributeName.contains(pattern.getBefore())) { String originalAttributeNameAfterReplacement = originalAttributeName.replace(pattern.getBefore(), pattern.getAfter()); if(originalAttributeNameAfterReplacement.equals(attribute.getName())) return true; } } return false; }