Fixed a bug in Am2900; created dlatch8/80; relayouted some components
[Mograsim.git] / net.mograsim.logic.model.editor / src / net / mograsim / logic / model / editor / SaveLoadManager.java
index 6d951af..bbe202b 100644 (file)
@@ -1,20 +1,15 @@
 package net.mograsim.logic.model.editor;
 
 import java.io.IOException;
-import java.util.Map;
-import java.util.Map.Entry;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.FileDialog;
 import org.eclipse.swt.widgets.Shell;
 
-import net.mograsim.logic.model.model.ViewModelModifiable;
+import net.mograsim.logic.model.model.LogicModelModifiable;
 import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent;
-import net.mograsim.logic.model.serializing.IdentifierGetter;
-import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator;
+import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
 import net.mograsim.logic.model.serializing.SubmodelComponentSerializer;
-import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers;
-import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers;
 
 public class SaveLoadManager
 {
@@ -53,24 +48,7 @@ public class SaveLoadManager
        {
                try
                {
-                       IdentifierGetter idGetter = new IdentifierGetter();
-                       idGetter.componentIDs = c ->
-                       {
-                               if (Editor.identifierPerComponent.containsKey(c))
-                                       return Editor.identifierPerComponent.get(c);
-                               return getStandardID(c, IndirectGUIComponentCreator.getStandardComponentIDs(), true);
-                       };
-                       idGetter.symbolRendererIDs = h -> getStandardID(h,
-                                       SubmodelComponentSnippetSuppliers.symbolRendererSupplier.getStandardSnippetIDs());
-                       idGetter.outlineRendererIDs = h -> getStandardID(h,
-                                       SubmodelComponentSnippetSuppliers.outlineRendererSupplier.getStandardSnippetIDs());
-                       idGetter.highLevelStateHandlerIDs = h -> getStandardID(h,
-                                       SubmodelComponentSnippetSuppliers.highLevelStateHandlerSupplier.getStandardSnippetIDs());
-                       idGetter.atomicHighLevelStateHandlerIDs = h -> getStandardID(h,
-                                       StandardHighLevelStateHandlerSnippetSuppliers.atomicHandlerSupplier.getStandardSnippetIDs());
-                       idGetter.subcomponentHighLevelStateHandlerIDs = h -> getStandardID(h,
-                                       StandardHighLevelStateHandlerSnippetSuppliers.subcomponentHandlerSupplier.getStandardSnippetIDs());
-                       SubmodelComponentSerializer.serialize(editor.toBeEdited, idGetter, savePath);
+                       SubmodelComponentSerializer.serialize(editor.toBeEdited, savePath);
                }
                catch (IOException e)
                {
@@ -80,18 +58,6 @@ public class SaveLoadManager
                }
        }
 
-       private static String getStandardID(Object o, Map<String, String> standardIDs)
-       {
-               return getStandardID(o, standardIDs, false);
-       }
-
-       private static String getStandardID(Object o, Map<String, String> standardIDs, boolean standardIDsHaveClassConcatenated)
-       {
-               String verboseID = (standardIDsHaveClassConcatenated ? "class:" : "") + o.getClass().getCanonicalName();
-               return standardIDs.entrySet().stream().filter(e -> e.getValue().equals(verboseID)).map(Entry::getKey).findAny()
-                               .orElseGet(() -> (standardIDsHaveClassConcatenated ? "" : "class:") + verboseID);
-       }
-
        public static void openLoadDialog() throws IOException
        {
                Shell fdShell = new Shell();
@@ -102,7 +68,8 @@ public class SaveLoadManager
                fdShell.dispose();
                if (result != null)
                {
-                       new Editor((DeserializedSubmodelComponent) SubmodelComponentSerializer.deserialize(new ViewModelModifiable(), result));
+                       new Editor((DeserializedSubmodelComponent) IndirectModelComponentCreator.createComponent(new LogicModelModifiable(),
+                                       "jsonfile:" + result));
                }
        }
 }