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
{
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);
- }
+ 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
}
}