import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
-import com.google.gson.JsonObject;
import net.mograsim.logic.model.model.LogicModelModifiable;
import net.mograsim.logic.model.model.components.ModelComponent;
private static final Map<String, ComponentSupplier> componentSuppliers = new HashMap<>();
private static final Map<String, ResourceLoader> resourceLoaders = new HashMap<>();
- private static final Map<String, JsonObject> componentCache = new HashMap<>();
+ private static final Map<String, SubmodelComponentParams> componentCache = new HashMap<>();
private static final ResourceLoader defaultResourceLoader;
static
String firstPart = parts[0];
if (firstPart.equals("jsonfile"))
{
- JsonObject jsonContents;
+ SubmodelComponentParams jsonContents;
try
{
// don't use parts[1], because the path could contain ':'
- jsonContents = JsonHandler.readJson(resolvedID.substring("jsonfile:".length()), JsonObject.class);
+ jsonContents = JsonHandler.readJson(resolvedID.substring("jsonfile:".length()), SubmodelComponentParams.class);
}
catch (IOException e)
{
}
if (resTypeID.equals("jsonres"))
{
- JsonObject jsonContents;
+ SubmodelComponentParams jsonContents;
try
{
@SuppressWarnings("resource") // jsonStream is closed in JsonHandler
InputStream jsonStream = Objects.requireNonNull(loader.loadResource(resID), "Error loading JSON resource: Not found");
- jsonContents = JsonHandler.readJson(jsonStream, JsonObject.class);
+ jsonContents = JsonHandler.readJson(jsonStream, SubmodelComponentParams.class);
}
catch (IOException e)
{
}
private static SubmodelComponent loadComponentFromJsonObject(LogicModelModifiable model, String id, String name,
- JsonObject jsonContents)
+ SubmodelComponentParams jsonContents)
{
componentCache.putIfAbsent(id, jsonContents);
- return SubmodelComponentSerializer.deserialize(model, JsonHandler.parser.fromJson(jsonContents, SubmodelComponentParams.class),
- name, id, null);
+ return SubmodelComponentSerializer.deserialize(model, jsonContents, name, id, null);
}
public static void registerResourceLoader(ResourceLoader resourceLoader)