Redefined PinUsages; cleaned component JSONs
[Mograsim.git] / plugins / net.mograsim.logic.model.am2900 / src / net / mograsim / logic / model / am2900 / Am2900Loader.java
1 package net.mograsim.logic.model.am2900;
2
3 import java.util.concurrent.atomic.AtomicBoolean;
4
5 import org.osgi.framework.BundleActivator;
6 import org.osgi.framework.BundleContext;
7
8 import net.mograsim.logic.model.serializing.ClassLoaderBasedResourceLoader;
9 import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
10 import net.mograsim.machine.MachineLoader;
11
12 public class Am2900Loader implements BundleActivator
13 {
14         private static AtomicBoolean activated = new AtomicBoolean(false);
15
16         @Override
17         public void start(BundleContext context) throws Exception
18         {
19                 setup();
20         }
21
22         @Override
23         public void stop(BundleContext context) throws Exception
24         {
25                 // nothing
26         }
27
28         public static void setup()
29         {
30                 if (activated.getAndSet(true))
31                         return;
32                 ClassLoaderBasedResourceLoader resourceLoader = ClassLoaderBasedResourceLoader.create(Am2900Loader.class.getClassLoader());
33                 IndirectModelComponentCreator.registerResourceLoader(resourceLoader, "Am2900Loader");
34                 IndirectModelComponentCreator.loadStandardComponentIDs(Am2900Loader.class.getResourceAsStream("standardComponentIDMapping.json"));
35                 MachineLoader.setup();
36         }
37 }