X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fserializing%2FSubmodelComponentSerializer.java;h=84e9fdb0ce35145788d076f0f626b94b070f8132;hb=039f31334c661633b71e945aa4332cedb7055526;hp=843c356426f684662f68644fb07555088a29adb5;hpb=e43b1d9b51fa71b474748e865906bdb40373feb3;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentSerializer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentSerializer.java index 843c3564..84e9fdb0 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentSerializer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentSerializer.java @@ -26,10 +26,9 @@ import net.mograsim.logic.model.util.Version; */ public final class SubmodelComponentSerializer { - // TODO set pin usages of existing components public static final Version JSON_VERSION_CURRENT_SERIALIZING = Version.parseSemver("0.1.5"); public static final Version JSON_VERSION_LATEST_SUPPORTED_DESERIALIZING = Version.parseSemver("0.1.5"); - public static final Version JSON_VERSION_EARLIEST_WITH_USAGE_SERIALIZED = Version.parseSemver("0.1.4"); + public static final Version JSON_VERSION_EARLIEST_WITH_USAGE_SERIALIZED = Version.parseSemver("0.1.5"); // convenience methods /** @@ -130,9 +129,9 @@ public final class SubmodelComponentSerializer * * @author Daniel Kirschten */ - public static void serialize(SubmodelComponent comp, IdentifierGetter idGetter, String targetPath) throws IOException + public static void serialize(SubmodelComponent comp, IdentifyParams idParams, String targetPath) throws IOException { - JsonHandler.writeJson(serialize(comp, idGetter), targetPath); + JsonHandler.writeJson(serialize(comp, idParams), targetPath); } /** @@ -143,7 +142,7 @@ public final class SubmodelComponentSerializer */ public static SubmodelComponentParams serialize(SubmodelComponent comp) { - return serialize(comp, new IdentifierGetter()); + return serialize(comp, new IdentifyParams()); } // "core" methods @@ -166,7 +165,7 @@ public final class SubmodelComponentSerializer Version version = params.version; if (version.compareTo(JSON_VERSION_LATEST_SUPPORTED_DESERIALIZING) > 0) throw new IllegalArgumentException("JSON version " + version + " not supported yet"); - boolean hasUsageSerialized = version.compareTo(JSON_VERSION_EARLIEST_WITH_USAGE_SERIALIZED) > 0; + boolean hasUsageSerialized = version.compareTo(JSON_VERSION_EARLIEST_WITH_USAGE_SERIALIZED) >= 0; DeserializedSubmodelComponent comp = new DeserializedSubmodelComponent(model, name, idForSerializingOverride, paramsForSerializingOverride); comp.setSubmodelScale(params.innerScale); @@ -196,11 +195,11 @@ public final class SubmodelComponentSerializer * @author Fabian Stemmler * @author Daniel Kirschten */ - public static SubmodelComponentParams serialize(SubmodelComponent comp, IdentifierGetter idGetter) + public static SubmodelComponentParams serialize(SubmodelComponent comp, IdentifyParams idParams) { SubmodelComponentParams params = new SubmodelComponentParams(JSON_VERSION_CURRENT_SERIALIZING); params.innerScale = comp.getSubmodelScale(); - params.submodel = ViewModelSerializer.serialize(comp.submodel, idGetter); + params.submodel = ViewModelSerializer.serialize(comp.submodel, idParams); params.width = comp.getWidth(); params.height = comp.getHeight(); @@ -223,22 +222,22 @@ public final class SubmodelComponentSerializer Renderer symbolRenderer = comp.getSymbolRenderer(); if (symbolRenderer != null) { - params.symbolRendererSnippetID = idGetter.symbolRendererIDs.apply(symbolRenderer); - params.symbolRendererParams = symbolRenderer.getParamsForSerializingJSON(idGetter); + params.symbolRendererSnippetID = symbolRenderer.getIDForSerializing(idParams); + params.symbolRendererParams = symbolRenderer.getParamsForSerializingJSON(idParams); } Renderer outlineRenderer = comp.getOutlineRenderer(); if (outlineRenderer != null) { - params.outlineRendererSnippetID = idGetter.outlineRendererIDs.apply(outlineRenderer); - params.outlineRendererParams = outlineRenderer.getParamsForSerializingJSON(idGetter); + params.outlineRendererSnippetID = outlineRenderer.getIDForSerializing(idParams); + params.outlineRendererParams = outlineRenderer.getParamsForSerializingJSON(idParams); } HighLevelStateHandler highLevelStateHandler = comp.getHighLevelStateHandler(); if (highLevelStateHandler != null) { - params.highLevelStateHandlerSnippetID = idGetter.highLevelStateHandlerIDs.apply(highLevelStateHandler); - params.highLevelStateHandlerParams = highLevelStateHandler.getParamsForSerializingJSON(idGetter); + params.highLevelStateHandlerSnippetID = highLevelStateHandler.getIDForSerializing(idParams); + params.highLevelStateHandlerParams = highLevelStateHandler.getParamsForSerializingJSON(idParams); } return params;