package net.mograsim.logic.model.examples;
import java.io.IOException;
+import java.io.UncheckedIOException;
import com.google.gson.JsonNull;
import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
import net.mograsim.logic.model.model.wires.GUIWire;
import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator;
-import net.mograsim.logic.model.serializing.SubmodelComponentDeserializer;
+import net.mograsim.logic.model.serializing.SubmodelComponentSerializer;
import net.mograsim.logic.model.serializing.SubmodelComponentParams;
import net.mograsim.logic.model.util.JsonHandler;
super(model, 1, "Test", name);
setSubmodelScale(.4);
setInputPins("Input pin #0");
- SubmodelComponentDeserializer.create(submodelModifiable, "HalfAdder.json", "halfadder");
+ try
+ {
+ SubmodelComponentSerializer.deserialize(submodelModifiable, "HalfAdder.json", "halfadder");
+ }
+ catch (IOException e)
+ {
+ throw new UncheckedIOException(e);
+ }
}
}
{
GUI_rsLatch comp = new GUI_rsLatch(viewModel, "Original RS latch");
comp.moveTo(30, 0);
- SubmodelComponentParams params = comp.calculateParams();
+ SubmodelComponentParams params = SubmodelComponentSerializer.serialize(comp);
String jsonString = JsonHandler.toJson(params);
System.out.println(jsonString);
SubmodelComponentParams paramsD = JsonHandler.fromJson(jsonString, SubmodelComponentParams.class);
- SubmodelComponent componentD = SubmodelComponentDeserializer.create(viewModel, paramsD, "Deserialized RS latch");
+ SubmodelComponent componentD = SubmodelComponentSerializer.deserialize(viewModel, paramsD, "Deserialized RS latch");
componentD.moveTo(30, 50);
double h = 0;
for (String s : comp.getInputPinNames())
public static void refJsonFromJsonTest(ViewModelModifiable model)
{
TestComponent t = new TestComponent(model, "Original component");
- t.calculateParams().writeJson("Test.json");
- SubmodelComponent c = SubmodelComponentDeserializer.create(model, "Test.json", "Deserialized component");
+ SubmodelComponentSerializer.serialize(t).writeJson("Test.json");
+ SubmodelComponent c;
+ try
+ {
+ c = SubmodelComponentSerializer.deserialize(model, "Test.json", "Deserialized component");
+ }
+ catch (IOException e)
+ {
+ throw new UncheckedIOException(e);
+ }
c.moveTo(0, 50);
}
public static void createFromJsonExample(ViewModelModifiable model)
{
SimpleRectangularSubmodelComponent tmp = new GUIfulladder(model, "Original full adder");
- SubmodelComponentParams pC = tmp.calculateParams();
+ SubmodelComponentParams pC = SubmodelComponentSerializer.serialize(tmp);
tmp.moveTo(1000, 100);
try
{
e.printStackTrace();
}
- SimpleRectangularSubmodelComponent adder = (SimpleRectangularSubmodelComponent) SubmodelComponentDeserializer.create(model,
- "FullAdder.json", "Deserialized full adder");
+ SimpleRectangularSubmodelComponent adder;
+ try
+ {
+ adder = (SimpleRectangularSubmodelComponent) SubmodelComponentSerializer.deserialize(model, "FullAdder.json",
+ "Deserialized full adder");
+ }
+ catch (IOException e)
+ {
+ throw new UncheckedIOException(e);
+ }
GUIManualSwitch swA = new GUIManualSwitch(model);
swA.moveTo(0, 0);
new GUIWire(model, adder.getPin("Y"), bdY.getInputPin());
new GUIWire(model, adder.getPin("Z"), bdZ.getInputPin());
- SubmodelComponent adder2 = SubmodelComponentDeserializer.create(model, pC, "Full adder created from params instance");
+ SubmodelComponent adder2 = SubmodelComponentSerializer.deserialize(model, pC, "Full adder created from params instance");
swA = new GUIManualSwitch(model);
swA.moveTo(0, 70);