diff --git a/src/main/java/org/ntlab/rdlcanvas/generaterdl/GenerateRDL.java b/src/main/java/org/ntlab/rdlcanvas/generaterdl/GenerateRDL.java index 4d136d8..2e4b514 100644 --- a/src/main/java/org/ntlab/rdlcanvas/generaterdl/GenerateRDL.java +++ b/src/main/java/org/ntlab/rdlcanvas/generaterdl/GenerateRDL.java @@ -1,21 +1,28 @@ package org.ntlab.rdlcanvas.generaterdl; +import org.ntlab.rdlcanvas.models.RDLSpec; import org.ntlab.rdlcanvas.parser.Parser; import java.io.BufferedReader; public class GenerateRDL { + RDLSpec spec = new RDLSpec(); + public GenerateRDL() { Parser parser = new Parser(); - ScreenGenerateRDL screenGenerateRDL = new ScreenGenerateRDL(parser.getValue()); - ScreenTemplateGenerateRDL screenTemplateGenerateRDL = new ScreenTemplateGenerateRDL(); + ScreenGenerateRDL screenGenerateRDL = new ScreenGenerateRDL(parser.getValue(), spec); + ScreenTemplateGenerateRDL screenTemplateGenerateRDL = new ScreenTemplateGenerateRDL(spec); + System.out.println(spec.toString()); + spec.outputConstant(); } public GenerateRDL(final BufferedReader reader) { Parser parser = new Parser(reader); - ScreenGenerateRDL screenGenerateRDL = new ScreenGenerateRDL(parser.getValue()); - ScreenTemplateGenerateRDL screenTemplateGenerateRDL = new ScreenTemplateGenerateRDL(); + ScreenGenerateRDL screenGenerateRDL = new ScreenGenerateRDL(parser.getValue(), spec); + ScreenTemplateGenerateRDL screenTemplateGenerateRDL = new ScreenTemplateGenerateRDL(spec); + System.out.println(spec.toString()); + spec.outputConstant(); } } diff --git a/src/main/java/org/ntlab/rdlcanvas/generaterdl/ScreenGenerateRDL.java b/src/main/java/org/ntlab/rdlcanvas/generaterdl/ScreenGenerateRDL.java index a717399..9d3dc1b 100644 --- a/src/main/java/org/ntlab/rdlcanvas/generaterdl/ScreenGenerateRDL.java +++ b/src/main/java/org/ntlab/rdlcanvas/generaterdl/ScreenGenerateRDL.java @@ -12,18 +12,14 @@ //-> RDLSpecStatementのリストにすべて入れる - RDLSpec spec = new RDLSpec(); - // parser済みのJsonを引数とする - public ScreenGenerateRDL(Value value){ - createScreenConstant(value); + public ScreenGenerateRDL(Value value, RDLSpec spec){ + createScreenConstant(value, spec); } - - // Jsonを構成するデータを抽出する - private void createScreenConstant(Value value){ + private void createScreenConstant(Value value, RDLSpec spec){ Map screenmap = ((org.ntlab.rdlcanvas.parser.JsonValue)value).getJson(); @@ -46,7 +42,7 @@ } } } - spec.outputConstant(); //デバッグ用 Constantを出力 + //spec.outputConstant(); //デバッグ用 Constantを出力 } diff --git a/src/main/java/org/ntlab/rdlcanvas/generaterdl/ScreenTemplateGenerateRDL.java b/src/main/java/org/ntlab/rdlcanvas/generaterdl/ScreenTemplateGenerateRDL.java index be858ee..d0ef94f 100644 --- a/src/main/java/org/ntlab/rdlcanvas/generaterdl/ScreenTemplateGenerateRDL.java +++ b/src/main/java/org/ntlab/rdlcanvas/generaterdl/ScreenTemplateGenerateRDL.java @@ -9,16 +9,13 @@ public class ScreenTemplateGenerateRDL { - RDLSpec spec = new RDLSpec(); - - - public ScreenTemplateGenerateRDL(){ - createScreenTemplateResourceDeclaration(); - createScreenTemplateFormula(); - System.out.println(spec.toString()); + public ScreenTemplateGenerateRDL(RDLSpec spec){ + createScreenTemplateResourceDeclaration(spec); + createScreenTemplateFormula(spec); + //System.out.println(spec.toString()); //デバッグ用 } - private void createScreenTemplateResourceDeclaration(){ + private void createScreenTemplateResourceDeclaration(RDLSpec spec){ //ex screen(1) :: struct spec.addRDLSpecResourceDeclaration("screen", 1, StructuralType.structure, null); @@ -42,7 +39,7 @@ } } - private void createScreenTemplateFormula(){ + private void createScreenTemplateFormula(RDLSpec spec){ List dependedList = new ArrayList<>(); List dependingList = new ArrayList<>();