diff --git a/AlgebraicDataflowArchitectureModel/src/algorithms/CodeGenerator.java b/AlgebraicDataflowArchitectureModel/src/algorithms/CodeGenerator.java index 82b4ab0..5add60e 100644 --- a/AlgebraicDataflowArchitectureModel/src/algorithms/CodeGenerator.java +++ b/AlgebraicDataflowArchitectureModel/src/algorithms/CodeGenerator.java @@ -53,11 +53,11 @@ for(TypeDeclaration type:codeTree) { codes.add("public class " + type.getTypeName() + "{"); for(FieldDeclaration field:type.getFields()) { - codes.add("\t" + field.getType().getImplementastionTypeName() + " " + field.getName() + ";"); + codes.add("\t" + field.getType().getImplementationTypeName() + " " + field.getName() + ";"); } codes.add(""); for(MethodDeclaration method:type.getMethods()) { - codes.add("\t" + "public " + method.getReturnType().getImplementastionTypeName() + " " + method.getName() + "{"); + codes.add("\t" + "public " + method.getReturnType().getImplementationTypeName() + " " + method.getName() + "{"); for(VariableDeclaration value:method.getParameters()) { } diff --git a/AlgebraicDataflowArchitectureModel/src/code/ast/CodeUtil.java b/AlgebraicDataflowArchitectureModel/src/code/ast/CodeUtil.java new file mode 100644 index 0000000..4322271 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/code/ast/CodeUtil.java @@ -0,0 +1,14 @@ +package code.ast; + +public class CodeUtil { + + public static String insertTab(String code) { + String newString = ""; + String[] lines = code.split("\n"); + for (String line: lines) { + newString = newString + "\t" + line + "\n"; + } + return newString; + } + +} diff --git a/AlgebraicDataflowArchitectureModel/src/code/ast/FieldDeclaration.java b/AlgebraicDataflowArchitectureModel/src/code/ast/FieldDeclaration.java index ac4559e..434fee8 100644 --- a/AlgebraicDataflowArchitectureModel/src/code/ast/FieldDeclaration.java +++ b/AlgebraicDataflowArchitectureModel/src/code/ast/FieldDeclaration.java @@ -26,4 +26,8 @@ public void setName(String fieldName) { this.fieldName = fieldName; } + + public String toString() { + return type.getImplementationTypeName() + " " + fieldName + ";\n"; + } } diff --git a/AlgebraicDataflowArchitectureModel/src/code/ast/MethodDeclaration.java b/AlgebraicDataflowArchitectureModel/src/code/ast/MethodDeclaration.java index 0a7f2fa..0b01cc1 100644 --- a/AlgebraicDataflowArchitectureModel/src/code/ast/MethodDeclaration.java +++ b/AlgebraicDataflowArchitectureModel/src/code/ast/MethodDeclaration.java @@ -84,4 +84,25 @@ } body.addStatement(statement); } + + public String toString() { + String code = "public "; + if (returnType == null) { + code += "void "; + } else { + code += returnType.getImplementationTypeName() + " "; + } + code += (name + "("); + String delimitar = ""; + for (VariableDeclaration parameter: parameters) { + code = code + delimitar + parameter.toString(); + delimitar = ", "; + } + code += ") {"; + if (body != null) { + code += CodeUtil.insertTab(body.toString()); + } + code += "}"; + return code; + } } diff --git a/AlgebraicDataflowArchitectureModel/src/code/ast/TypeDeclaration.java b/AlgebraicDataflowArchitectureModel/src/code/ast/TypeDeclaration.java index cfbe216..5f6317b 100644 --- a/AlgebraicDataflowArchitectureModel/src/code/ast/TypeDeclaration.java +++ b/AlgebraicDataflowArchitectureModel/src/code/ast/TypeDeclaration.java @@ -38,4 +38,15 @@ return methods; } + public String toString() { + String code = "public class " + typeName + "{\n"; + for (FieldDeclaration f: fields) { + code += "\t" + f.toString(); + } + for (MethodDeclaration m: methods) { + code += CodeUtil.insertTab(m.toString()); + } + code += "}"; + return code; + } } diff --git a/AlgebraicDataflowArchitectureModel/src/code/ast/VariableDeclaration.java b/AlgebraicDataflowArchitectureModel/src/code/ast/VariableDeclaration.java index e13c92b..1e21603 100644 --- a/AlgebraicDataflowArchitectureModel/src/code/ast/VariableDeclaration.java +++ b/AlgebraicDataflowArchitectureModel/src/code/ast/VariableDeclaration.java @@ -26,4 +26,8 @@ public void setName(String variableName) { this.variableName = variableName; } + + public String toString() { + return type.getImplementationTypeName() + " " + variableName; + } } diff --git a/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/actions/PrototypeGenerateAction.java b/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/actions/PrototypeGenerateAction.java index d02457a..95c1ab3 100644 --- a/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/actions/PrototypeGenerateAction.java +++ b/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/actions/PrototypeGenerateAction.java @@ -25,14 +25,15 @@ DataFlowModel model = editor.getModel(); DataStorageDecision.run(graph); editor.setCodes(CodeGenerator.doGenerate(graph,model)); - for(TypeDeclaration str:editor.getCodes()) { - System.out.println(str.getTypeName()); - for(FieldDeclaration field:str.getFields()) { - System.out.println("-" + field.getType().getTypeName() + " " + field.getName()); - } - for(MethodDeclaration method:str.getMethods()) { - System.out.println("-" + method.getReturnType() + " " + method.getName()); - } + for(TypeDeclaration type: editor.getCodes()) { + System.out.println(type); +// System.out.println(str.getTypeName()); +// for(FieldDeclaration field:str.getFields()) { +// System.out.println("-" + field.getType().getTypeName() + " " + field.getName()); +// } +// for(MethodDeclaration method:str.getMethods()) { +// System.out.println("-" + method.getReturnType() + " " + method.getName()); +// } } } diff --git a/AlgebraicDataflowArchitectureModel/src/models/algebra/Type.java b/AlgebraicDataflowArchitectureModel/src/models/algebra/Type.java index 53e4b2a..c65b07d 100644 --- a/AlgebraicDataflowArchitectureModel/src/models/algebra/Type.java +++ b/AlgebraicDataflowArchitectureModel/src/models/algebra/Type.java @@ -2,11 +2,11 @@ public class Type { private String typeName; - private String implementastionTypeName; + private String implementationTypeName; public Type(String typeName, String implementastionTypeName) { this.typeName = typeName; - this.implementastionTypeName = implementastionTypeName; + this.implementationTypeName = implementastionTypeName; } public String getTypeName() { @@ -17,11 +17,11 @@ this.typeName = typeName; } - public String getImplementastionTypeName() { - return implementastionTypeName; + public String getImplementationTypeName() { + return implementationTypeName; } - public void setImplementastionTypeName(String implementastionTypeName) { - this.implementastionTypeName = implementastionTypeName; + public void setImplementationTypeName(String implementastionTypeName) { + this.implementationTypeName = implementastionTypeName; } } diff --git a/AlgebraicDataflowArchitectureModel/src/tests/UpdateCodeGenerationTest.java b/AlgebraicDataflowArchitectureModel/src/tests/UpdateCodeGenerationTest.java index fcbfba3..902d01f 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/UpdateCodeGenerationTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/UpdateCodeGenerationTest.java @@ -163,12 +163,12 @@ break; } } - System.out.println("void update(" + param.getType().getImplementastionTypeName() + " " + param.toImplementation() + ") {"); + System.out.println("void update(" + param.getType().getImplementationTypeName() + " " + param.toImplementation() + ") {"); System.out.println("\t" + fLoyalty + " = " + loyaltyPushUpdate.toImplementation() + ";"); System.out.println("}"); System.out.println("-- PULL --"); - System.out.println(loyalty.getResourceStateType().getImplementastionTypeName() + " " + loyltyGetter.toImplementation() + "() {"); + System.out.println(loyalty.getResourceStateType().getImplementationTypeName() + " " + loyltyGetter.toImplementation() + "() {"); System.out.println("\t return " + c1.deriveUpdateExpressionOf(c1_loyalty, pullAccessor).toImplementation() + ";"); System.out.println("}"); } catch (ParameterizedIdentifierIsFutureWork | ResolvingMultipleDefinitionIsFutureWork | InvalidMessage @@ -225,12 +225,12 @@ break; } } - System.out.println("void update(" + param.getType().getImplementastionTypeName() + " " + param.toImplementation() + ") {"); + System.out.println("void update(" + param.getType().getImplementationTypeName() + " " + param.toImplementation() + ") {"); System.out.println("\t" + fHistory + " = " + historyPushUpdate.toImplementation() + ";"); System.out.println("}"); System.out.println("-- PULL --"); - System.out.println(history.getResourceStateType().getImplementastionTypeName() + " " + historyGetter.toImplementation() + "() {"); + System.out.println(history.getResourceStateType().getImplementationTypeName() + " " + historyGetter.toImplementation() + "() {"); System.out.println("\t return " + c2.deriveUpdateExpressionOf(c2_history, pullAccessor).toImplementation() + ";"); System.out.println("}"); } catch (ParameterizedIdentifierIsFutureWork | ResolvingMultipleDefinitionIsFutureWork | InvalidMessage @@ -287,12 +287,12 @@ break; } } - System.out.println("void update(" + param.getType().getImplementastionTypeName() + " " + param.toImplementation() + ") {"); + System.out.println("void update(" + param.getType().getImplementationTypeName() + " " + param.toImplementation() + ") {"); System.out.println("\t" + fTotal + " = " + totalPushUpdate.toImplementation() + ";"); System.out.println("}"); System.out.println("-- PULL --"); - System.out.println(total.getResourceStateType().getImplementastionTypeName() + " " + totalGetter.toImplementation() + "() {"); + System.out.println(total.getResourceStateType().getImplementationTypeName() + " " + totalGetter.toImplementation() + "() {"); System.out.println("\t return " + c3.deriveUpdateExpressionOf(c3_total, pullAccessor).toImplementation() + ";"); System.out.println("}"); } catch (ParameterizedIdentifierIsFutureWork | ResolvingMultipleDefinitionIsFutureWork | InvalidMessage