private List<UMLAttribute> getAddedAttributesInCommonClasses() { List<UMLAttribute> addedAttributes = new ArrayList<UMLAttribute>(); for(UMLClassDiff classDiff : commonClassDiffList) { addedAttributes.addAll(classDiff.getAddedAttributes()); } return addedAttributes; }
private List<UMLOperation> getAddedAndExtractedOperationsInCommonClasses() { List<UMLOperation> addedOperations = new ArrayList<UMLOperation>(); for(UMLClassDiff classDiff : commonClassDiffList) { addedOperations.addAll(classDiff.getAddedOperations()); for(Refactoring ref : classDiff.getRefactorings()) { if(ref instanceof ExtractOperationRefactoring) { ExtractOperationRefactoring extractRef = (ExtractOperationRefactoring)ref; addedOperations.add(extractRef.getExtractedOperation()); } } } return addedOperations; }
private List<UMLOperationBodyMapper> getOperationBodyMappersInCommonClasses() { List<UMLOperationBodyMapper> mappers = new ArrayList<UMLOperationBodyMapper>(); for(UMLClassDiff classDiff : commonClassDiffList) { mappers.addAll(classDiff.getOperationBodyMapperList()); } return mappers; }
this.addOperationBodyMapper(operationBodyMapper); if(operationBodyMapper.callsRemovedAndAddedOperation(getRemovedOperations(), getAddedOperations())) { operationBodyMapper.getMappings(); if(removedOperation.equalsIgnoringVisibility(addedOperation)) { UMLOperationBodyMapper operationBodyMapper = new UMLOperationBodyMapper(removedOperation, addedOperation, this); this.addOperationBodyMapper(operationBodyMapper); if(operationBodyMapper.callsRemovedAndAddedOperation(getRemovedOperations(), getAddedOperations())) { operationBodyMapper.getMappings();
private UMLClassBaseDiff getUMLClassDiffWithExistingAttributeAfter(Replacement pattern) { for(UMLClassDiff classDiff : commonClassDiffList) { if(classDiff.findAttributeInOriginalClass(pattern.getAfter()) != null && classDiff.findAttributeInNextClass(pattern.getAfter()) != null) return classDiff; } for(UMLClassMoveDiff classDiff : classMoveDiffList) { if(classDiff.findAttributeInOriginalClass(pattern.getAfter()) != null && classDiff.findAttributeInNextClass(pattern.getAfter()) != null) return classDiff; } for(UMLClassMoveDiff classDiff : innerClassMoveDiffList) { if(classDiff.findAttributeInOriginalClass(pattern.getAfter()) != null && classDiff.findAttributeInNextClass(pattern.getAfter()) != null) return classDiff; } for(UMLClassRenameDiff classDiff : classRenameDiffList) { if(classDiff.findAttributeInOriginalClass(pattern.getAfter()) != null && classDiff.findAttributeInNextClass(pattern.getAfter()) != null) return classDiff; } return null; }
for(UMLClass umlClass : classList) { if(umlModel.classList.contains(umlClass)) { UMLClassDiff classDiff = new UMLClassDiff(umlClass, umlModel.getClass(umlClass), modelDiff); classDiff.process(); if(!classDiff.isEmpty()) modelDiff.addUMLClassDiff(classDiff);
private List<UMLOperation> getAddedOperationsInCommonClasses() { List<UMLOperation> addedOperations = new ArrayList<UMLOperation>(); for(UMLClassDiff classDiff : commonClassDiffList) { addedOperations.addAll(classDiff.getAddedOperations()); } return addedOperations; }
private List<UMLAttribute> getRemovedAttributesInCommonClasses() { List<UMLAttribute> removedAttributes = new ArrayList<UMLAttribute>(); for(UMLClassDiff classDiff : commonClassDiffList) { removedAttributes.addAll(classDiff.getRemovedAttributes()); } return removedAttributes; }
private List<ConvertAnonymousClassToTypeRefactoring> identifyConvertAnonymousClassToTypeRefactorings() { List<ConvertAnonymousClassToTypeRefactoring> refactorings = new ArrayList<ConvertAnonymousClassToTypeRefactoring>(); for(UMLClassDiff classDiff : commonClassDiffList) { for(UMLAnonymousClass anonymousClass : classDiff.getRemovedAnonymousClasses()) { for(UMLClass addedClass : addedClasses) { if(addedClass.getAttributes().containsAll(anonymousClass.getAttributes()) && addedClass.getOperations().containsAll(anonymousClass.getOperations())) { ConvertAnonymousClassToTypeRefactoring refactoring = new ConvertAnonymousClassToTypeRefactoring(anonymousClass, addedClass); refactorings.add(refactoring); } } } } return refactorings; }
Map<Replacement, Set<CandidateAttributeRefactoring>> map = new LinkedHashMap<Replacement, Set<CandidateAttributeRefactoring>>(); for(UMLClassDiff classDiff : commonClassDiffList) { refactorings.addAll(classDiff.getRefactorings()); extractRenamePatterns(classDiff, map);
private UMLClassBaseDiff getUMLClassDiffWithNewAttributeAfter(Replacement pattern) { for(UMLClassDiff classDiff : commonClassDiffList) { if(classDiff.findAttributeInOriginalClass(pattern.getAfter()) == null && classDiff.findAttributeInNextClass(pattern.getAfter()) != null) return classDiff; } for(UMLClassMoveDiff classDiff : classMoveDiffList) { if(classDiff.findAttributeInOriginalClass(pattern.getAfter()) == null && classDiff.findAttributeInNextClass(pattern.getAfter()) != null) return classDiff; } for(UMLClassMoveDiff classDiff : innerClassMoveDiffList) { if(classDiff.findAttributeInOriginalClass(pattern.getAfter()) == null && classDiff.findAttributeInNextClass(pattern.getAfter()) != null) return classDiff; } for(UMLClassRenameDiff classDiff : classRenameDiffList) { if(classDiff.findAttributeInOriginalClass(pattern.getAfter()) == null && classDiff.findAttributeInNextClass(pattern.getAfter()) != null) return classDiff; } return null; }
private UMLClassBaseDiff getUMLClassDiffWithAttribute(Replacement pattern) { for(UMLClassDiff classDiff : commonClassDiffList) { if(classDiff.findAttributeInOriginalClass(pattern.getBefore()) != null && classDiff.findAttributeInNextClass(pattern.getAfter()) != null) return classDiff; } for(UMLClassMoveDiff classDiff : classMoveDiffList) { if(classDiff.findAttributeInOriginalClass(pattern.getBefore()) != null && classDiff.findAttributeInNextClass(pattern.getAfter()) != null) return classDiff; } for(UMLClassMoveDiff classDiff : innerClassMoveDiffList) { if(classDiff.findAttributeInOriginalClass(pattern.getBefore()) != null && classDiff.findAttributeInNextClass(pattern.getAfter()) != null) return classDiff; } for(UMLClassRenameDiff classDiff : classRenameDiffList) { if(classDiff.findAttributeInOriginalClass(pattern.getBefore()) != null && classDiff.findAttributeInNextClass(pattern.getAfter()) != null) return classDiff; } return null; }