Simplified hello sample.

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1727896 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/hello.bndrun b/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/hello.bndrun
index 3cd553d..6800050 100644
--- a/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/hello.bndrun
+++ b/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/hello.bndrun
@@ -14,6 +14,7 @@
 	org.apache.felix.dependencymanager.lambda.samples.hello;version=latest,\
 	org.apache.felix.dependencymanager;version=4.2.0,\
 	org.apache.felix.dependencymanager.shell;version=4.0.3,\
-	org.apache.felix.dependencymanager.lambda;version=latest
+	org.apache.felix.dependencymanager.lambda;version=latest,\
+	org.apache.felix.eventadmin;version=1.4.4
 
 	
\ No newline at end of file
diff --git a/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/Activator.java b/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/Activator.java
index e36a7f2..f2b8dea 100644
--- a/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/Activator.java
+++ b/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/Activator.java
@@ -22,6 +22,7 @@
 
 import org.apache.felix.dm.lambda.DependencyManagerActivator;
 import org.osgi.service.cm.ConfigurationAdmin;
+import org.osgi.service.event.EventAdmin;
 import org.osgi.service.log.LogService;
 
 /**
@@ -36,25 +37,17 @@
         component(comp -> comp
             .impl(ServiceProviderImpl.class)
             .provides(ServiceProvider.class, property1 -> "value1", property2 -> 123) // property names are deduced from lambda parameter names
-            .start(ServiceProviderImpl::activate)
-            .withSrv(LogService.class, log -> log.cb(ServiceProviderImpl::bind)));
+            .withSrv(LogService.class));
 
-        // Creates a Service Consumer. Notice that if your configuration callback is "updated", you can 
-        // simply use "withCnf(pid)" instead of explicitely providing the method reference.
+        // Creates a Service Consumer. we depend on LogService, EventAdmin and on our ServiceProvider.
+        // (LogService and EventAdmin are declared in one single method call).
         
         component(comp -> comp
             .impl(ServiceConsumer.class)
-            .withSrv(LogService.class)
+            .withSrv(LogService.class, EventAdmin.class)
             .withSrv(ServiceProvider.class, srv -> srv.filter("(property1=value1)")) 
-            .withCnf(conf -> conf.pid(ServiceConsumer.class).cb(ServiceConsumer::updated)));  
+            .withCnf(ServiceConsumer.class));  
         
-        // Same as above, but using a shorter form of "withCnf" declaration
-//        component(comp -> comp
-//            .impl(ServiceConsumer.class)
-//            .withSrv(LogService.class)
-//            .withSrv(ServiceProvider.class, srv -> srv.filter("(property1=value1)")) 
-//            .withCnf(ServiceConsumer.class));  
-
         // Creates a component that populates some properties in the Configuration Admin.
         component(comp -> comp.impl(Configurator.class).withSrv(ConfigurationAdmin.class));
     }
diff --git a/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/ServiceConsumer.java b/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/ServiceConsumer.java
index 3762789..a67fa4c 100644
--- a/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/ServiceConsumer.java
+++ b/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/ServiceConsumer.java
@@ -20,6 +20,7 @@
 
 import java.util.Dictionary;
 
+import org.osgi.service.event.EventAdmin;
 import org.osgi.service.log.LogService;
 
 /**
@@ -30,10 +31,9 @@
 public class ServiceConsumer {
     volatile ServiceProvider service;
     volatile LogService log;
-    Dictionary<?, ?> conf;
+    volatile EventAdmin eventAdmin;
 
     public void updated(Dictionary<String, Object> conf) {
-        this.conf = conf;
     }
     
     public void start() {
diff --git a/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/ServiceProviderImpl.java b/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/ServiceProviderImpl.java
index 221b75c..b0134c0 100644
--- a/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/ServiceProviderImpl.java
+++ b/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/ServiceProviderImpl.java
@@ -28,12 +28,10 @@
 public class ServiceProviderImpl implements ServiceProvider {
     volatile LogService log;
 
-    void bind(LogService log) { this.log = log; }
-    
-    void activate() {
-        log.log(LogService.LOG_INFO, "ServiceProviderImpl.start");
+    void start() {
+        // default lifecycle start calback (all required dependencies have been injected when start is called.        
     }
-
+    
     @Override
     public void hello() {
         log.log(LogService.LOG_INFO, "ServiceProviderImpl.hello");