Package org.osgi.framework

Examples of org.osgi.framework.FrameworkEvent


        {
            manager.writeLock();
        }
        catch (InterruptedException ie)
        {
            framework.getBundleManager().fireFrameworkEvent(new FrameworkEvent(FrameworkEvent.ERROR, framework.getBundleManager().getBundle(0), ie));
            LOGGER.log(Level.WARNING, "Wait for write lock interrupted", ie);
            return;
        }

        try
        {
            Set<Bundle> old = new HashSet<Bundle>();
            for (Bundle bundle : bundles)
            {
            }

            old = searchz(old);

            for (Bundle bundle : old)
            {

            }

            framework.getBundleManager().fireFrameworkEvent(new FrameworkEvent(FrameworkEvent.PACKAGES_REFRESHED, framework.getBundleManager().getBundle(0), null));
            //todo: consider this autogenerated code
        }
        finally
        {
            manager.writeUnlock();
View Full Code Here


                        {
                            manager.performActivation(BundleClassLoader.this.getBundleGeneration());
                        }
                        catch (BundleException be)
                        {
                            manager.fireFrameworkEvent(new FrameworkEvent(FrameworkEvent.ERROR, bundleGeneration.getBundleController(), be));
                        }
                    }

                    return result;
                }
View Full Code Here

        configuration.put(Constants.FRAMEWORK_STORAGE, "target/papoose");

        FrameworkFactory factory = new PapooseFrameworkFactory();
        final Framework framework = factory.newFramework(configuration);

        FrameworkEvent frameworkEvent = framework.waitForStop(0);

        assertNotNull(frameworkEvent);
        assertEquals(FrameworkEvent.STOPPED, frameworkEvent.getType());
        assertSame(framework, frameworkEvent.getBundle());

        framework.init();

        Bundle systemBundle = framework.getBundleContext().getBundle(0);

        assertEquals(Bundle.STARTING, framework.getState());
        assertEquals(Bundle.STARTING, systemBundle.getState());

        ThreadPoolExecutor pool = new ThreadPoolExecutor(1, 1, 60, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());

        try
        {
            Future<FrameworkEvent> result = pool.submit(new Callable<FrameworkEvent>()
            {
                public FrameworkEvent call() throws Exception
                {
                    return framework.waitForStop(0);
                }
            });

            framework.stop();

            frameworkEvent = result.get();

            assertNotNull(frameworkEvent);
            assertEquals(FrameworkEvent.STOPPED, frameworkEvent.getType());
            assertSame(systemBundle, frameworkEvent.getBundle());

            framework.waitForStop(0);
        }
        finally
        {
            pool.shutdown();
        }

        try
        {
            framework.waitForStop(-1);
            Assert.fail("Should never accept negative wait timeouts");
        }
        catch (IllegalArgumentException iae)
        {
        }

        frameworkEvent = framework.waitForStop(Long.MAX_VALUE);

        assertNotNull(frameworkEvent);
        assertEquals(FrameworkEvent.STOPPED, frameworkEvent.getType());
        assertSame(systemBundle, frameworkEvent.getBundle());

        framework.start();

        framework.stop();

        Thread.sleep(1);

        frameworkEvent = framework.waitForStop(0);

        assertNotNull(frameworkEvent);
        assertEquals(FrameworkEvent.STOPPED, frameworkEvent.getType());
        assertSame(systemBundle, frameworkEvent.getBundle());
    }
View Full Code Here

     */
    public FrameworkEvent waitForStop(long timeout) throws InterruptedException
    {
        LOGGER.entering(CLASS_NAME, "waitForStop", timeout);

        if (systemBundle.get() == null) return new FrameworkEvent(FrameworkEvent.STOPPED, this, null); // todo: ???

        FrameworkEvent frameworkEvent = framework.waitForStop(timeout);

        LOGGER.exiting(CLASS_NAME, "waitForStop", frameworkEvent);

        return frameworkEvent;
    }
View Full Code Here

                {
                    beginStop(bundleGeneration, 0);
                }
                catch (Throwable throwable)
                {
                    fireFrameworkEvent(new FrameworkEvent(FrameworkEvent.ERROR, bundle, throwable));
                }
            }

            Set<Generation> unused = new HashSet<Generation>(bundleController.getGenerations().values());
            boolean remove = true;
View Full Code Here

                    {
                        SecurityUtils.bundleChanged(listener, event, framework.getAcc());
                    }
                    catch (Throwable throwable)
                    {
                        fireFrameworkEvent(new FrameworkEvent(FrameworkEvent.ERROR, bundle, throwable));
                    }
                }
            }
        }

        if ((event.getType() & (BundleEvent.LAZY_ACTIVATION | BundleEvent.STARTING | BundleEvent.STOPPING)) == 0)
        {
            for (final BundleController bundle : bundles)
            {
                Set<BundleListener> bundleListeners = bundle.getBundleListeners();
                if (bundleListeners != null)
                {
                    for (final BundleListener listener : bundleListeners)
                    {
                        bundle.getSerialExecutor().execute(new Runnable()
                        {
                            public void run()
                            {
                                try
                                {
                                    SecurityUtils.bundleChanged(listener, event, framework.getAcc());
                                }
                                catch (Throwable throwable)
                                {
                                    fireFrameworkEvent(new FrameworkEvent(FrameworkEvent.ERROR, bundle, throwable));
                                }
                            }
                        });
                    }
                }
View Full Code Here

                            }
                            catch (Throwable throwable)
                            {
                                if (event.getType() != FrameworkEvent.ERROR)
                                {
                                    fireFrameworkEvent(new FrameworkEvent(FrameworkEvent.ERROR, bundle, throwable));
                                }
                            }
                        }
                    });
                }
View Full Code Here

            {
                SecurityUtils.serviceEvent(listener, event, framework.getAcc());
            }
            catch (Throwable throwable)
            {
                fireFrameworkEvent(new FrameworkEvent(FrameworkEvent.ERROR, bundle, throwable));
            }
        }
    }
View Full Code Here

                Generation currentGeneration = getCurrentGeneration();

                if (getState() == Bundle.INSTALLED)
                {
                    //noinspection ThrowableInstanceNeverThrown
                    getFramework().getBundleManager().fireFrameworkEvent(new FrameworkEvent(FrameworkEvent.ERROR, this, new BundleException("Unable to resolve bundle")));
                    throw new ClassNotFoundException("Unable to resolve bundle");
                }
                else
                {
                    BundleGeneration bundleGeneration;
View Full Code Here

        LOGGER.entering(CLASS_NAME, "waitForStop", timeout);

        if (timeout < 0) throw new IllegalArgumentException("Timeout cannot be negative");

        BundleController systemBundleController = getBundleManager().getBundle(0);
        FrameworkEvent frameworkEvent;
        try
        {
            if (timeout == 0)
            {
                frameworkEvent = futureStop.get();
            }
            else
            {
                frameworkEvent = futureStop.get(timeout, TimeUnit.MILLISECONDS);
            }
        }
        catch (ExecutionException e)
        {
            frameworkEvent = new FrameworkEvent(FrameworkEvent.ERROR, systemBundleController, e.getCause());
        }
        catch (TimeoutException e)
        {
            frameworkEvent = new FrameworkEvent(FrameworkEvent.WAIT_TIMEDOUT, systemBundleController, null);
        }

        LOGGER.exiting(CLASS_NAME, "waitForStop", frameworkEvent);

        return frameworkEvent;
View Full Code Here

TOP

Related Classes of org.osgi.framework.FrameworkEvent

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.