Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/FactoryInjectedWithConfigurationBeforeTheCreateMethod.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/FactoryInjectedWithConfigurationBeforeTheCreateMethod.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/FactoryInjectedWithConfigurationBeforeTheCreateMethod.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/FactoryInjectedWithConfigurationBeforeTheCreateMethod.java Thu Feb 18 21:07:16 2016 @@ -45,13 +45,13 @@ public class FactoryInjectedWithConfigur m_e = new Ensure(); // Create the component that creates a configuration. - Component configurator = component(m).impl(new Configurator("foobar")).withSrv(ConfigurationAdmin.class).build(); + Component configurator = component(m).impl(new Configurator("foobar")).withSvc(ConfigurationAdmin.class).build(); // Create the object that has to be injected with the configuration before its create method is called. MyFactory factory = new MyFactory(); // Create the Component for the MyComponent class that is created using the factory above. - Component myComponent = component(m).factory(factory, "create").withCnf(b->b.pid("foobar").cbi(factory, "updated")).build(); + Component myComponent = component(m).factory(factory, "create").withCnf(b->b.pid("foobar").update(factory, "updated")).build(); // provide the configuration m.add(configurator); @@ -67,13 +67,13 @@ public class FactoryInjectedWithConfigur m_e = new Ensure(); // Create the component that creates a configuration. - Component configurator = component(m).impl(new Configurator("foobar")).withSrv(ConfigurationAdmin.class).build(); + Component configurator = component(m).impl(new Configurator("foobar")).withSvc(ConfigurationAdmin.class).build(); // Create the object that has to be injected with the configuration before its create method is called. MyFactory factory = new MyFactory(); // Create the Component for the MyComponent class that is created using the factory above. - Component myComponent = component(m).factory(factory, "create").withCnf(b->b.pid("foobar").cbi(factory::updated)).build(); + Component myComponent = component(m).factory(factory, "create").withCnf(b->b.pid("foobar").update(factory::updated)).build(); // provide the configuration m.add(configurator);
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/InstanceBoundDependencyTest.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/InstanceBoundDependencyTest.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/InstanceBoundDependencyTest.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/InstanceBoundDependencyTest.java Thu Feb 18 21:07:16 2016 @@ -46,7 +46,7 @@ public class InstanceBoundDependencyTest // Create a "C" component: it depends on some S1 services, and on some S2 instance-bound services (declared from C.init() method) C cimpl = new C(); Component c = component(m).impl(cimpl) - .withSrv(S1.class, sb->sb.cb("addS1", "changeS1", "removeS1").autoConfig(true)).build(); + .withSvc(S1.class, sb->sb.add("addS1").change("changeS1").remove("removeS1").autoConfig(true)).build(); m.add(c); // Add S1 (s1_1): C.add(S1 s1) is called, then init() is called where a dependency is declared on S2 @@ -108,6 +108,7 @@ public class InstanceBoundDependencyTest } // Our "C" component: it depends on S1 (required) and S2 (required/instance bound) + // Class tested with reflection based callbacks class C { final Map<String, ServiceReference> m_s1Map = new HashMap(); final Map<String, ServiceReference> m_s2Map = new HashMap(); @@ -150,7 +151,7 @@ public class InstanceBoundDependencyTest } void init(Component c) { - component(c, comp->comp.withSrv(S2.class, srv -> srv.cb(C::addS2, C::changeS2, C::removeS2))); + component(c, comp->comp.withSvc(S2.class, srv -> srv.add("addS2").change("changeS2").remove("removeS2"))); m_e.step(1); } } Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ModifiedBundleDependencyTest.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ModifiedBundleDependencyTest.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ModifiedBundleDependencyTest.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ModifiedBundleDependencyTest.java Thu Feb 18 21:07:16 2016 @@ -64,7 +64,7 @@ public class ModifiedBundleDependencyTes void init(Component c) { m_e.step(2); - component(c, comp -> comp.withSrv(A.class, srv -> srv.cb("add", "remove"))); + component(c, comp -> comp.withSvc(A.class, srv -> srv.add("add").remove("remove"))); } public void add(A a) { @@ -105,7 +105,7 @@ public class ModifiedBundleDependencyTes String filter = "(Bundle-SymbolicName=org.apache.felix.metatype)"; int mask = Bundle.INSTALLED|Bundle.ACTIVE|Bundle.RESOLVED|Bundle.STARTING; Component b = component(m) - .provides(B.class).impl(new BImpl(e)).withBundle(bd -> bd.filter(filter).mask(mask).cb("add", "change", "remove")).build(); + .provides(B.class).impl(new BImpl(e)).withBundle(bd -> bd.filter(filter).mask(mask).add("add").change("change").remove("remove")).build(); Bundle dmtest = getBundle("org.apache.felix.metatype"); try { @@ -141,7 +141,7 @@ public class ModifiedBundleDependencyTes String filter = "(Bundle-SymbolicName=org.apache.felix.metatype)"; int mask = Bundle.INSTALLED|Bundle.ACTIVE|Bundle.RESOLVED|Bundle.STARTING; Component b = component(m).provides(B.class).impl(impl) - .withBundle(bd -> bd.filter(filter).mask(mask).cbi(impl::add, impl::change, impl::remove)).build(); + .withBundle(bd -> bd.filter(filter).mask(mask).add(impl::add).change(impl::change).remove(impl::remove)).build(); Bundle dmtest = getBundle("org.apache.felix.metatype"); try { Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleExtraDependenciesTest.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleExtraDependenciesTest.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleExtraDependenciesTest.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleExtraDependenciesTest.java Thu Feb 18 21:07:16 2016 @@ -38,8 +38,8 @@ public class MultipleExtraDependenciesTe DependencyManager m = getDM(); // Helper class that ensures certain steps get executed in sequence Ensure e = new Ensure(); - Component c1 = component(m).provides(Service1.class).impl(new MyComponent1(e)).withSrv(Service2.class, srv->srv.autoConfig("m_service2")).build(); - Component c2 = component(m).impl(new MyComponent2(e)).withSrv(Service1.class, srv->srv.required(false).autoConfig(false).cb("added")).build(); + Component c1 = component(m).provides(Service1.class).impl(new MyComponent1(e)).withSvc(Service2.class, srv->srv.autoConfig("m_service2")).build(); + Component c2 = component(m).impl(new MyComponent2(e)).withSvc(Service1.class, srv->srv.required(false).autoConfig(false).add("added")).build(); Component c3 = component(m).provides(Service2.class).impl(Service2Impl.class).build(); Component c4 = component(m).impl(Service3Impl1.class).provides(Service3.class, type -> "xx").build(); Component c5 = component(m).impl(Service3Impl2.class).provides(Service3.class, type -> "yy").build(); @@ -72,8 +72,8 @@ public class MultipleExtraDependenciesTe DependencyManager m = getDM(); // Helper class that ensures certain steps get executed in sequence Ensure e = new Ensure(); - Component c1 = component(m).provides(Service1.class).impl(new MyComponent1(e)).withSrv(Service2.class, srv->srv.autoConfig("m_service2")).build(); - Component c2 = component(m).impl(new MyComponent2(e)).withSrv(Service1.class, srv->srv.required(false).autoConfig(false).cb("added")).build(); + Component c1 = component(m).provides(Service1.class).impl(new MyComponent1(e)).withSvc(Service2.class, srv->srv.autoConfig("m_service2")).build(); + Component c2 = component(m).impl(new MyComponent2(e)).withSvc(Service1.class, srv->srv.required(false).autoConfig(false).add("added")).build(); Component c3 = component(m).provides(Service2.class).impl(Service2Impl.class).build(); Component c4 = component(m).impl(Service3Impl1.class).provides(Service3.class, type -> "xx").build(); Component c5 = component(m).impl(Service3Impl2.class).provides(Service3.class, type -> "yy").build(); @@ -121,8 +121,8 @@ public class MultipleExtraDependenciesTe // Service3/yy not yet available component(c, comp -> comp - .withSrv(Service3.class, srv->srv.filter("(type=xx)").autoConfig("m_service3_xx")) - .withSrv(Service3.class, srv->srv.filter("(type=yy)").autoConfig("m_service3_yy"))); + .withSvc(Service3.class, srv->srv.filter("(type=xx)").autoConfig("m_service3_xx")) + .withSvc(Service3.class, srv->srv.filter("(type=yy)").autoConfig("m_service3_yy"))); } void start() { Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleExtraDependencyTest.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleExtraDependencyTest.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleExtraDependencyTest.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleExtraDependencyTest.java Thu Feb 18 21:07:16 2016 @@ -37,8 +37,8 @@ public class MultipleExtraDependencyTest Component sp2 = component(m) .impl(ServiceProvider2.class).provides(ServiceProvider2.class) - .withSrv(Runnable.class, srv->srv.filter("(foo=bar)").required(false).autoConfig("m_runnable")) - .withSrv(Sequencer.class, srv->srv.cb("bind")) + .withSvc(Runnable.class, srv->srv.filter("(foo=bar)").required(false).autoConfig("m_runnable")) + .withSvc(Sequencer.class, srv->srv.add("bind")) .composition("getComposition") .build(); @@ -46,15 +46,15 @@ public class MultipleExtraDependencyTest .impl(ServiceProvider.class) .provides(ServiceInterface.class, foo -> "bar") .start("start").stop("stop") - .withSrv(Sequencer.class, srv->srv.autoConfig("m_sequencer")) - .withSrv(ServiceProvider2.class, srv->srv.cb("bind", "unbind")) + .withSvc(Sequencer.class, srv->srv.autoConfig("m_sequencer")) + .withSvc(ServiceProvider2.class, srv->srv.add("bind").remove("unbind")) .build(); Component sc = component(m) .impl(ServiceConsumer.class) .start("start").stop("stop") - .withSrv(Sequencer.class, srv->srv.autoConfig("m_sequencer")) - .withSrv(ServiceInterface.class, srv->srv.filter("(foo=bar)").autoConfig("m_service")) + .withSvc(Sequencer.class, srv->srv.autoConfig("m_sequencer")) + .withSvc(ServiceInterface.class, srv->srv.filter("(foo=bar)").autoConfig("m_service")) .build(); Component sequencer = component(m) Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleExtraDependencyTest2.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleExtraDependencyTest2.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleExtraDependencyTest2.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleExtraDependencyTest2.java Thu Feb 18 21:07:16 2016 @@ -127,8 +127,8 @@ public class MultipleExtraDependencyTest public void init(Component s) { component(s, comp->comp - .withSrv(Sequencer.class, srv->srv.autoConfig("m_sequencer")) - .withSrv(ServiceInterface.class, srv->srv.filter("(foo=bar)").autoConfig("m_service"))); + .withSvc(Sequencer.class, srv->srv.autoConfig("m_sequencer")) + .withSvc(ServiceInterface.class, srv->srv.filter("(foo=bar)").autoConfig("m_service"))); } void start() { @@ -150,8 +150,8 @@ public class MultipleExtraDependencyTest public void init(Component c) { component(c, comp->comp - .withSrv(Sequencer.class, srv->srv.autoConfig("m_sequencer")) - .withSrv(ServiceProvider2.class, srv->srv.cb("bind", "unbind"))); + .withSvc(Sequencer.class, srv->srv.autoConfig("m_sequencer")) + .withSvc(ServiceProvider2.class, srv->srv.add("bind").remove("unbind"))); } void bind(ServiceProvider2 provider2) @@ -191,8 +191,8 @@ public class MultipleExtraDependencyTest public void init(Component c) { component(c, comp->comp - .withSrv(Runnable.class, srv->srv.optional().filter("(foo=bar)")) - .withSrv(Sequencer.class, srv->srv.cb("bind"))); + .withSvc(Runnable.class, srv->srv.optional().filter("(foo=bar)")) + .withSvc(Sequencer.class, srv->srv.add("bind"))); } void bind(Sequencer seq) Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleServiceDependencyTest.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleServiceDependencyTest.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleServiceDependencyTest.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/MultipleServiceDependencyTest.java Thu Feb 18 21:07:16 2016 @@ -36,7 +36,7 @@ public class MultipleServiceDependencyTe // create a service provider and consumer Component provider = component(m).impl(new ServiceProvider(e)).provides(ServiceInterface.class.getName()).build(); Component providerWithHighRank = component(m).impl(new ServiceProvider2(e)).provides(ServiceInterface.class.getName(), Constants.SERVICE_RANKING, Integer.valueOf(5)).build(); - Component consumer = component(m).impl(new ServiceConsumer(e)).withSrv(ServiceInterface.class).build(); + Component consumer = component(m).impl(new ServiceConsumer(e)).withSvc(ServiceInterface.class).build(); m.add(provider); m.add(providerWithHighRank); m.add(consumer); @@ -56,7 +56,7 @@ public class MultipleServiceDependencyTe // create a service provider and consumer Component provider = component(m).impl(new ServiceProvider(e)).provides(ServiceInterface.class.getName()).build(); Component provider2 = component(m).impl(new ServiceProvider2(e)).provides(ServiceInterface.class.getName()).build(); - Component consumer = component(m).impl(new ServiceConsumer(e)).withSrv(ServiceInterface.class).build(); + Component consumer = component(m).impl(new ServiceConsumer(e)).withSvc(ServiceInterface.class).build(); m.add(provider2); m.add(consumer); e.waitForStep(3, 5000); @@ -76,7 +76,7 @@ public class MultipleServiceDependencyTe // create a service provider and consumer Component provider = component(m).impl(new ServiceProvider(e)).provides(ServiceInterface.class.getName()).build(); Component provider2 = component(m).impl(new ServiceProvider2(e)).provides(ServiceInterface.class.getName()).build(); - Component consumer = component(m).impl(new ServiceConsumer(e)).withSrv(ServiceInterface.class, srv->srv.cb("add", "remove")).build(); + Component consumer = component(m).impl(new ServiceConsumer(e)).withSvc(ServiceInterface.class, srv->srv.add("add").remove("remove")).build(); m.add(provider2); m.add(consumer); e.waitForStep(3, 15000); Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/RemovedDependencyTest.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/RemovedDependencyTest.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/RemovedDependencyTest.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/RemovedDependencyTest.java Thu Feb 18 21:07:16 2016 @@ -67,8 +67,8 @@ public class RemovedDependencyTest exten ServiceConsumer consumer = new ServiceConsumer(e, d3); Component sc = component(m).impl(consumer).build(); - Dependency d1 = serviceDependency(sc, ServiceInterface.class).filter("(name=provider1)").cb("add", "remove").build(); - Dependency d2 = serviceDependency(sc, ServiceInterface.class).filter("(name=provider2)").cb("add", "remove").build(); + Dependency d1 = serviceDependency(sc, ServiceInterface.class).filter("(name=provider1)").add("add").remove("remove").build(); + Dependency d2 = serviceDependency(sc, ServiceInterface.class).filter("(name=provider2)").add("add").remove("remove").build(); sc.add(d1, d2); Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ResourceProvider.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ResourceProvider.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ResourceProvider.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ResourceProvider.java Thu Feb 18 21:07:16 2016 @@ -66,7 +66,7 @@ class ResourceProvider { } @SuppressWarnings({ "deprecation", "unchecked" }) - public void add(ServiceReference<ResourceHandler> ref, ResourceHandler handler) { + public void add(ResourceHandler handler, ServiceReference<ResourceHandler> ref) { String filterString = (String) ref.getProperty("filter"); Filter filter = null; if (filterString != null) { @@ -88,7 +88,7 @@ class ResourceProvider { } } - public void remove(ServiceReference<ResourceHandler> ref, ResourceHandler handler) { + public void remove(ResourceHandler handler, ServiceReference<ResourceHandler> ref) { Filter filter; synchronized (m_handlers) { filter = (Filter) m_handlers.remove(handler); Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyCallbackSignaturesTest.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyCallbackSignaturesTest.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyCallbackSignaturesTest.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyCallbackSignaturesTest.java Thu Feb 18 21:07:16 2016 @@ -47,15 +47,15 @@ public class ServiceDependencyCallbackSi Component provider = component(m) .impl(new ProviderImpl()).provides(Provider.class.getName(), props).build(); - component(m, c->c.impl(new Consumer1()).withSrv(Provider.class, srv->srv.cb("bind", "change", "remove"))); - component(m, c->c.impl(new Consumer2()).withSrv(Provider.class, srv->srv.cb("bind", "change", "remove"))); - component(m, c->c.impl(new Consumer3()).withSrv(Provider.class, srv->srv.cb("bind", "change", "remove"))); - component(m, c->c.impl(new Consumer4()).withSrv(Provider.class, srv->srv.cb("bind", "change", "remove"))); - component(m, c->c.impl(new Consumer5()).withSrv(Provider.class, srv->srv.cb("bind", "change", "remove"))); - component(m, c->c.impl(new Consumer6()).withSrv(Provider.class, srv->srv.cb("bind", "change", "remove"))); - component(m, c->c.impl(new Consumer7()).withSrv(Provider.class, srv->srv.cb("bind", "change", "remove"))); - component(m, c->c.impl(new Consumer8()).withSrv(Provider.class, srv->srv.cb("bind", "change", "remove"))); - component(m, c->c.impl(new Consumer9()).withSrv(Provider.class, srv->srv.cb("bind", "change", "remove"))); + component(m, c->c.impl(new Consumer1()).withSvc(Provider.class, srv->srv.add("bind").change("change").remove("remove"))); + component(m, c->c.impl(new Consumer2()).withSvc(Provider.class, srv->srv.add("bind").change("change").remove("remove"))); + component(m, c->c.impl(new Consumer3()).withSvc(Provider.class, srv->srv.add("bind").change("change").remove("remove"))); + component(m, c->c.impl(new Consumer4()).withSvc(Provider.class, srv->srv.add("bind").change("change").remove("remove"))); + component(m, c->c.impl(new Consumer5()).withSvc(Provider.class, srv->srv.add("bind").change("change").remove("remove"))); + component(m, c->c.impl(new Consumer6()).withSvc(Provider.class, srv->srv.add("bind").change("change").remove("remove"))); + component(m, c->c.impl(new Consumer7()).withSvc(Provider.class, srv->srv.add("bind").change("change").remove("remove"))); + component(m, c->c.impl(new Consumer8()).withSvc(Provider.class, srv->srv.add("bind").change("change").remove("remove"))); + component(m, c->c.impl(new Consumer9()).withSvc(Provider.class, srv->srv.add("bind").change("change").remove("remove"))); m.add(provider); m_ensure.waitForStep(9, 5000); @@ -68,7 +68,7 @@ public class ServiceDependencyCallbackSi m.remove(provider); m_ensure.waitForStep(26, 5000); } - + /** * Tests if all possible dependency callbacks signatures supported by ServiceDependency. */ @@ -80,15 +80,15 @@ public class ServiceDependencyCallbackSi Component provider = component(m) .impl(new ProviderImpl()).provides(Provider.class.getName(), props).build(); - component(m, c->c.impl(new Consumer1()).withSrv(Provider.class, srv->srv.cb(Consumer1::bind, Consumer1::change, Consumer1::remove))); - component(m, c->c.impl(new Consumer2()).withSrv(Provider.class, srv->srv.cb(Consumer2::bind, Consumer2::change, Consumer2::remove))); - component(m, c->c.impl(new Consumer3()).withSrv(Provider.class, srv->srv.cb(Consumer3::bind, Consumer3::change, Consumer3::remove))); - component(m, c->c.impl(new Consumer4()).withSrv(Provider.class, srv->srv.cb(Consumer4::bind, Consumer4::change, Consumer4::remove))); - component(m, c->c.impl(new Consumer5()).withSrv(Provider.class, srv->srv.cb(Consumer5::bind, Consumer5::change, Consumer5::remove))); - component(m, c->c.impl(new Consumer6()).withSrv(Provider.class, srv->srv.cb(Consumer6::bind, Consumer6::change, Consumer6::remove))); - component(m, c->c.impl(new Consumer7()).withSrv(Provider.class, srv->srv.cb(Consumer7::bind, Consumer7::change, Consumer7::remove))); - component(m, c->c.impl(new Consumer8()).withSrv(Provider.class, srv->srv.cb(Consumer8::bind, Consumer8::change, Consumer8::remove))); - component(m, c->c.impl(new Consumer9()).withSrv(Provider.class, srv->srv.cb(Consumer9::bind, Consumer9::change, Consumer9::remove))); + component(m, c->c.impl(new Consumer1()).withSvc(Provider.class, srv->srv.add(Consumer1::bind).change(Consumer1::change).remove(Consumer1::remove))); + component(m, c->c.impl(new Consumer2()).withSvc(Provider.class, srv->srv.add(Consumer2::bind).change(Consumer2::change).remove(Consumer2::remove))); + component(m, c->c.impl(new Consumer3()).withSvc(Provider.class, srv->srv.add(Consumer3::bind).change(Consumer3::change).remove(Consumer3::remove))); + component(m, c->c.impl(new Consumer4()).withSvc(Provider.class, srv->srv.add(Consumer4::bindRef).change(Consumer4::changeRef).remove(Consumer4::removeRef))); + component(m, c->c.impl(new Consumer5()).withSvc(Provider.class, srv->srv.add(Consumer5::bindRef).change(Consumer5::changeRef).remove(Consumer5::removeRef))); + component(m, c->c.impl(new Consumer6()).withSvc(Provider.class, srv->srv.add(Consumer6::bindRef).change(Consumer6::changeRef).remove(Consumer6::removeRef))); + component(m, c->c.impl(new Consumer7()).withSvc(Provider.class, srv->srv.add(Consumer7::bindRef).change(Consumer7::changeRef).remove(Consumer7::removeRef))); + component(m, c->c.impl(new Consumer8()).withSvc(Provider.class, srv->srv.add(Consumer8::bindRef).change(Consumer8::changeRef).remove(Consumer8::removeRef))); + component(m, c->c.impl(new Consumer9()).withSvc(Provider.class, srv->srv.add(Consumer9::bindRef).change(Consumer9::changeRef).remove(Consumer9::removeRef))); m.add(provider); m_ensure.waitForStep(9, 5000); @@ -101,14 +101,6 @@ public class ServiceDependencyCallbackSi m.remove(provider); m_ensure.waitForStep(26, 5000); } - - private void declareConsumer(DependencyManager m, Object consumerImpl) { - Component consumer = component(m) - .impl(consumerImpl) - .withSrv(Provider.class, srv->srv.cb("bind", "change", "change")) - .build(); - m.add(consumer); - } public static interface Provider { } @@ -169,19 +161,33 @@ public class ServiceDependencyCallbackSi } class Consumer4 { - void bind(ServiceReference ref, Provider provider) { + void bindRef(Provider provider, ServiceReference ref) { // method ref callback + bind(ref, provider); + } + + void bind(ServiceReference ref, Provider provider) { // reflection based callback Assert.assertNotNull(ref); Assert.assertNotNull(provider); Assert.assertEquals("bar", ref.getProperty("foo")); m_ensure.step(); } - void change(ServiceReference ref, Provider provider) { + + void changeRef(Provider provider, ServiceReference ref) { // method ref callback + change(ref, provider); + } + + void change(ServiceReference ref, Provider provider) { // reflection based callback Assert.assertNotNull(ref); Assert.assertNotNull(provider); Assert.assertEquals("zoo", ref.getProperty("foo")); m_ensure.step(); } - void remove(ServiceReference ref, Provider provider) { + + void removeRef(Provider provider, ServiceReference ref) { // method ref callback + remove(ref, provider); + } + + void remove(ServiceReference ref, Provider provider) { // reflection based callback Assert.assertNotNull(ref); Assert.assertNotNull(provider); Assert.assertEquals("zoo", ref.getProperty("foo")); @@ -190,40 +196,73 @@ public class ServiceDependencyCallbackSi } class Consumer5 { - void bind(ServiceReference ref) { + void bindRef(Provider provider, ServiceReference ref) { // method ref callback + bind(ref); + } + + void bind(ServiceReference ref) { // reflection based callback Assert.assertNotNull(ref); Assert.assertEquals("bar", ref.getProperty("foo")); m_ensure.step(); } - void change(ServiceReference ref) { + + void changeRef(Provider provider, ServiceReference ref) { // method ref callback + change(ref); + } + + void change(ServiceReference ref) { // reflection based callback Assert.assertNotNull(ref); Assert.assertEquals("zoo", ref.getProperty("foo")); m_ensure.step(); } - void remove(ServiceReference ref) { + + void removeRef(Provider provider, ServiceReference ref) { // method ref callback + remove(ref); + } + + void remove(ServiceReference ref) { // reflection based callback Assert.assertNotNull(ref); Assert.assertEquals("zoo", ref.getProperty("foo")); m_ensure.step(); } } - class Consumer6 { - void bind(Component c) { + class Consumer6 { + + void bindRef(Provider p, Component c) { // method ref callback + bind(c); + } + + void bind(Component c) { // reflection based callback Assert.assertNotNull(c); m_ensure.step(); } - void change(Component c) { + + void changeRef(Provider p, Component c) { // method ref callback + change(c); + } + + void change(Component c) { // reflection based callback Assert.assertNotNull(c); m_ensure.step(); } - void remove(Component c) { + + void removeRef(Provider p, Component c) { // method ref callback + remove(c); + } + + void remove(Component c) { // reflection based callback Assert.assertNotNull(c); m_ensure.step(); } } class Consumer7 { - void bind(Component c, ServiceReference ref) { + void bindRef(Provider p, Component c, ServiceReference ref) { // reflection callback + bind(c, ref); + } + + void bind(Component c, ServiceReference ref) { // reflection callback Assert.assertNotNull(c); Assert.assertNotNull(ref); Assert.assertEquals("bar", ref.getProperty("foo")); @@ -231,7 +270,12 @@ public class ServiceDependencyCallbackSi Assert.assertEquals(context.getService(ref).getClass(), ProviderImpl.class); m_ensure.step(); } - void change(Component c, ServiceReference ref) { + + void changeRef(Provider p, Component c, ServiceReference ref) { // reflection callback + change(c, ref); + } + + void change(Component c, ServiceReference ref) { // reflection callback Assert.assertNotNull(c); Assert.assertNotNull(ref); Assert.assertEquals("zoo", ref.getProperty("foo")); @@ -239,7 +283,12 @@ public class ServiceDependencyCallbackSi Assert.assertEquals(context.getService(ref).getClass(), ProviderImpl.class); m_ensure.step(); } - void remove(Component c, ServiceReference ref) { + + void removeRef(Provider p, Component c, ServiceReference ref) { // reflection callback + remove(c, ref); + } + + void remove(Component c, ServiceReference ref) { // reflection callback Assert.assertNotNull(c); Assert.assertNotNull(ref); Assert.assertEquals("zoo", ref.getProperty("foo")); @@ -250,17 +299,31 @@ public class ServiceDependencyCallbackSi } class Consumer8 { - void bind(Component c, Provider provider) { + void bindRef(Provider p, Component c) { // method ref callback + bind(c, p); + } + + void bind(Component c, Provider provider) { // reflection callback Assert.assertNotNull(c); Assert.assertNotNull(provider); m_ensure.step(); } - void change(Component c, Provider provider) { + + void changeRef(Provider p, Component c) { // method ref callback + change(c, p); + } + + void change(Component c, Provider provider) { // reflection callback Assert.assertNotNull(c); Assert.assertNotNull(provider); m_ensure.step(); } - void remove(Component c, Provider provider) { + + void removeRef(Provider p, Component c) { // method ref callback + remove(c, p); + } + + void remove(Component c, Provider provider) { // reflection callback Assert.assertNotNull(c); Assert.assertNotNull(provider); m_ensure.step(); @@ -268,7 +331,11 @@ public class ServiceDependencyCallbackSi } class Consumer9 { - void bind(Component c, ServiceReference ref, Provider provider) { + void bindRef(Provider provider, Component c, ServiceReference ref) { // method ref callback + bind(c, ref, provider); + } + + void bind(Component c, ServiceReference ref, Provider provider) { // reflection callback Assert.assertNotNull(c); Assert.assertNotNull(ref); Assert.assertNotNull(provider); @@ -276,7 +343,12 @@ public class ServiceDependencyCallbackSi Assert.assertEquals(context.getService(ref), provider); m_ensure.step(); } - void change(Component c, ServiceReference ref, Provider provider) { + + void changeRef(Provider provider, Component c, ServiceReference ref) { // method ref callback + change(c, ref, provider); + } + + void change(Component c, ServiceReference ref, Provider provider) { // reflection callback Assert.assertNotNull(c); Assert.assertNotNull(ref); Assert.assertNotNull(provider); @@ -284,7 +356,12 @@ public class ServiceDependencyCallbackSi Assert.assertEquals(context.getService(ref), provider); m_ensure.step(); } - void remove(Component c, ServiceReference ref, Provider provider) { + + void removeRef(Provider provider, Component c, ServiceReference ref) { // method ref callback + remove(c, ref, provider); + } + + void remove(Component c, ServiceReference ref, Provider provider) { // reflection callback Assert.assertNotNull(c); Assert.assertNotNull(ref); Assert.assertNotNull(provider); Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyInjectionTest.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyInjectionTest.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyInjectionTest.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyInjectionTest.java Thu Feb 18 21:07:16 2016 @@ -34,20 +34,20 @@ public class ServiceDependencyInjectionT // create a service provider and consumer ServiceProvider provider = new ServiceProvider(e); Component sp = component(m).impl(provider).provides(ServiceInterface2.class.getName()).build(); - Component sc = component(m).impl(new ServiceConsumer()).withSrv(ServiceInterface2.class).build(); + Component sc = component(m).impl(new ServiceConsumer()).withSvc(ServiceInterface2.class).build(); Component sc2 = component(m) // all dependencies are optional .impl(new ServiceConsumerNamedInjection(false, false)) - .withSrv(ServiceInterface2.class, s->s.optional().autoConfig("m_service")) - .withSrv(ServiceInterface2.class, s->s.optional().autoConfig("m_service2")) - .withSrv(ServiceInterface2.class, s->s.optional().autoConfig("m_service3")) + .withSvc(ServiceInterface2.class, s->s.optional().autoConfig("m_service")) + .withSvc(ServiceInterface2.class, s->s.optional().autoConfig("m_service2")) + .withSvc(ServiceInterface2.class, s->s.optional().autoConfig("m_service3")) .build(); Component sc3 = component(m) // second dependency is required, first and third are optional .impl(new ServiceConsumerNamedInjection(false, false)) - .withSrv(ServiceInterface2.class, s->s.optional().autoConfig("m_service")) - .withSrv(ServiceInterface2.class, s->s.required().autoConfig("m_service2")) - .withSrv(ServiceInterface2.class, s->s.optional().autoConfig("m_service3")) + .withSvc(ServiceInterface2.class, s->s.optional().autoConfig("m_service")) + .withSvc(ServiceInterface2.class, s->s.required().autoConfig("m_service2")) + .withSvc(ServiceInterface2.class, s->s.optional().autoConfig("m_service3")) .build(); Component sc4 = component(m) Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyPropagateTest.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyPropagateTest.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyPropagateTest.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyPropagateTest.java Thu Feb 18 21:07:16 2016 @@ -45,12 +45,12 @@ public class ServiceDependencyPropagateT Component c1 = component(m) .impl(new C1(e)) - .withSrv(C2.class, s->s.cb("bind")).build(); + .withSvc(C2.class, s->s.add("bind")).build(); Component c2 = component(m) .provides(C2.class.getName(), new Hashtable() {{ put("foo", "bar"); }}) .impl(new C2()) - .withSrv(C3.class, s->s.propagate()).build(); + .withSvc(C3.class, s->s.propagate()).build(); Component c3 = component(m) .provides(C3.class.getName(), new Hashtable() {{ put("foo2", "bar2"); put("foo", "overriden");}}) @@ -78,13 +78,13 @@ public class ServiceDependencyPropagateT Ensure e = new Ensure(); Component c1 = component(m) .impl(new C1(e)) - .withSrv(C2.class, s->s.cb("bind")).build(); + .withSvc(C2.class, s->s.add("bind")).build(); C2 c2Impl = new C2(); Component c2 = component(m) .provides(C2.class.getName(), new Hashtable() {{ put("foo", "bar"); }}) .impl(c2Impl) - .withSrv(C3.class, s->s.propagate(c2Impl, "getServiceProperties")).build(); + .withSvc(C3.class, s->s.propagate(c2Impl, "getServiceProperties")).build(); Component c3 = component(m) .provides(C3.class.getName()) @@ -104,13 +104,13 @@ public class ServiceDependencyPropagateT Ensure e = new Ensure(); Component c1 = component(m) .impl(new C1(e)) - .withSrv(C2.class, s->s.cb(C1::bind)).build(); + .withSvc(C2.class, s->s.add(C1::bind)).build(); C2 c2Impl = new C2(); Component c2 = component(m) .provides(C2.class.getName(), new Hashtable() {{ put("foo", "bar"); }}) .impl(c2Impl) - .withSrv(C3.class, s->s.propagate(c2Impl::getServiceProperties)).build(); + .withSvc(C3.class, s->s.propagate(c2Impl::getServiceProperties)).build(); Component c3 = component(m) .provides(C3.class.getName()) Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyTest.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyTest.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyTest.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyTest.java Thu Feb 18 21:07:16 2016 @@ -33,10 +33,10 @@ public class ServiceDependencyTest exten Ensure e = new Ensure(); // create a service provider and consumer Component sp = component(m).impl(new ServiceProvider(e)).provides(ServiceInterface.class).build(); - Component sc = component(m).impl(new ServiceConsumer(e)).withSrv(ServiceInterface.class).build(); + Component sc = component(m).impl(new ServiceConsumer(e)).withSvc(ServiceInterface.class).build(); Component sc2 = component(m).impl(new ServiceConsumerCallbacks(e)) - .withSrv(ServiceInterface.class, srv -> srv.required(false).cb(ServiceConsumerCallbacks::add, ServiceConsumerCallbacks::remove)) + .withSvc(ServiceInterface.class, srv -> srv.required(false).add(ServiceConsumerCallbacks::add).remove(ServiceConsumerCallbacks::remove)) .build(); m.add(sp); Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyThroughCallbackInstanceTest.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyThroughCallbackInstanceTest.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyThroughCallbackInstanceTest.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceDependencyThroughCallbackInstanceTest.java Thu Feb 18 21:07:16 2016 @@ -52,7 +52,7 @@ public class ServiceDependencyThroughCal CallbackInstance instance = new CallbackInstance(); component(m, comp -> comp .impl(new SimpleService() {}) - .withSrv(Service.class, srv -> srv.cbi(instance::added, instance::removed))); + .withSvc(Service.class, srv -> srv.add(instance::added).remove(instance::removed))); Assert.assertEquals(numberOfServices, instance.getCount()); m.clear(); Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceUpdateTest.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceUpdateTest.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceUpdateTest.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ServiceUpdateTest.java Thu Feb 18 21:07:16 2016 @@ -43,11 +43,11 @@ public class ServiceUpdateTest extends T // activate it component(m, comp -> comp .impl(new ServiceProvider(e)) - .withSrv(ServiceInterface.class, srv -> srv - .cb(ServiceProvider::add, ServiceProvider::change, ServiceProvider::remove))); + .withSvc(ServiceInterface.class, srv -> srv + .add(ServiceProvider::add).change(ServiceProvider::change).remove(ServiceProvider::remove))); component(m, comp -> comp .impl(provider) - .withSrv(ResourceHandler.class, srv -> srv.cb(ResourceProvider::add, ResourceProvider::remove))); + .withSvc(ResourceHandler.class, srv -> srv.add(ResourceProvider::add).remove(ResourceProvider::remove))); // TODO implement resource adapters in new builder API and use it for the following resource adapter. Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/TemporalServiceDependencyTest.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/TemporalServiceDependencyTest.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/TemporalServiceDependencyTest.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/TemporalServiceDependencyTest.java Thu Feb 18 21:07:16 2016 @@ -44,7 +44,7 @@ public class TemporalServiceDependencyTe TemporalServiceProvider2 provider2 = new TemporalServiceProvider2(e); Component sp2 = component(m).impl(provider2).provides(TemporalServiceInterface.class.getName()).build(); TemporalServiceConsumer consumer = new TemporalServiceConsumer(e); - Component sc = component(m).impl(consumer).withSrv(TemporalServiceInterface.class, s->s.timeout(10000)).build(); + Component sc = component(m).impl(consumer).withSvc(TemporalServiceInterface.class, s->s.timeout(10000)).build(); // add the service consumer m.add(sc); // now add the first provider @@ -76,7 +76,7 @@ public class TemporalServiceDependencyTe TemporalServiceProvider2 provider2 = new TemporalServiceProvider2(e); Component sp2 = component(m).impl(provider2).provides(TemporalServiceInterface.class.getName()).build(); TemporalServiceConsumerWithCallback consumer = new TemporalServiceConsumerWithCallback(e); - Component sc = component(m).impl(consumer).withSrv(TemporalServiceInterface.class, srv->srv.cb("add", "remove").timeout(10000)).build(); + Component sc = component(m).impl(consumer).withSvc(TemporalServiceInterface.class, srv->srv.add("add").remove("remove").timeout(10000)).build(); // add the service consumer m.add(sc); @@ -114,7 +114,7 @@ public class TemporalServiceDependencyTe Component sp2 = component(m).impl(provider2).provides(TemporalServiceInterface.class.getName()).build(); TemporalServiceConsumerAdapterWithCallback consumer = new TemporalServiceConsumerAdapterWithCallback(e); Component sc = m.createAdapterService(Adaptee.class, null).setImplementation(consumer); - ServiceDependency temporalDep = serviceDependency(sc, TemporalServiceInterface.class).timeout(10000).cb("add", "remove").build(); + ServiceDependency temporalDep = serviceDependency(sc, TemporalServiceInterface.class).timeout(10000).add("add").remove("remove").build(); sc.add(temporalDep); Component adaptee = component(m).impl(new Adaptee()).provides(Adaptee.class.getName()).build(); @@ -171,7 +171,7 @@ public class TemporalServiceDependencyTe }; Component consumerComp = component(m) .impl(consumer) - .withSrv(Runnable.class, s->s.timeout(5000).filter("(target=" + getClass().getSimpleName() + ")")).build(); + .withSvc(Runnable.class, s->s.timeout(5000).filter("(target=" + getClass().getSimpleName() + ")")).build(); m.add(consumerComp); m.add(providerComp); ensure.waitForStep(2, 5000); Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/Activator.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/Activator.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/Activator.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/Activator.java Thu Feb 18 21:07:16 2016 @@ -20,7 +20,9 @@ package org.apache.felix.dm.lambda.sampl import static java.lang.System.out; +import org.apache.felix.dm.DependencyManager; import org.apache.felix.dm.lambda.DependencyManagerActivator; +import org.osgi.framework.BundleContext; import org.osgi.service.cm.ConfigurationAdmin; import org.osgi.service.log.LogService; @@ -39,8 +41,8 @@ import org.osgi.service.log.LogService; */ public class Activator extends DependencyManagerActivator { @Override - public void activate() throws Exception { - out.println("type \"log info\" to see the logs emitted by this test."); + public void init(BundleContext ctx, DependencyManager dm) throws Exception { + out.println("type \"log warn\" to see the logs emitted by this test."); // Create the Factory used to instantiate ProvuderImpl, ProviderComposite1 and ProviderComposite2 ProviderFactory factory = new ProviderFactory(); @@ -51,13 +53,11 @@ public class Activator extends Dependenc // before creating the composition of classes. component(comp -> comp .factory(factory::create, factory::getComposition) - .start(ProviderImpl::start) // only call start on ProviderImpl - .withSrv(LogService.class, srv -> srv.cb(ProviderImpl::bind).cb(ProviderComposite1::bind)) - .withCnf(conf -> conf.pid(ProviderFactory.class).cbi(factory::updated))); + .start(ProviderImpl::start) // only call start on ProviderImpl + .withSvc(LogService.class, srv -> srv.add(ProviderImpl::bind).add(ProviderComposite1::bind)) + .withCnf(conf -> conf.update(MyConfig.class, factory::updated))); // Creates a configuration with pid name = "org.apache.felix.dependencymanager.lambda.samples.compositefactory.ProviderFactory" - component(comp -> comp - .impl(Configurator.class) - .withSrv(ConfigurationAdmin.class)); - } + component(comp -> comp.impl(Configurator.class).withSvc(ConfigurationAdmin.class)); + } } Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/Configurator.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/Configurator.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/Configurator.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/Configurator.java Thu Feb 18 21:07:16 2016 @@ -12,7 +12,7 @@ public class Configurator { void start() throws IOException { // Configure the ServiceConsumer component - Configuration c = m_cm.getConfiguration(ProviderFactory.class.getName(), null); + Configuration c = m_cm.getConfiguration(MyConfig.class.getName(), null); Dictionary<String, Object> props = new Hashtable<>(); props.put("foo", "bar"); c.update(props); Added: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/MyConfig.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/MyConfig.java?rev=1731147&view=auto ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/MyConfig.java (added) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/MyConfig.java Thu Feb 18 21:07:16 2016 @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.felix.dm.lambda.samples.compositefactory; + +/** + * Our properties interface that is implemented by DependencyManager. + * @author <a href="mailto:[email protected]">Felix Project Team</a> + */ +public interface MyConfig { + String getFoo(); +} Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderComposite1.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderComposite1.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderComposite1.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderComposite1.java Thu Feb 18 21:07:16 2016 @@ -31,6 +31,10 @@ public class ProviderComposite1 { } void start() { - m_log.log(LogService.LOG_INFO, "ProviderParticipant1.start()"); + m_log.log(LogService.LOG_WARNING, "ProviderParticipant1.start()"); + } + + public String toString() { + return "ProviderComposite1"; } } Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderComposite2.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderComposite2.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderComposite2.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderComposite2.java Thu Feb 18 21:07:16 2016 @@ -22,5 +22,7 @@ package org.apache.felix.dm.lambda.sampl * @author <a href="mailto:[email protected]">Felix Project Team</a> */ public class ProviderComposite2 { - + public String toString() { + return "ProviderComposite2"; + } } Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderFactory.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderFactory.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderFactory.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderFactory.java Thu Feb 18 21:07:16 2016 @@ -18,8 +18,6 @@ */ package org.apache.felix.dm.lambda.samples.compositefactory; -import java.util.Dictionary; - /** * Pojo used to create all the objects composition used to implements the "Provider" Service. * The manager is using a Configuration injected by Config Admin, in order to configure the @@ -32,11 +30,10 @@ public class ProviderFactory { private ProviderComposite2 m_composite2; private ProviderImpl m_providerImpl; @SuppressWarnings("unused") - private Dictionary<String, Object> m_conf; + private MyConfig m_conf; - public void updated(Dictionary<String, Object> conf) { - // validate configuration and throw an exception if the properties are invalid - m_conf = conf; + public void updated(MyConfig conf) { + m_conf = conf; // conf.getFoo() returns "bar" } /** Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderImpl.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderImpl.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/compositefactory/ProviderImpl.java Thu Feb 18 21:07:16 2016 @@ -44,6 +44,6 @@ public class ProviderImpl implements Pro } void start() { - m_log.log(LogService.LOG_INFO, "ProviderImpl.start(): participants=" + m_participant1 + "," + m_participant2); + m_log.log(LogService.LOG_WARNING, "ProviderImpl.start(): participants=" + m_participant1 + "," + m_participant2); } } Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/Activator.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/Activator.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/Activator.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/Activator.java Thu Feb 18 21:07:16 2016 @@ -20,7 +20,9 @@ package org.apache.felix.dm.lambda.sampl import static java.lang.System.out; +import org.apache.felix.dm.DependencyManager; import org.apache.felix.dm.lambda.DependencyManagerActivator; +import org.osgi.framework.BundleContext; import org.osgi.service.log.LogService; /** @@ -28,8 +30,8 @@ import org.osgi.service.log.LogService; */ public class Activator extends DependencyManagerActivator { @Override - public void activate() throws Exception { - out.println("type \"log info\" to see the logs emitted by this test."); + public void init(BundleContext ctx, DependencyManager dm) throws Exception { + out.println("type \"log warn\" to see the logs emitted by this test."); // Create a pair of Device/DeviceParameter service with id=1 createDeviceAndParameter(1); @@ -44,8 +46,8 @@ public class Activator extends Dependenc // Creates a component that simply displays all available DeviceParameter adapter services. component(comp -> comp .impl(DeviceAccessConsumer.class) - .withSrv(LogService.class) - .withSrv(DeviceAccess.class, device -> device.cb(DeviceAccessConsumer::add))); + .withSvc(LogService.class) + .withSvc(DeviceAccess.class, device -> device.add(DeviceAccessConsumer::add))); } private void createDeviceAndParameter(int id) { Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceAccessConsumer.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceAccessConsumer.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceAccessConsumer.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceAccessConsumer.java Thu Feb 18 21:07:16 2016 @@ -29,7 +29,7 @@ public class DeviceAccessConsumer { volatile LogService log; void add(DeviceAccess deviceAccess, Map<String, Object> props) { - log.log(LogService.LOG_INFO, "DeviceAccessConsumer: Handling device access: id=" + props.get("device.access.id") + log.log(LogService.LOG_WARNING, "DeviceAccessConsumer: Handling device access: id=" + props.get("device.access.id") + "\n\t device=" + deviceAccess.getDevice() + "\n\t device parameter=" + deviceAccess.getDeviceParameter() + "\n\t device access properties=" + props); Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceAccessImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceAccessImpl.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceAccessImpl.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceAccessImpl.java Thu Feb 18 21:07:16 2016 @@ -35,7 +35,7 @@ public class DeviceAccessImpl implements component(c, builder -> builder .properties("device.access.id", device.getDeviceId()) - .withSrv(DeviceParameter.class, srv -> srv.filter("(device.id=" + device.getDeviceId() + ")"))); + .withSvc(DeviceParameter.class, srv -> srv.filter("(device.id=" + device.getDeviceId() + ")"))); } @Override Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceImpl.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceImpl.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceImpl.java Thu Feb 18 21:07:16 2016 @@ -32,4 +32,10 @@ public class DeviceImpl implements Devic public int getDeviceId() { return id; } + + + @Override + public String toString() { + return "Device #" + id; + } } Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceParameterImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceParameterImpl.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceParameterImpl.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/device/DeviceParameterImpl.java Thu Feb 18 21:07:16 2016 @@ -32,4 +32,9 @@ public class DeviceParameterImpl impleme public int getDeviceId() { return id; } + + @Override + public String toString() { + return "DeviceParameter #" + id; + } } Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/dictionary/Activator.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/dictionary/Activator.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/dictionary/Activator.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/dictionary/Activator.java Thu Feb 18 21:07:16 2016 @@ -22,7 +22,9 @@ import static java.lang.System.out; import static org.apache.felix.service.command.CommandProcessor.COMMAND_FUNCTION; import static org.apache.felix.service.command.CommandProcessor.COMMAND_SCOPE; +import org.apache.felix.dm.DependencyManager; import org.apache.felix.dm.lambda.DependencyManagerActivator; +import org.osgi.framework.BundleContext; import org.osgi.service.log.LogService; /** @@ -30,7 +32,7 @@ import org.osgi.service.log.LogService; */ public class Activator extends DependencyManagerActivator { @Override - public void activate() throws Exception { + public void init(BundleContext ctx, DependencyManager dm) throws Exception { out.println("type \"log info\" to see the logs emitted by this test."); // Create the factory configuration for our DictionaryImpl service. An instance of the DictionaryImpl is created for each @@ -38,25 +40,24 @@ public class Activator extends Dependenc factoryPidAdapter(adapter -> adapter .impl(DictionaryImpl.class) .provides(DictionaryService.class) - .factoryPid(DictionaryConfiguration.class) .propagate() - .cb(DictionaryImpl::updated) - .withSrv(LogService.class)); + .update(DictionaryConfiguration.class, DictionaryImpl::updated) + .withSvc(LogService.class)); // Create the Dictionary Aspect that decorates any registered Dictionary service. For each Dictionary, an instance of the // DictionaryAspect service is created). aspect(DictionaryService.class, aspect -> aspect .impl(DictionaryAspect.class) .filter("(lang=en)").rank(10) - .withCnf(conf -> conf.pid(DictionaryAspectConfiguration.class).cb(DictionaryAspect::addWords)) - .withSrv(LogService.class)); + .withCnf(conf -> conf.update(DictionaryAspectConfiguration.class, DictionaryAspect::addWords)) + .withSvc(LogService.class)); // Create the SpellChecker component. It depends on all available DictionaryService instances, possibly // decorated by some DictionaryAspects. component(comp -> comp .impl(SpellChecker.class) .provides(SpellChecker.class, COMMAND_SCOPE, "dictionary", COMMAND_FUNCTION, new String[] {"spellcheck"}) - .withSrv(DictionaryService.class) - .withSrv(LogService.class)); + .withSvc(DictionaryService.class) + .withSvc(LogService.class)); } } Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/dictionary/DictionaryAspect.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/dictionary/DictionaryAspect.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/dictionary/DictionaryAspect.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/dictionary/DictionaryAspect.java Thu Feb 18 21:07:16 2016 @@ -11,13 +11,10 @@ */ package org.apache.felix.dm.lambda.samples.dictionary; -import java.util.Dictionary; import java.util.concurrent.CopyOnWriteArrayList; import org.osgi.service.log.LogService; -import aQute.bnd.annotation.metatype.Configurable; - /** * This aspect applies to the English DictionaryService, and allows to decorate it with some * custom English words, which are configurable from WebConsole. @@ -43,13 +40,13 @@ public class DictionaryAspect implements private LogService m_log; /** - * Defines a configuration dependency for retrieving our english custom words (by default, - * our PID is our full class name). + * Defines a configuration dependency for retrieving our english custom words. + * Dependency Manager will inject a dynamic proxy that implements our DictionaryAspectConfiguration interface. + * The dynamic proxy is used to wrap the actual Dictionary configuration. + * The pid for our configuration is by default the fqdn of our DictionaryAspectConfiguration interface. */ - protected void addWords(Dictionary<String, ?> config) { - if (config != null) { - // We use the bnd "Configurable" helper in order to get an implementation for our DictionaryConfiguration interface. - DictionaryConfiguration cnf = Configurable.createConfigurable(DictionaryConfiguration.class, config); + protected void addWords(DictionaryAspectConfiguration cnf) { + if (cnf != null) { m_words.clear(); for (String word : cnf.words()) { m_words.add(word); Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/dictionary/DictionaryImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/dictionary/DictionaryImpl.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/dictionary/DictionaryImpl.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/dictionary/DictionaryImpl.java Thu Feb 18 21:07:16 2016 @@ -18,13 +18,10 @@ */ package org.apache.felix.dm.lambda.samples.dictionary; -import java.util.Dictionary; import java.util.concurrent.CopyOnWriteArrayList; import org.osgi.service.log.LogService; -import aQute.bnd.annotation.metatype.Configurable; - /** * A Dictionary Service, instantiated from webconsole, when you add some configurations instances to the * DictionaryConfiguration factory pid. The Configuration metatype informations is described using the @@ -61,17 +58,12 @@ public class DictionaryImpl implements D * Our service will be initialized from ConfigAdmin. * @param config The configuration where we'll lookup our words list (key=".words"). */ - protected void updated(Dictionary<String, ?> config) { - if (config != null) { - // We use the bnd "Configurable" helper in order to get an implementation for our DictionaryConfiguration interface. - DictionaryConfiguration cnf = Configurable.createConfigurable(DictionaryConfiguration.class, config); - - m_lang = cnf.lang(); - m_words.clear(); - for (String word : cnf.words()) { - m_words.add(word); - } - } + protected void updated(DictionaryConfiguration cnf) { + m_lang = cnf.lang(); + m_words.clear(); + for (String word : cnf.words()) { + m_words.add(word); + } } /** Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/factory/Activator.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/factory/Activator.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/factory/Activator.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/factory/Activator.java Thu Feb 18 21:07:16 2016 @@ -20,7 +20,9 @@ package org.apache.felix.dm.lambda.sampl import static java.lang.System.out; +import org.apache.felix.dm.DependencyManager; import org.apache.felix.dm.lambda.DependencyManagerActivator; +import org.osgi.framework.BundleContext; import org.osgi.service.log.LogService; /** @@ -28,13 +30,13 @@ import org.osgi.service.log.LogService; */ public class Activator extends DependencyManagerActivator { @Override - public void activate() throws Exception { - out.println("type \"log info\" to see the logs emitted by this test."); + public void init(BundleContext ctx, DependencyManager dm) throws Exception { + out.println("type \"log warn\" to see the logs emitted by this test."); component(comp -> comp .factory(ProviderFactory::new, ProviderFactory::create) .provides(Provider.class) .start(ProviderImpl::start) - .withSrv(LogService.class, log -> log.cb(ProviderImpl::set))); + .withSvc(LogService.class, log -> log.add(ProviderImpl::set))); } } Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/factory/ProviderImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/factory/ProviderImpl.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/factory/ProviderImpl.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/factory/ProviderImpl.java Thu Feb 18 21:07:16 2016 @@ -33,6 +33,6 @@ public class ProviderImpl implements Pro void set(LogService log) { m_log = log; } void start() { - m_log.log(LogService.LOG_INFO, "ProviderImpl.start()"); + m_log.log(LogService.LOG_WARNING, "ProviderImpl.start()"); } } Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/future/Activator.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/future/Activator.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/future/Activator.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/future/Activator.java Thu Feb 18 21:07:16 2016 @@ -20,7 +20,9 @@ package org.apache.felix.dm.lambda.sampl import static java.lang.System.out; +import org.apache.felix.dm.DependencyManager; import org.apache.felix.dm.lambda.DependencyManagerActivator; +import org.osgi.framework.BundleContext; import org.osgi.service.log.LogService; /** @@ -38,21 +40,21 @@ public class Activator extends Dependenc * Initialize our components using new DM-lambda activator base. */ @Override - public void activate() throws Exception { - out.println("type \"log info\" to see the logs emitted by this test."); + public void init(BundleContext ctx, DependencyManager dm) throws Exception { + out.println("type \"log warn\" to see the logs emitted by this test."); // System.setProperty("http.proxyHost","your.http.proxy.host"); // System.setProperty("http.proxyPort", "your.http.proxy.port"); - // Create the PageLinks service, which asynchronously download the content of the Felix web page. + // Create the PageLinks service, which asynchronously downloads the content of the Felix web page. // The PageLink service will be started once the page has been downloaded (using a CompletableFuture). component(comp -> comp .factory(() -> new PageLinksImpl("http://felix.apache.org/")) .provides(PageLinks.class) - .withSrv(LogService.class, log -> log.cb(PageLinksImpl::bind))); + .withSvc(LogService.class, log -> log.add(PageLinksImpl::bind))); // Just wait for the PageLinks service and display all links found from the Felix web site. - component(comp -> comp.impl(this).withSrv(PageLinks.class, page -> page.cbi(this::setPageLinks))); + component(comp -> comp.impl(this).withSvc(PageLinks.class, page -> page.add(this::setPageLinks))); } /** Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/future/PageLinksImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/future/PageLinksImpl.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/future/PageLinksImpl.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/future/PageLinksImpl.java Thu Feb 18 21:07:16 2016 @@ -37,7 +37,7 @@ public class PageLinksImpl implements Pa .thenApply(this::parseLinks); // Add the future dependency so we'll be started once the CompletableFuture "futureLinks" has completed. - component(c, comp -> comp.withFuture(futureLinks, future -> future.cbi(this::setLinks))); + component(c, comp -> comp.withFuture(futureLinks, future -> future.complete(this::setLinks))); } // Called when our future has completed. @@ -47,7 +47,7 @@ public class PageLinksImpl implements Pa // once our future has completed, our component is started. void start() { - m_log.log(LogService.LOG_INFO, "Service starting: number of links found from Felix web site: " + m_links.size()); + m_log.log(LogService.LOG_WARNING, "Service starting: number of links found from Felix web site: " + m_links.size()); } @Override Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/Activator.java URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/Activator.java?rev=1731147&r1=1731146&r2=1731147&view=diff ============================================================================== --- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/Activator.java (original) +++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/Activator.java Thu Feb 18 21:07:16 2016 @@ -20,7 +20,9 @@ package org.apache.felix.dm.lambda.sampl import static java.lang.System.out; +import org.apache.felix.dm.DependencyManager; import org.apache.felix.dm.lambda.DependencyManagerActivator; +import org.osgi.framework.BundleContext; import org.osgi.service.cm.ConfigurationAdmin; import org.osgi.service.event.EventAdmin; import org.osgi.service.log.LogService; @@ -30,25 +32,28 @@ import org.osgi.service.log.LogService; */ public class Activator extends DependencyManagerActivator { @Override - public void activate() throws Exception { - out.println("type \"log info\" to see the logs emitted by this test."); + public void init(BundleContext ctx, DependencyManager dm) throws Exception { + out.println("type \"log warn\" to see the logs emitted by this test."); // Creates a Service Provider (property names are deduced from lambda parameter names). // (service dependencies are required by default) component(comp -> comp.impl(ServiceProviderImpl.class) .provides(ServiceProvider.class, p1 -> "v1", p2 -> 123) - .withSrv(LogService.class)); + .withSvc(LogService.class)); // Creates a Service Consumer. we depend on LogService, EventAdmin and on our ServiceProvider. // (LogService and EventAdmin are declared in one single method call). + // We also depend on a configuration. Our ServiceConsumer.updated method takes as argument a "Configuration" interface + // which is used to wrap the actual properties behind a dynamic proxy for our "Configuration" interface that is implemented by Dependency Manager. + // (the pid is assumed to be by default the fqdn of our Configuration interface). component(comp -> comp.impl(ServiceConsumer.class) - .withSrv(LogService.class, EventAdmin.class) - .withSrv(ServiceProvider.class, srv -> srv.filter("(p1=v1)")) - .withCnf(ServiceConsumer.class)); + .withSvc(LogService.class, EventAdmin.class) + .withSvc(ServiceProvider.class, srv -> srv.filter("(p1=v1)")) + .withCnf(cnf -> cnf.update(Configuration.class, ServiceConsumer::updated))); // Creates a component that populates some properties in the Configuration Admin. // Here, we inject the CM (Configuration Admin) service dependency using a method reference: - component(comp -> comp.impl(Configurator.class) - .withSrv(ConfigurationAdmin.class, srv -> srv.cb(Configurator::bind))); + component(comp -> comp.factory(() -> new Configurator(Configuration.class.getName())) + .withSvc(ConfigurationAdmin.class, srv -> srv.add(Configurator::bind))); } }
