private FieldDeclaration fieldDeclaration(EntityField field) { VariableDeclarator variableDec = new VariableDeclarator(new VariableDeclaratorId(field.getName())); List<AnnotationExpr> annoList = new ArrayList<>(); return new FieldDeclaration(ModifierSet.PRIVATE, annoList, ASTHelper.createReferenceType(field.getType().getSimpleName(), 0), Collections.singletonList(variableDec)); }
private VariableDeclarationExpr createAssignStatement() { VariableDeclarationExpr expr = ASTHelper.createVariableDeclarationExpr(ASTHelper.createReferenceType("Statement", 0), "stmt"); expr.setVars(Collections.singletonList(new VariableDeclarator( new VariableDeclaratorId("stmt"), new MethodCallExpr(ASTHelper.createNameExpr("connection"), "createStatement") ))); return expr; } private BlockStmt createStatementExecuteBlock() {
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; } }
private MethodDeclaration setterDeclaration(EntityField field) { MethodDeclaration decl = new MethodDeclaration(ModifierSet.PUBLIC, new VoidType(), "set" + CaseConverter.pascalCase(field.getName()), Collections.singletonList(new Parameter( ASTHelper.createReferenceType(field.getType().getSimpleName(), 0), new VariableDeclaratorId(field.getName())))); BlockStmt body = new BlockStmt(); body.setStmts( Collections.singletonList( new ExpressionStmt( new AssignExpr( new FieldAccessExpr(new ThisExpr(), field.getName()), ASTHelper.createNameExpr(field.getName()), AssignExpr.Operator.assign )))); decl.setBody(body); return decl; }