Fixed a bug in Am2900; created dlatch8/80; relayouted some components
[Mograsim.git] / net.mograsim.logic.model.am2900 / src / net / mograsim / logic / model / am2900 / Am2900Loader.java
index 45d2207..10cf141 100644 (file)
@@ -1,23 +1,23 @@
 package net.mograsim.logic.model.am2900;
 
-import java.io.IOException;
-import java.io.InputStream;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 
-import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator;
-import net.mograsim.logic.model.serializing.ResourceLoader;
+import net.mograsim.logic.model.serializing.ClassLoaderBasedResourceLoader;
+import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
+import net.mograsim.machine.MachineLoader;
 
 public class Am2900Loader implements BundleActivator
 {
+       // TODO use dff16 in dff16_we & dff16_invwe
        private static AtomicBoolean activated = new AtomicBoolean(false);
 
        @Override
        public void start(BundleContext context) throws Exception
        {
-               setup(); // TODO: useful?
+               setup();
        }
 
        @Override
@@ -30,36 +30,10 @@ public class Am2900Loader implements BundleActivator
        {
                if (activated.getAndSet(true))
                        return;
-               IndirectGUIComponentCreator.registerResourceLoader(new Am2900ResourceLoader(), "Am2900Loader");
-               IndirectGUIComponentCreator.loadStandardComponentIDs(Am2900Loader.class.getResourceAsStream("standardComponentIDMapping.json"));
-               System.out.println("SETUP DONE");
-       }
-
-       static
-       {
-               setup();
-       }
-
-       /**
-        * @see ResourceLoader
-        */
-       public static ResourceLoader resourceLoader()
-       {
-               return new Am2900ResourceLoader();
-       }
-
-       static class Am2900ResourceLoader implements ResourceLoader
-       {
-               @Override
-               public InputStream loadResource(String path) throws IOException
-               {
-                       return Am2900ResourceLoader.class.getResourceAsStream(path);
-               }
-
-               @Override
-               public Class<?> loadClass(String name) throws ClassNotFoundException
-               {
-                       return Class.forName(name, true, Am2900ResourceLoader.class.getClassLoader());
-               }
+               ClassLoaderBasedResourceLoader resourceLoader = ClassLoaderBasedResourceLoader.create(Am2900Loader.class.getClassLoader());
+               IndirectModelComponentCreator.registerResourceLoader(resourceLoader, "Am2900Loader");
+               IndirectModelComponentCreator.loadStandardComponentIDs(Am2900Loader.class.getResourceAsStream("standardComponentIDMapping.json"));
+               MachineLoader.setup();
+//             System.out.println("SETUP DONE"); // TODO: Debug
        }
 }