@Override public StringLiteralExpr doMerge(StringLiteralExpr first, StringLiteralExpr second) { StringLiteralExpr sle = new StringLiteralExpr(); sle.setValue(first.getValue()); return sle; }
private void refactor(MethodDeclaration methodDeclaration, StringLiteralExpr memberValue, SingleMemberAnnotationExpr annotation) { if (StringEscapeUtils.unescapeJava(memberValue.getValue()).trim().equals(oldStepValue.getStepAnnotationText().trim())) { newParameters = Arrays.asList(new Parameter[paramPositions.size()]); memberValue.setValue(StringEscapeUtils.escapeJava(newStepValue.getStepAnnotationText())); List<Parameter> parameters = methodDeclaration.getParameters(); for (int i = 0, paramPositionsSize = paramPositions.size(); i < paramPositionsSize; i++) { if (paramPositions.get(i).getOldPosition() < 0) { String paramName = Util.getValidJavaIdentifier(Util.convertToCamelCase("arg " + newStepValue.getParameters().get(i))); if (paramName.equals("arg")) { paramName += i; } newParameters.set(paramPositions.get(i).getNewPosition(), new Parameter(new ClassOrInterfaceType("Object"), new VariableDeclaratorId(paramName))); } else { newParameters.set(paramPositions.get(i).getNewPosition(), parameters.get(paramPositions.get(i).getOldPosition())); } } for (int k = 0; k < newParameters.size(); k++) { for (int l = k + 1; l < newParameters.size(); l++) { if (newParameters.get(k).getName().equals(newParameters.get(l).getName())) { newParameters.set(l, new Parameter(new ClassOrInterfaceType("Object"), new VariableDeclaratorId(newParameters.get(l).getName() + l))); } } } methodDeclaration.setParameters(newParameters); annotation.setMemberValue(memberValue); this.javaElement = new JavaRefactoringElement(getJavaFileText(methodDeclaration), null); stepSpan = annotation.getChildrenNodes().get(1).getRange(); this.refactored = true; } }
private void refactor(MethodDeclaration methodDeclaration, StringLiteralExpr memberValue, SingleMemberAnnotationExpr annotation) { if (StringEscapeUtils.unescapeJava(memberValue.getValue()).trim().equals(oldStepValue.getStepAnnotationText().trim())) { newParameters = Arrays.asList(new Parameter[paramPositions.size()]); memberValue.setValue(StringEscapeUtils.escapeJava(newStepValue.getStepAnnotationText())); List<Parameter> parameters = methodDeclaration.getParameters(); for (int i = 0, paramPositionsSize = paramPositions.size(); i < paramPositionsSize; i++) { if (paramPositions.get(i).getOldPosition() < 0) { String paramName = Util.getValidJavaIdentifier(Util.convertToCamelCase("arg " + newStepValue.getParameters().get(i))); if (paramName.equals("arg")) { paramName += i; } newParameters.set(paramPositions.get(i).getNewPosition(), new Parameter(new ClassOrInterfaceType("Object"), new VariableDeclaratorId(paramName))); } else { newParameters.set(paramPositions.get(i).getNewPosition(), parameters.get(paramPositions.get(i).getOldPosition())); } } for (int k = 0; k < newParameters.size(); k++) { for (int l = k + 1; l < newParameters.size(); l++) { if (newParameters.get(k).getName().equals(newParameters.get(l).getName())) { newParameters.set(l, new Parameter(new ClassOrInterfaceType("Object"), new VariableDeclaratorId(newParameters.get(l).getName() + l))); } } } methodDeclaration.setParameters(newParameters); annotation.setMemberValue(memberValue); this.javaElement = new JavaRefactoringElement(getJavaFileText(methodDeclaration), null); stepSpan = annotation.getChildrenNodes().get(1).getRange(); this.refactored = true; } }