diff --git a/AlgebraicDataflowArchitectureModel/src/generators/JerseySpecific.java b/AlgebraicDataflowArchitectureModel/src/generators/JerseySpecific.java index 04cfad8..dd5e93b 100644 --- a/AlgebraicDataflowArchitectureModel/src/generators/JerseySpecific.java +++ b/AlgebraicDataflowArchitectureModel/src/generators/JerseySpecific.java @@ -4,7 +4,9 @@ import java.util.Map; import code.ast.Annotation; +import code.ast.Block; import code.ast.CompilationUnit; +import code.ast.EnhancedForStatement; import code.ast.FieldDeclaration; import code.ast.ImportDeclaration; import code.ast.MethodDeclaration; @@ -112,17 +114,20 @@ if (paramType instanceof ListType) { Type compType = ((ListType) paramType).getElementType(); Type wrapperType = langSpec.getWrapperType(compType); + EnhancedForStatement forStatement = null; if (!langSpec.isValueType(compType)) { - statements += langSpec.getForStatementForCollection(langSpec.newVariableDeclaration(compType, "i"), value) + "\n"; + forStatement = langSpec.getForStatementForCollection(langSpec.newVariableDeclaration(compType, "i"), value); } else { - statements += langSpec.getForStatementForCollection(langSpec.newVariableDeclaration(wrapperType, "i"), value) + "\n"; + forStatement = langSpec.getForStatementForCollection(langSpec.newVariableDeclaration(wrapperType, "i"), value); } + Block forBlock = new Block(); if (DataConstraintModel.typeTuple.isAncestorOf(compType) || DataConstraintModel.typePair.isAncestorOf(paramType) || DataConstraintModel.typeList.isAncestorOf(compType) || DataConstraintModel.typeMap.isAncestorOf(paramType)) { - statements += "\tform.param(\"" + paramName + "\", " + langSpec.getConstructorInvocation("ObjectMapper", null) + ".writeValueAsString(i))" + langSpec.getStatementDelimiter() + "\n"; // typeTuple: {"1.0":2.0}, typePair: {"left": 1.0, "right":2.0} + forBlock.addStatement("form.param(\"" + paramName + "\", " + langSpec.getConstructorInvocation("ObjectMapper", null) + ".writeValueAsString(i))" + langSpec.getStatementDelimiter()); // typeTuple: {"1.0":2.0}, typePair: {"left": 1.0, "right":2.0} } else { - statements += "\tform.param(\"" + paramName + "\", i.toString())" + langSpec.getStatementDelimiter() + "\n"; + forBlock.addStatement("form.param(\"" + paramName + "\", i.toString())" + langSpec.getStatementDelimiter()); } - statements += langSpec.getEndForStatement("i") + "\n"; + forStatement.setBody(forBlock); + statements += forStatement; // return "Entity entity = Entity.entity(" + paramName + ".toString(), MediaType.APPLICATION_JSON);"; } } else if (DataConstraintModel.typeTuple.isAncestorOf(paramType) || DataConstraintModel.typePair.isAncestorOf(paramType) || DataConstraintModel.typeMap.isAncestorOf(paramType)) {