Java 类org.osgi.framework.launch.FrameworkFactory 实例源码

项目:osgi-in-action    文件:Main.java   
/**
 * Simple method to parse META-INF/services file for framework factory.
 * Currently, it assumes the first non-commented line is the class name
 * of the framework factory implementation.
 * @return The created <tt>FrameworkFactory</tt> instance.
 * @throws Exception if any errors occur.
**/
private static FrameworkFactory getFrameworkFactory() throws Exception {
  URL url = Main.class.getClassLoader().getResource(
    "META-INF/services/org.osgi.framework.launch.FrameworkFactory");
  if (url != null) {
    BufferedReader br =
      new BufferedReader(new InputStreamReader(url.openStream()));
    try {
      for (String s = br.readLine(); s != null; s = br.readLine()) {
        s = s.trim();
        // Try to load first non-empty, non-commented line.
        if ((s.length() > 0) && (s.charAt(0) != '#')) {
          return (FrameworkFactory) Class.forName(s).newInstance();
        }
      }
    } finally {
      if (br != null) br.close();
    }
  }

  throw new Exception("Could not find framework factory.");
}
项目:motech    文件:MotechNativeTestContainerFactory.java   
@Override
public TestContainer[] create(ExamSystem system) {
    // we use ServiceLoader to load the OSGi Framework Factory
    List<TestContainer> containers = new ArrayList<>();
    Iterator<FrameworkFactory> factories = ServiceLoader.load(FrameworkFactory.class)
            .iterator();
    boolean factoryFound = false;

    while (factories.hasNext()) {
        try {
            containers.add(new MotechNativeTestContainer(system, factories.next()));
            factoryFound = true;
        } catch (IOException e) {
            throw new TestContainerException("Problem initializing container.", e);
        }
    }

    if (!factoryFound) {
        throw new TestContainerException(
                "No service org.osgi.framework.launch.FrameworkFactory found in META-INF/services on classpath");
    }

    return containers.toArray(new TestContainer[containers.size()]);
}
项目:guice    文件:OSGiContainerTest.java   
public void testGuiceWorksInOSGiContainer() throws Throwable {

    // ask framework to clear cache on startup
    Properties properties = new Properties();
    properties.setProperty("org.osgi.framework.storage", BUILD_TEST_DIR + "/bundle.cache");
    properties.setProperty("org.osgi.framework.storage.clean", "onFirstInit");

    // test each available OSGi framework in turn
    for (FrameworkFactory frameworkFactory : ServiceLoader.load(FrameworkFactory.class)) {
      Framework framework = frameworkFactory.newFramework(properties);

      framework.start();
      BundleContext systemContext = framework.getBundleContext();

      // load all the necessary bundles and start the OSGi test bundle
      /*if[AOP]*/
      systemContext.installBundle("reference:file:" + BUILD_TEST_DIR + "/aopalliance.jar");
      /*end[AOP]*/
      systemContext.installBundle("reference:file:" + BUILD_TEST_DIR + "/javax.inject.jar");
      systemContext.installBundle("reference:file:" + BUILD_TEST_DIR + "/guava.jar");
      systemContext.installBundle("reference:file:" + GUICE_JAR);
      systemContext.installBundle("reference:file:" + BUILD_TEST_DIR + "/osgitests.jar").start();

      framework.stop();
    }
  }
项目:osgi_in_action-    文件:Main.java   
/**
 * Simple method to parse META-INF/services file for framework factory.
 * Currently, it assumes the first non-commented line is the class name
 * of the framework factory implementation.
 * @return The created <tt>FrameworkFactory</tt> instance.
 * @throws Exception if any errors occur.
**/
private static FrameworkFactory getFrameworkFactory() throws Exception {
  URL url = Main.class.getClassLoader().getResource(
    "META-INF/services/org.osgi.framework.launch.FrameworkFactory");
  if (url != null) {
    BufferedReader br =
      new BufferedReader(new InputStreamReader(url.openStream()));
    try {
      for (String s = br.readLine(); s != null; s = br.readLine()) {
        s = s.trim();
        // Try to load first non-empty, non-commented line.
        if ((s.length() > 0) && (s.charAt(0) != '#')) {
          return (FrameworkFactory) Class.forName(s).newInstance();
        }
      }
    } finally {
      if (br != null) br.close();
    }
  }

  throw new Exception("Could not find framework factory.");
}
项目:gocd    文件:FelixGoPluginOSGiFramework.java   
@Override
public void start() {
    List<FrameworkFactory> frameworkFactories = IteratorUtils.toList(ServiceLoader.load(FrameworkFactory.class).iterator());

    if (frameworkFactories.size() != 1) {
        throw new RuntimeException("One OSGi framework expected. Got " + frameworkFactories.size() + ": " + frameworkFactories);
    }

    try {
        framework = getFelixFramework(frameworkFactories);
        framework.start();
        registerInternalServices(framework.getBundleContext());
    } catch (BundleException e) {
        throw new RuntimeException("Failed to initialize OSGi framework", e);
    }
}
项目:felinx    文件:FrameworkRunner.java   
private static FrameworkFactory getFrameworkFactory() throws Exception {
    java.net.URL url = FrameworkRunner.class.getClassLoader().getResource(
            "META-INF/services/org.osgi.framework.launch.FrameworkFactory");
    if (url != null) {
        BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
        try {
            for (String s = br.readLine(); s != null; s = br.readLine()) {
                s = s.trim();
                // Try to load first non-empty, non-commented line.
                if ((s.length() > 0) && (s.charAt(0) != '#')) {
                    Debug.message("> FrameworkFactory class name: " + s);
                    return (FrameworkFactory) Class.forName(s).newInstance();
                }
            }
        } finally {
            if (br != null)
                br.close();
        }
    }

    throw new Exception("Could not find framework factory.");
}
项目:ch.vorburger.minecraft.osgi    文件:OSGiFrameworkWrapper.java   
@SuppressWarnings("deprecation")
public OSGiFrameworkWrapper(File frameworkStorageDirectory, File bootBundlesDirectory, File hotBundlesDirectory) throws IOException {
    Map<String, String> config = new HashMap<>();
    // https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.main-1.2.0/doc/launching-and-embedding-apache-felix.html#LaunchingandEmbeddingApacheFelix-configproperty
    config.put("felix.embedded.execution", "true");
    config.put(Constants.FRAMEWORK_EXECUTIONENVIRONMENT, "J2SE-1.8");
    config.put(Constants.FRAMEWORK_STORAGE_CLEAN, Constants.FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT);
    config.put(Constants.FRAMEWORK_STORAGE, frameworkStorageDirectory.getAbsolutePath());
    // not FRAMEWORK_SYSTEMPACKAGES but _EXTRA
    config.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA, new PackagesBuilder()
            .addPackage("org.slf4j", "1.7")
            .addPackage("ch.vorburger.minecraft.osgi.api")
            .addPackage("ch.vorburger.minecraft.utils")
            .addPackageWithSubPackages("com.google.common", "17.0.0")
            .addPackageWithSubPackages("com.flowpowered.math")
            .addPackageWithSubPackages("org.spongepowered.api")
            .addPackage("javax.inject")
            .addPackageWithSubPackages("com.google.inject")
            .build()
        );

    FrameworkFactory frameworkFactory = ServiceLoader.load(FrameworkFactory.class).iterator().next();
    framework = frameworkFactory.newFramework(config);

    this.bootBundlesDirectory = bootBundlesDirectory;
    this.hotBundlesDirectory = hotBundlesDirectory;
}
项目:gvnix1    文件:Main.java   
/**
 * Simple method to parse META-INF/services file for framework factory.
 * Currently, it assumes the first non-commented line is the class name
 * of the framework factory implementation.
 * @return The created <tt>FrameworkFactory</tt> instance.
 * @throws Exception if any errors occur.
**/
private static FrameworkFactory getFrameworkFactory() throws Exception
{
    URL url = Main.class.getClassLoader().getResource(
        "META-INF/services/org.osgi.framework.launch.FrameworkFactory");
    if (url != null)
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
        try
        {
            for (String s = br.readLine(); s != null; s = br.readLine())
            {
                s = s.trim();
                // Try to load first non-empty, non-commented line.
                if ((s.length() > 0) && (s.charAt(0) != '#'))
                {
                    return (FrameworkFactory) Class.forName(s).newInstance();
                }
            }
        }
        finally
        {
            if (br != null) br.close();
        }
    }

    throw new Exception("Could not find framework factory.");
}
项目:Purifinity    文件:AbstractBundleTest.java   
@BeforeClass
public static void startOSGiContainer() throws BundleException, IOException {
    assertNull("OSGi framework is expected to be stopped.", osgiFramework);
    removeStorageDirectory();
    Map<String, String> map = new HashMap<>();
    map.put(Constants.FRAMEWORK_STORAGE, STORAGE_DIRECTORY);
    ServiceLoader<FrameworkFactory> frameworkFactory = ServiceLoader
            .load(FrameworkFactory.class);
    osgiFramework = frameworkFactory.iterator().next().newFramework(map);
    osgiFramework.start();
}
项目:incubator-taverna-osgi    文件:OsgiLauncher.java   
/**
 * Starts the OSGi framework, installs and starts the bundles.
 *
 * @throws BundleException
 *             if the framework could not be started
 */
public void start() throws BundleException {
    logger.info("Loading the OSGi Framework Factory");
    FrameworkFactory frameworkFactory = ServiceLoader.load(FrameworkFactory.class).iterator()
            .next();

    logger.info("Creating the OSGi Framework");
    framework = frameworkFactory.newFramework(frameworkConfiguration);
    logger.info("Starting the OSGi Framework");
    framework.start();

    context = framework.getBundleContext();
    context.addServiceListener(new ServiceListener() {
        public void serviceChanged(ServiceEvent event) {
            ServiceReference serviceReference = event.getServiceReference();
            if (event.getType() == ServiceEvent.REGISTERED) {
                Object property = serviceReference
                        .getProperty("org.springframework.context.service.name");
                if (property != null) {
                    addStartedSpringContext(property.toString());
                }
            }
            logger.fine((event.getType() == ServiceEvent.REGISTERED ? "Registering : "
                    : "Unregistering : ") + serviceReference);
        }
    });

    installedBundles = installBundles(bundlesToInstall);

    List<Bundle> bundlesToStart = new ArrayList<Bundle>();
    for (Bundle bundle : installedBundles) {
        if ("org.springframework.osgi.extender".equals(bundle.getSymbolicName())) {
            springOsgiExtender = bundle;
        } else {
            bundlesToStart.add(bundle);
        }
    }
    startBundles(bundlesToStart);
}
项目:sensorhub    文件:TestOsgi.java   
protected Framework getFramework()
{
    Iterator<FrameworkFactory> it = ServiceLoader.load(org.osgi.framework.launch.FrameworkFactory.class).iterator();
    assertTrue("No OSGI implementation found in classpath", it.hasNext());

    Map<String,String> osgiConfig = new HashMap<String,String>();
    //osgiConfig.put(AutoProcessor.AUTO_DEPLOY_DIR_PROPERY, "");
    osgiConfig.put("org.osgi.framework.storage", CACHE_FOLDER);
    osgiConfig.put("org.osgi.framework.storage.clean", "onFirstInit");
    Framework fw = it.next().newFramework(osgiConfig);

    return fw;
}
项目:androsgi    文件:OSGiRuntime.java   
private void initFramework(Properties properties) throws Exception{
    String factoryClass = properties.getProperty(FrameworkFactory.class.getName());
    if(factoryClass == null)
        throw new Exception("No FrameworkFactory available!");

    FrameworkFactory frameworkFactory = (FrameworkFactory) Class.forName(factoryClass).newInstance();

    Map<String, String> config = new HashMap<String, String>();
    String runproperties = properties.getProperty("-runproperties");
    if(runproperties!=null){
        StringTokenizer st = new StringTokenizer(runproperties, ",");
        while(st.hasMoreTokens()){
            String runproperty = st.nextToken();
            int equalsIndex = runproperty.indexOf('=');
            if(equalsIndex!=-1){
                String key = runproperty.substring(0, equalsIndex);
                String value = runproperty.substring(equalsIndex+1);
                config.put(key, value);
            }
        }
    }

    // point storage dir to internal storage
    config.put("org.osgi.framework.storage", (String)properties.getProperty("cacheDir"));
    // add framework exports
    config.put("org.osgi.framework.system.packages.extra", (String)properties.get("-runsystempackages"));
    framework = frameworkFactory.newFramework(config);
    framework.start();
}
项目:carbon-kernel    文件:CarbonServer.java   
/**
 * Starts a Carbon server instance. This method returns only after the server instance stops completely.
 *
 * @throws Exception if error occurred
 */
public void start() throws Exception {
    if (logger.isLoggable(Level.FINE)) {
        logger.log(Level.FINE, "Starting Carbon server instance.");
    }

    // Sets the server start time.
    System.setProperty(CARBON_START_TIME, Long.toString(System.currentTimeMillis()));

    try {
        // Creates an OSGi framework instance.
        ClassLoader fwkClassLoader = createOSGiFwkClassLoader();
        FrameworkFactory fwkFactory = loadOSGiFwkFactory(fwkClassLoader);
        framework = fwkFactory.newFramework(config.getProperties());

        setServerCurrentStatus(ServerStatus.STARTING);
        // Notify Carbon server start.
        dispatchEvent(CarbonServerEvent.STARTING);

        // Initialize and start OSGi framework.
        initAndStartOSGiFramework(framework);

        // Loads initial bundles listed in the launch.properties file.
        loadInitialBundles(framework.getBundleContext());

        setServerCurrentStatus(ServerStatus.STARTED);
        // This thread waits until the OSGi framework comes to a complete shutdown.
        waitForServerStop(framework);

        setServerCurrentStatus(ServerStatus.STOPPING);
        // Notify Carbon server shutdown.
        dispatchEvent(CarbonServerEvent.STOPPING);

    } catch (Exception e) {
        throw new RuntimeException(e.getMessage(), e);
    }
}
项目:carbon-kernel    文件:CarbonServer.java   
/**
 * Creates a new service loader for the given service type and class loader.
 * Load OSGi framework factory for the given class loader.
 *
 * @param classLoader The class loader to be used to load provider-configurations
 * @return framework factory for creating framework instances
 */
private FrameworkFactory loadOSGiFwkFactory(ClassLoader classLoader) {
    if (logger.isLoggable(Level.FINE)) {
        logger.log(Level.FINE, "Loading OSGi FrameworkFactory implementation class from the classpath.");
    }

    ServiceLoader<FrameworkFactory> loader = ServiceLoader.load(FrameworkFactory.class, classLoader);
    if (!loader.iterator().hasNext()) {
        throw new RuntimeException("An implementation of the " + FrameworkFactory.class.getName() +
                " must be available in the classpath");
    }
    return loader.iterator().next();
}
项目:planetBot    文件:Launcher.java   
private void initialize() throws BundleException, URISyntaxException {

        Map<String, String> configMap = loadProperties();
        System.setProperty(LOG_CONFIG_FILE_PROPERTY, configMap.get(LOG_CONFIG_FILE_PROPERTY));

        System.out.println("Building OSGi Framework");
        FrameworkFactory frameworkFactory = ServiceLoader.load(FrameworkFactory.class).iterator().next();
        Framework framework = frameworkFactory.newFramework(configMap);

        framework.init();
        // (9) Use the system bundle context to process the auto-deploy
        // and auto-install/auto-start properties.
        AutoProcessor.process(configMap, framework.getBundleContext());
        // (10) Start the framework.
        System.out.println("Starting OSGi Framework");
        framework.start();

        BundleContext context = framework.getBundleContext();
        // declarative services dependency is necessary, otherwise they won't be picked up!
        loadScrBundle(context);

        try {
            framework.waitForStop(0);
        } catch (InterruptedException e) {
            appendToFile(e);
            showErrorMessage();
        }
        System.exit(0);
    }
项目:guice-old    文件:OSGiContainerTest.java   
public void testGuiceWorksInOSGiContainer()
      throws Throwable {

    // ask framework to clear cache on startup
    Properties properties = new Properties();
    properties.setProperty("org.osgi.framework.storage", BUILD_TEST_DIR + "/bundle.cache");
    properties.setProperty("org.osgi.framework.storage.clean", "onFirstInit");

    // test each available OSGi framework in turn
    Iterator<FrameworkFactory> f = ServiceRegistry.lookupProviders(FrameworkFactory.class);
    while (f.hasNext()) {
      Framework framework = f.next().newFramework(properties);

      framework.start();
      BundleContext systemContext = framework.getBundleContext();

      // load all the necessary bundles and start the OSGi test bundle
/*if[AOP]*/
      systemContext.installBundle("reference:file:" + BUILD_TEST_DIR + "/aopalliance.jar");
/*end[AOP]*/
      systemContext.installBundle("reference:file:" + BUILD_TEST_DIR + "/javax.inject.jar");
      systemContext.installBundle("reference:file:" + BUILD_TEST_DIR + "/guava.jar");
      systemContext.installBundle("reference:file:" + GUICE_JAR);
      systemContext.installBundle("reference:file:" + BUILD_TEST_DIR + "/osgitests.jar").start();

      framework.stop();
    }
  }
项目:gocd    文件:FelixGoPluginOSGiFrameworkTest.java   
@Before
public void setUp() throws Exception {
    initMocks(this);
    FelixGoPluginOSGiFramework goPluginOSGiFramwork = new FelixGoPluginOSGiFramework(registry, systemEnvironment);

    spy = spy(goPluginOSGiFramwork);
    when(framework.getBundleContext()).thenReturn(bundleContext);
    when(registry.getPlugin(TEST_SYMBOLIC_NAME)).thenReturn(descriptor);
    doReturn(framework).when(spy).getFelixFramework(Matchers.<List<FrameworkFactory>>anyObject());
}
项目:google-guice    文件:OSGiContainerTest.java   
public void testGuiceWorksInOSGiContainer()
      throws Throwable {

    // ask framework to clear cache on startup
    Properties properties = new Properties();
    properties.setProperty("org.osgi.framework.storage", BUILD_TEST_DIR + "/bundle.cache");
    properties.setProperty("org.osgi.framework.storage.clean", "onFirstInit");

    // test each available OSGi framework in turn
    Iterator<FrameworkFactory> f = ServiceRegistry.lookupProviders(FrameworkFactory.class);
    while (f.hasNext()) {
      Framework framework = f.next().newFramework(properties);

      framework.start();
      BundleContext systemContext = framework.getBundleContext();

      // load all the necessary bundles and start the OSGi test bundle
/*if[AOP]*/
      systemContext.installBundle("reference:file:" + BUILD_TEST_DIR + "/aopalliance.jar");
/*end[AOP]*/
      systemContext.installBundle("reference:file:" + BUILD_TEST_DIR + "/javax.inject.jar");
      systemContext.installBundle("reference:file:" + GUICE_JAR);
      systemContext.installBundle("reference:file:" + BUILD_TEST_DIR + "/osgitests.jar").start();

      framework.stop();
    }
  }
项目:neoscada    文件:Starter.java   
public void start ( final String[] args ) throws Exception
{
    if ( this.started )
    {
        return;
    }
    this.started = true;

    this.debug = Boolean.getBoolean ( "org.eclipse.scada.utils.osgi.daemon.debug" ); //$NON-NLS-1$
    if ( this.debug )
    {
        this.logger = new Formatter ( System.out );
    }

    final ServiceLoader<FrameworkFactory> loader = ServiceLoader.load ( FrameworkFactory.class );
    final Iterator<FrameworkFactory> i = loader.iterator ();
    if ( !i.hasNext () )
    {
        throw new IllegalStateException ( "No FrameworkFactory found!" );
    }

    final FrameworkFactory factory = i.next ();

    this.properties = new HashMap<String, String> ();

    for ( final String arg : args )
    {
        final String[] toks = arg.split ( "=", 2 );
        if ( toks.length >= 2 )
        {
            this.properties.put ( toks[0], toks[1] );
        }
        else
        {
            this.properties.put ( toks[0], null );
        }
    }

    this.properties.put ( Constants.FRAMEWORK_BEGINNING_STARTLEVEL, "4" );

    this.framework = factory.newFramework ( this.properties );

    this.framework.init ();

    try
    {
        loadStartBundles ( this.framework, this.properties );
    }
    catch ( final Exception e )
    {
        this.framework.stop ();
        throw e;
    }

    this.framework.start ();
}
项目:pathvisio    文件:PathVisioMain.java   
public void start() 
{       
    frame = new SplashFrame();

    final SwingWorker<Void, Integer> worker = new SwingWorker<Void, Integer>() {
        protected Void doInBackground() throws Exception {
            try {
                String factoryClass = getFactoryClass();
                FrameworkFactory factory = (FrameworkFactory) Class.forName(factoryClass).newInstance();

                Framework framework = factory.newFramework(getLaunchProperties());
                framework.start();

                context = framework.getBundleContext();
                BundleLoader loader = new BundleLoader(context);

                /* load embedded bundles, i.e. all bundles that are inside pathvisio.jar */ 
                System.out.println("Installing bundles that are embedded in the jar.");

                Set<String> jarNames = loader.getResourceListing(PathVisioMain.class);
                int cnt = 0;
                int total = jarNames.size() + pluginLocations.size();

                for (String s : jarNames) 
                {
                    String text = (s.length() > 50) ? s.substring(0, 50) : s;
                    frame.getTextLabel().setText("<html>Install " + text + ".</html>");
                    frame.repaint();
                    publish(100 * (++cnt) / total);
                    loader.installEmbeddedBundle(s);
                }

                frame.getTextLabel().setText("<html>Install active plugins.</html>");
                frame.repaint();
                System.out.println("Installing bundles from directories specified on the command-line.");
                for(String location : pluginLocations) {
                    publish(100 * (++cnt) / total);
                    loader.loadFromParameter(location);
                }

                startBundles(context, loader.getBundles());

                frame.getTextLabel().setText("Start application.");
                frame.repaint();
            } catch(Exception ex) {
                reportException("Startup Error", ex);
                ex.printStackTrace();
            }
            return null;
        }

        protected void process(List<Integer> chunks) {
            for (Integer chunk : chunks) {
                frame.getProgressBar().setString("Installing modules..." + chunk + "%");
                frame.getProgressBar().setValue(chunk);
                frame.repaint();
            }
        }

        protected void done() {
            frame.setVisible(false);
        }

    };

    worker.execute();
}
项目:motech    文件:MotechNativeTestContainer.java   
public MotechNativeTestContainer(ExamSystem system, FrameworkFactory frameworkFactory) throws IOException {
    super(system, frameworkFactory);
    examSystem = system;
}
项目:cirrus    文件:CirrusAgentManager.java   
private Framework createFramework() throws IOException {
    final ServiceLoader<FrameworkFactory> factoryLoader = ServiceLoader.load(FrameworkFactory.class);
    final Iterator<FrameworkFactory> iterator = factoryLoader.iterator();
    final FrameworkFactory next = iterator.next();
    return next.newFramework(ConfigUtil.createFrameworkConfiguration());
}
项目:myHealthHub    文件:FelixService.java   
@Override
public void onCreate() {
    super.onCreate();

    if(D) Log.d(TAG, "Setting up a thread for felix.");

    Thread felixThread = new Thread() {

        @Override
        public void run() {

            File dexOutputDir = getApplicationContext().getDir("transformationmanager", 0);

            // if default bundles were not installed already, install them
            File f = new File(dexOutputDir.getAbsolutePath()+"/bundle");
            if(!f.isDirectory()) {
                if(D) Log.i(TAG, "Installing default bundles...");
                unzipBundles(FelixService.this.getResources().openRawResource(R.raw.bundles),
                        dexOutputDir.getAbsolutePath()+"/");                    
            }       

            FelixConfig felixConfig = new FelixConfig(dexOutputDir.getAbsolutePath());
            Map<String, String> configProperties = felixConfig.getProperties2();

            try {
                FrameworkFactory frameworkFactory = new org.apache.felix.framework.FrameworkFactory();

                felixFramework = frameworkFactory.newFramework(configProperties);
                felixFramework.init();
                AutoProcessor.process(configProperties,felixFramework.getBundleContext());
                felixFramework.start();

                // Registering the android context as an osgi service
                Hashtable<String, String> properties = new Hashtable<String, String>();
                properties.put("platform", "android");
                felixFramework.getBundleContext().registerService(
                        Context.class.getName(), getApplicationContext(),
                        properties);

            } catch (Exception ex) {                    
                Log.e(TAG, "Felix could not be started", ex);
                ex.printStackTrace();
            }
        }
    };

    felixThread.setDaemon(true);
    felixThread.start();

    LocalBroadcastManager.getInstance(this).registerReceiver(downloadReceiver, 
            new IntentFilter(FELIX_SUCCESSFUL_WEB_REQUEST));
}
项目:gocd    文件:FelixGoPluginOSGiFramework.java   
Framework getFelixFramework(List<FrameworkFactory> frameworkFactories) {
    return frameworkFactories.get(0).newFramework(generateOSGiFrameworkConfig());
}
项目:eosgi-maven-plugin    文件:AnalyzeMojo.java   
private Framework startOSGiContainer(final String[] bundleLocations,
    final String tempDirPath) throws BundleException {
  FrameworkFactory frameworkFactory = ServiceLoader
      .load(FrameworkFactory.class).iterator().next();

  Map<String, String> config = new HashMap<String, String>();
  config.put("org.osgi.framework.system.packages", "");
  config.put("osgi.configuration.area", tempDirPath);
  config.put("osgi.baseConfiguration.area", tempDirPath);
  config.put("osgi.sharedConfiguration.area", tempDirPath);
  config.put("osgi.instance.area", tempDirPath);
  config.put("osgi.user.area", tempDirPath);
  config.put("osgi.hook.configurators.exclude",
      "org.eclipse.core.runtime.internal.adaptor.EclipseLogHook");

  Framework framework = frameworkFactory.newFramework(config);
  framework.init();

  BundleContext systemBundleContext = framework.getBundleContext();

  org.apache.maven.artifact.Artifact equinoxCompatibilityStateArtifact =
      pluginArtifactMap.get("org.eclipse.tycho:org.eclipse.osgi.compatibility.state");

  URI compatibilityBundleURI = equinoxCompatibilityStateArtifact.getFile().toURI();

  systemBundleContext.installBundle("reference:" + compatibilityBundleURI.toString());

  framework.start();

  for (String bundleLocation : bundleLocations) {
    try {
      systemBundleContext.installBundle(bundleLocation);
    } catch (BundleException e) {
      getLog().warn("Could not install bundle " + bundleLocation, e);
    }
  }
  FrameworkWiring frameworkWiring = framework
      .adapt(FrameworkWiring.class);
  frameworkWiring.resolveBundles(null);

  return framework;
}
项目:osgiserver    文件:StandaloneBootstrap.java   
private static void initFelixFramework() throws IOException, BundleException {
    Properties configProps = _loadOsgiConfigProperties();

    // configure Felix auto-deploy directory
    String sAutoDeployDir = configProps.getProperty(AutoProcessor.AUTO_DEPLOY_DIR_PROPERY);
    if (sAutoDeployDir == null) {
        throw new RuntimeException("Can not find configuration ["
                + AutoProcessor.AUTO_DEPLOY_DIR_PROPERY + "] in file "
                + OSGiSERVER_OSGI_PROPERTIES.getAbsolutePath());
    }
    File fAutoDeployDir = new File(OSGiSERVER_HOME, sAutoDeployDir);
    if (LOGGER.isDebugEnabled()) {
        LOGGER.debug(AutoProcessor.AUTO_DEPLOY_DIR_PROPERY + ": "
                + fAutoDeployDir.getAbsolutePath());
    }
    configProps.setProperty(AutoProcessor.AUTO_DEPLOY_DIR_PROPERY,
            fAutoDeployDir.getAbsolutePath());

    // configure Felix temp (storage) directory
    String sCacheDir = configProps.getProperty(Constants.FRAMEWORK_STORAGE);
    if (sCacheDir == null) {
        throw new RuntimeException("Can not find configuration [" + Constants.FRAMEWORK_STORAGE
                + "] in file " + OSGiSERVER_OSGI_PROPERTIES.getAbsolutePath());
    } else if (LOGGER.isDebugEnabled()) {
        LOGGER.debug(Constants.FRAMEWORK_STORAGE + ": " + sCacheDir);
    }
    File fCacheDir = new File(OSGiSERVER_HOME, sCacheDir);
    configProps.setProperty(Constants.FRAMEWORK_STORAGE, fCacheDir.getAbsolutePath());

    // configure Felix's File Install watch directory
    final String PROP_FELIX_FILE_INSTALL_DIR = "felix.fileinstall.dir";
    String sMonitorDir = configProps.getProperty(PROP_FELIX_FILE_INSTALL_DIR);
    if (sMonitorDir != null) {
        File fMonitorDir = new File(OSGiSERVER_HOME, sMonitorDir);
        configProps.setProperty(PROP_FELIX_FILE_INSTALL_DIR, fMonitorDir.getAbsolutePath());
        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug(PROP_FELIX_FILE_INSTALL_DIR + ": " + fMonitorDir.getAbsolutePath());
        }
    }

    // check for Felix's Remote Shell listen IP & Port
    if (LOGGER.isDebugEnabled()) {
        String remoteShellListenIp = configProps.getProperty("osgi.shell.telnet.ip");
        String remoteShellListenPort = configProps.getProperty("osgi.shell.telnet.port");
        LOGGER.debug("Remote Shell: " + remoteShellListenIp + ":" + remoteShellListenPort);
    }

    Map<String, String> config = new HashMap<String, String>();
    for (Entry<Object, Object> entry : configProps.entrySet()) {
        config.put(entry.getKey().toString(), entry.getValue().toString());
    }
    FrameworkFactory factory = new org.apache.felix.framework.FrameworkFactory();
    framework = factory.newFramework(config);
    framework.init();
    AutoProcessor.process(configProps, framework.getBundleContext());
    _autoDeployBundles(fAutoDeployDir, framework);
    framework.start();
}
项目:logging-log4j2    文件:OsgiTestRule.java   
public OsgiTestRule(final FrameworkFactory factory) {
    this.factory = factory;
}
项目:logging-log4j2    文件:FelixLoadApiBundleTest.java   
@Override
protected FrameworkFactory getFactory() {
    return new org.apache.felix.framework.FrameworkFactory();
}
项目:logging-log4j2    文件:EquinoxLoadApiBundleTest.java   
@Override
protected FrameworkFactory getFactory() {
    return new EquinoxFactory();
}
项目:logging-log4j2    文件:AbstractOsgiTest.java   
protected abstract FrameworkFactory getFactory();