Merge "Updated toaster sample to match new Binding specification of YANG Tools."
[controller.git] / opendaylight / sal / yang-prototype / sal / samples / toaster-consumer / src / main / java / org / opendaylight / controller / sample / toaster / provider / impl / ToastConsumerImpl.java
index 71ef68d565581866380f8e9cfe173a235dfc6d19..d83d22337dc5d658ab61b16293c6b3d9c993ccc6 100644 (file)
@@ -11,16 +11,22 @@ import java.util.Dictionary;
 import java.util.Hashtable;
 import java.util.concurrent.ExecutionException;
 
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ConsumerContext;
+import org.opendaylight.controller.sal.binding.api.AbstractBindingAwareConsumer;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
 import org.opendaylight.controller.sal.binding.api.BindingAwareConsumer;
 import org.opendaylight.controller.sal.binding.api.NotificationListener;
 import org.opendaylight.controller.sal.binding.api.NotificationService;
+import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ConsumerContext;
+import org.opendaylight.controller.sal.binding.api.data.DataBrokerService;
+import org.opendaylight.controller.sal.common.DataStoreIdentifier;
+import org.opendaylight.controller.sal.common.GlobalDataStore;
 import org.opendaylight.controller.sample.toaster.provider.api.ToastConsumer;
-import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev20091120.MakeToastInputBuilder;
-import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev20091120.ToastDone;
-import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev20091120.ToastType;
-import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev20091120.ToasterService;
+import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.MakeToastInputBuilder;
+import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.ToastDone;
+import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.ToastType;
+import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.Toaster;
+import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.ToasterData;
+import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.ToasterService;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
@@ -28,7 +34,7 @@ import org.osgi.framework.ServiceReference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class ToastConsumerImpl implements BundleActivator, BindingAwareConsumer, ToastConsumer,
+public class ToastConsumerImpl extends AbstractBindingAwareConsumer implements BundleActivator, BindingAwareConsumer, ToastConsumer,
         NotificationListener<ToastDone> {
 
     private static final Logger log = LoggerFactory.getLogger(ToastConsumerImpl.class);
@@ -58,28 +64,29 @@ public class ToastConsumerImpl implements BundleActivator, BindingAwareConsumer,
         return false;
 
     }
+    
+    @Override
+    @Deprecated
+    protected void startImpl(BundleContext context) {
+        context.registerService(ToastConsumer.class, this, new Hashtable<String,String>());
+    }
 
     @Override
     public void onSessionInitialized(ConsumerContext session) {
         this.session = session;
         NotificationService notificationService = session.getSALService(NotificationService.class);
         notificationService.addNotificationListener(ToastDone.class, this);
-
+        
+        
     }
 
-    @Override
-    public void start(BundleContext context) throws Exception {
-        ServiceReference<BindingAwareBroker> brokerRef = context.getServiceReference(BindingAwareBroker.class);
-        BindingAwareBroker broker = context.getService(brokerRef);
-        broker.registerConsumer(this, context);
-        Dictionary<String, String> properties = new Hashtable<>();
-        context.registerService(ToastConsumer.class, this, properties);
-    }
-
-    @Override
-    public void stop(BundleContext context) throws Exception {
-        // TODO Auto-generated method stub
-
+    private void loadToasterData() {
+        // We request data store service implementation
+        DataBrokerService brokerService = session.getSALService(DataBrokerService.class);
+        
+        ToasterData data = brokerService.getData(GlobalDataStore.RuntimeInfo, ToasterData.class);
+        Toaster toaster = data.getToaster();
+        log.info("Available toaster is: ", toaster.getToasterManufacturer(),toaster.getToasterModelNumber());
     }
 
     @Override