Package org.apache.felix.dm

Examples of org.apache.felix.dm.Component


    public void testShareServiceDependencyWithMultipleServices() {
        DependencyManager m = new DependencyManager(context);
        // helper class that ensures certain steps get executed in sequence
        Ensure e = new Ensure();
        // create a service provider and consumer
        Component provider = m.createComponent().setImplementation(new ServiceProvider()).setInterface(ServiceInterface.class.getName(), null);
        ServiceDependency dependency = m.createServiceDependency().setService(ServiceInterface.class).setRequired(true);
        Component consumer1 = m.createComponent().setImplementation(new ServiceConsumer(e, 1)).add(dependency);
        Component consumer2 = m.createComponent().setImplementation(new ServiceConsumer(e, 4)).add(dependency);
       
        m.add(provider);
        m.add(consumer1);
        e.waitForStep(3, 15000);
        m.add(consumer2);
View Full Code Here


    public void testShareConfigurationDependencyWithMultipleServices() {
        DependencyManager m = new DependencyManager(context);
        // helper class that ensures certain steps get executed in sequence
        Ensure e = new Ensure();
        // create a service provider and consumer
        Component provider = m.createComponent().setImplementation(new ConfigurationProvider(e)).add(m.createServiceDependency().setService(ConfigurationAdmin.class).setRequired(true));
        ConfigurationDependency dependency = m.createConfigurationDependency().setPid("test");
        Component consumer1 = m.createComponent().setImplementation(new ConfigurationConsumer(e, 2)).add(dependency);
        Component consumer2 = m.createComponent().setImplementation(new ConfigurationConsumer(e, 3)).add(dependency);
       
        // add the configuration provider that should publish the configuration as step 1
        m.add(provider);
        // add the first consumer, and wait until its updated() method is invoked
        m.add(consumer1);
View Full Code Here

        DependencyManager m = new DependencyManager(context);
        // helper class that ensures certain steps get executed in sequence
        Ensure e = new Ensure();
        // create a service provider and consumer
        BundleDependency dependency = m.createBundleDependency().setFilter("(Bundle-SymbolicName=org.apache.felix.dependencymanager)").setRequired(true);
        Component consumer1 = m.createComponent().setImplementation(new BundleConsumer(e, 1)).add(dependency);
        Component consumer2 = m.createComponent().setImplementation(new BundleConsumer(e, 2)).add(dependency);
       
        m.add(consumer1);
        e.waitForStep(1, 15000);
        m.add(consumer2);
        e.waitForStep(2, 15000);
View Full Code Here

        DependencyManager m = new DependencyManager(context);
        // helper class that ensures certain steps get executed in sequence
        Ensure e = new Ensure();
        // create a service provider and consumer
        ResourceDependency dependency = m.createResourceDependency().setFilter("(" + ResourceHandler.HOST + "=localhost)").setRequired(true);
        Component consumer1 = m.createComponent().setImplementation(new ResourceConsumer(e, 1)).add(dependency);
        Component consumer2 = m.createComponent().setImplementation(new ResourceConsumer(e, 2)).add(dependency);
        Component resourceProvider = m.createComponent().setImplementation(new ResourceProvider()).add(m.createServiceDependency().setService(ResourceHandler.class).setCallbacks("add", "remove"));;
        m.add(resourceProvider);
        m.add(consumer1);
        e.waitForStep(1, 15000);
        m.add(consumer2);
        e.waitForStep(2, 15000);
View Full Code Here

    }
   
    // callbacks for FactoryConfigurationAdapterImpl
    public void updated(String pid, Dictionary properties) throws ConfigurationException {
        try {
            Component service;
            synchronized (m_services) {
                service = (Component) m_services.get(pid);
            }
            if (service == null) {
                service = createService(new Object[] { properties });
View Full Code Here

            }
        }
    }

    public void deleted(String pid) {
        Component service = null;
        synchronized (m_services) {
            service = (Component) m_services.remove(pid);
        }
        if (service != null) {
            m_manager.remove(service);
View Full Code Here

        }
    }

    // callbacks for resources
    public void added(URL resource) {
        Component newService = createService(new Object[] { resource });
        synchronized (m_services) {
            m_services.put(resource, newService);
        }
        m_manager.add(newService);
    }
View Full Code Here

        }
        m_manager.add(newService);
    }

    public void removed(URL resource) {
        Component newService;
        synchronized (m_services) {
            newService = (Component) m_services.remove(resource);
        }
        if (newService == null) {
            throw new IllegalStateException("Service should not be null here.");
View Full Code Here

        m_manager.remove(newService);
    }
   
    // callbacks for services
    public void added(ServiceReference ref, Object service) {
        Component newService = createService(new Object[] { ref, service });
        synchronized (m_services) {
            m_services.put(ref, newService);
        }
        m_manager.add(newService);
    }
View Full Code Here

        }
        m_manager.add(newService);
    }
   
    public void removed(ServiceReference ref, Object service) {
        Component newService;
        synchronized (m_services) {
            newService = (Component) m_services.remove(ref);
        }
        if (newService == null) {
            throw new IllegalStateException("Service should not be null here.");
View Full Code Here

TOP

Related Classes of org.apache.felix.dm.Component

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.