X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fexamples%2FComponenetSerializer.java;h=8699c3b8a8cd93f26823111fa854e4273cd2c3db;hb=fc7ba04c16f22364b2cdded6bc0c1e17c0939e46;hp=3d568e36d513acf3b696f81dd1bac70ae163eb7a;hpb=47ea68ed5c444dd14864412639f6a6fd60ab8a0f;p=Mograsim.git diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ComponenetSerializer.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ComponenetSerializer.java index 3d568e36..8699c3b8 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ComponenetSerializer.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ComponenetSerializer.java @@ -1,10 +1,8 @@ package net.mograsim.logic.model.examples; import java.io.IOException; -import java.util.function.Function; import net.mograsim.logic.model.model.ViewModelModifiable; -import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.components.mi.nandbased.GUI_rsLatch; import net.mograsim.logic.model.model.components.mi.nandbased.GUIand; import net.mograsim.logic.model.model.components.mi.nandbased.GUIand41; @@ -35,15 +33,18 @@ import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901De import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901QReg; import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901SourceDecode; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.serializing.SubmodelComponentParams; +import net.mograsim.logic.model.serializing.SubmodelComponentSerializer; import net.mograsim.logic.model.util.JsonHandler; public class ComponenetSerializer { public static void main(String[] args) throws IOException { + IdentifierGetter idGetter = new IdentifierGetter(); // we know we only use components where this works - Function getIdentifier = c -> c.getClass().getSimpleName(); + idGetter.componentIDs = c -> c.getClass().getSimpleName(); ViewModelModifiable model = new ViewModelModifiable(); SubmodelComponent[] components = { new GUIAm2901(model), new GUIAm2901ALUFuncDecode(model), new GUIAm2901ALUInclDecode(model), @@ -56,10 +57,10 @@ public class ComponenetSerializer for (SubmodelComponent comp : components) { - SubmodelComponentParams params = comp.calculateParams(getIdentifier); - JsonHandler.writeJson(params, "components/" - + comp.getClass().getName().substring("net.mograsim.logic.ui.model.components.mi.nandbased.".length()).replace('.', '/') - + ".json"); + SubmodelComponentParams params = SubmodelComponentSerializer.serialize(comp, idGetter); + String shortClassName = comp.getClass().getName().substring("net.mograsim.logic.model.model.components.mi.nandbased.".length()); + String path = "components/" + shortClassName.replace('.', '/') + ".json"; + JsonHandler.writeJson(params, path); } } } \ No newline at end of file