X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fserializing%2FIndirectModelComponentCreator.java;h=c149848a629ca7a357f2ddde03c7dc3f56abe98d;hb=693b8a0f9e1d2b9c9897a9de60fbdb2c45ee7544;hp=fce47c17154861b41fbe8599cd0bd27b86aa9f94;hpb=2ddba06438bf9ca05be2c7017aacdeb029f4592c;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IndirectModelComponentCreator.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IndirectModelComponentCreator.java index fce47c17..c149848a 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IndirectModelComponentCreator.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IndirectModelComponentCreator.java @@ -16,9 +16,12 @@ import net.mograsim.logic.model.model.LogicModelModifiable; import net.mograsim.logic.model.model.components.ModelComponent; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; import net.mograsim.logic.model.util.JsonHandler; +import net.mograsim.logic.model.util.Version; public class IndirectModelComponentCreator { + public static final Version CURRENT_STD_ID_MAPPING_VERSION = Version.parseSemver("0.1.0"); + private static final Map standardComponentIDs = new HashMap<>(); private static final Map standardComponentIDsUnmodifiable = Collections.unmodifiableMap(standardComponentIDs); @@ -39,7 +42,7 @@ public class IndirectModelComponentCreator { if (s == null) throw new IOException("Resource not found"); - Map tmp = JsonHandler.readJson(s, Map.class); + Map tmp = JsonHandler.readJson(s, StandardComponentIdMappingContainer.class).getMap(); // don't use putAll to apply sanity checks tmp.forEach((st, id) -> { @@ -184,7 +187,8 @@ public class IndirectModelComponentCreator return id.matches("jsonfile:(.+)|(resloader:([^:]+):)?(jsonres|class):[^:]+"); } - private static SubmodelComponent loadComponentFromJsonObject(LogicModelModifiable model, String id, String name, JsonObject jsonContents) + private static SubmodelComponent loadComponentFromJsonObject(LogicModelModifiable model, String id, String name, + JsonObject jsonContents) { componentCache.putIfAbsent(id, jsonContents); SerializablePojo jsonContentsAsSerializablePojo = JsonHandler.parser.fromJson(jsonContents, SerializablePojo.class);