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();
        ScreenTemplateGenerateRDL screenTemplateGenerateRDL = new ScreenTemplateGenerateRDL(spec);
        ScreenGenerateRDL screenGenerateRDL = new ScreenGenerateRDL(parser.getValue(), spec);
        MetaTableGenerateRDL metaTableGenerateRDL = new MetaTableGenerateRDL(spec);
        System.out.println(spec.toString());
        spec.outputConstant();
    }

    public GenerateRDL(final BufferedReader reader) {
        Parser parser = new Parser(reader);
        ScreenTemplateGenerateRDL screenTemplateGenerateRDL = new ScreenTemplateGenerateRDL(spec);
        ScreenGenerateRDL screenGenerateRDL = new ScreenGenerateRDL(parser.getValue(), spec);
        MetaTableGenerateRDL metaTableGenerateRDL = new MetaTableGenerateRDL(spec);
        //SpecStatementにResourceDeclaretionを追加
        for(String name: spec.getResourceMap().keySet()){
            spec.addRDLSpecStatement(spec.getRDLSpecResourceDeclaration(name));
        }

        System.out.println(spec.toString());
        spec.outputConstant();
    }
}

