diff --git a/src/main/java/org/ntlab/rdlcanvas/generaterdl/GenerateRDL.java b/src/main/java/org/ntlab/rdlcanvas/generaterdl/GenerateRDL.java index 7e3dfe5..729958d 100644 --- a/src/main/java/org/ntlab/rdlcanvas/generaterdl/GenerateRDL.java +++ b/src/main/java/org/ntlab/rdlcanvas/generaterdl/GenerateRDL.java @@ -14,6 +14,7 @@ MetaScreenGenerateRDL metaScreenGenerateRDL = new MetaScreenGenerateRDL(spec); MetaTableGenerateRDL metaTableGenerateRDL = new MetaTableGenerateRDL(spec); MetaScreenViewGenerateRDL metaScreenViewGenerateRDL = new MetaScreenViewGenerateRDL(spec); + ScreenGenerateRDL screenGenerateRDL = new ScreenGenerateRDL(parser.getValue(), spec); } @@ -22,6 +23,7 @@ MetaScreenGenerateRDL metaScreenGenerateRDL = new MetaScreenGenerateRDL(spec); MetaTableGenerateRDL metaTableGenerateRDL = new MetaTableGenerateRDL(spec); MetaScreenViewGenerateRDL metaScreenViewGenerateRDL = new MetaScreenViewGenerateRDL(spec); + ScreenGenerateRDL screenGenerateRDL = new ScreenGenerateRDL(parser.getValue(), 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 6732c4e..012e8a6 100644 --- a/src/main/java/org/ntlab/rdlcanvas/generaterdl/ScreenGenerateRDL.java +++ b/src/main/java/org/ntlab/rdlcanvas/generaterdl/ScreenGenerateRDL.java @@ -6,7 +6,7 @@ import java.util.*; -public class ScreenGenerateRDL{ +public class ScreenGenerateRDL extends BaseGenerateRDL{ // parser済みのJsonを引数とする public ScreenGenerateRDL(Value value, RDLSpec spec){ @@ -31,7 +31,8 @@ for (StringValue key3 : metamap.keySet()){ String metaIdString = key3.getStringValue(); //MetaIDをStringValue(key3)からStringへ変換 Value data = metamap.get(key3); //Dataを取得 - addScreenDefinition(scIdString, wIdString, metaIdString, data, spec); +// System.out.println(metaIdString); + addScreenDefinition(spec, metaIdString, "wId", false, wIdString, "scId", false, scIdString, data); } } } @@ -51,9 +52,9 @@ } //ex [[wText : wId -> "editBotton"] : scId -> "一覧画面"] := "編集" - private void addScreenDefinition(String scIdName, String wIdName, String metaIdName, Value dataName, RDLSpec spec){ - RDLSpecDependencyTerm insideDependencyTerm = new RDLSpecDependencyTerm(spec.getConstant(metaIdName, RDLSpecLang.typeString), new ArrayList<>(Arrays.asList(spec.getRDLSpecResourceDeclaration("wId").getResource())), new ArrayList<>(Arrays.asList(spec.getConstant(wIdName, RDLSpecLang.typeString)))); - RDLSpecDependencyTerm outsideDependencyTerm = new RDLSpecDependencyTerm(insideDependencyTerm, new ArrayList<>(Arrays.asList(spec.getRDLSpecResourceDeclaration("scId").getResource())), new ArrayList<>(Arrays.asList(spec.getConstant(scIdName, RDLSpecLang.typeString)))); - spec.addRDLSpecStatement(new RDLSpecInitialization(outsideDependencyTerm, spec.getConstant(dataName.toString(), checkValueType(dataName)))); + private void addScreenDefinition(RDLSpec spec, String depending, String insideDependedId, boolean insideDependedIdPrime, String insideArgument, String outsideDependedId, boolean outsideDependedIdPrime, String outsideArguments, Value initializeValue){ + + RDLSpecDependencyTerm left = createNestDependencyTerm(spec, depending, insideDependedId, insideDependedIdPrime, insideArgument, outsideDependedId,outsideDependedIdPrime, outsideArguments); + spec.addRDLSpecStatement(new RDLSpecInitialization(left, spec.getConstant(initializeValue.toString(), checkValueType(initializeValue)))); } }