package org.simantics.scl.osgi.internal; import java.util.Hashtable; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.simantics.scl.compiler.module.repository.ModuleRepository; import org.simantics.scl.compiler.module.repository.UpdateListener; import org.simantics.scl.compiler.source.repository.ModuleSourceRepository; import org.simantics.scl.compiler.source.repository.ProceduralModuleSourceRepository; import org.simantics.scl.compiler.source.repository.SourceRepositories; import org.simantics.scl.osgi.SCLOsgi; public class Activator implements BundleActivator { public static final String PLUGIN_ID = "org.simantics.scl.osgi"; private static BundleContext context; public static BundleContext getContext() { return context; } @SuppressWarnings({ "rawtypes", "unchecked" }) public void start(BundleContext bundleContext) throws Exception { Activator.context = bundleContext; Hashtable properties = new Hashtable(); bundleContext.registerService(ModuleSourceRepository.class, SourceRepositories.BUILTIN_SOURCE_REPOSITORY, properties); bundleContext.registerService(ModuleSourceRepository.class, new ProceduralModuleSourceRepository() { @Override protected ModuleRepository getModuleRepository(UpdateListener listener) { return SCLOsgi.MODULE_REPOSITORY; } }, properties); } public void stop(BundleContext bundleContext) throws Exception { Activator.context = null; } }