Migrate toaster samples to config-subsystem
[controller.git] / opendaylight / md-sal / samples / toaster-consumer / src / main / java / org / opendaylight / controller / sample / toaster / provider / impl / ToastConsumerImpl.java
index 87e5787ef5c9f63df75c95344ae4ac64e608b76a..5a4b45c71e7ec2d6a09f1557d109b273d19da690 100644 (file)
@@ -7,33 +7,27 @@
  */
 package org.opendaylight.controller.sample.toaster.provider.impl;
 
-import java.util.Hashtable;
 import java.util.concurrent.ExecutionException;
 
-import org.opendaylight.controller.sal.binding.api.AbstractBindingAwareConsumer;
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ConsumerContext;
-import org.opendaylight.controller.sal.binding.api.BindingAwareConsumer;
+import org.opendaylight.controller.config.yang.config.toaster_consumer.impl.ToasterConsumerRuntimeMXBean;
 import org.opendaylight.controller.sal.binding.api.NotificationListener;
-import org.opendaylight.controller.sal.binding.api.NotificationService;
 import org.opendaylight.controller.sample.toaster.provider.api.ToastConsumer;
-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.ToasterService;
+import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.*;
 import org.opendaylight.yangtools.yang.common.RpcResult;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class ToastConsumerImpl extends AbstractBindingAwareConsumer implements BundleActivator, BindingAwareConsumer, ToastConsumer,
-        NotificationListener<ToastDone> {
+public class ToastConsumerImpl implements
+        ToastConsumer,
+        NotificationListener<ToastDone>,ToasterConsumerRuntimeMXBean {
 
     private static final Logger log = LoggerFactory.getLogger(ToastConsumerImpl.class);
 
     private ToasterService toaster;
 
-    private ConsumerContext session;
+    public ToastConsumerImpl(ToasterService toaster) {
+        this.toaster = toaster;
+    }
 
     @Override
     public boolean createToast(Class<? extends ToastType> type, int doneness) {
@@ -42,45 +36,28 @@ public class ToastConsumerImpl extends AbstractBindingAwareConsumer implements B
         toastInput.setToasterToastType(type);
 
         try {
-            RpcResult<Void> result = getToastService().makeToast(toastInput.build()).get();
+            RpcResult<Void> result = toaster.makeToast(toastInput.build()).get();
 
             if (result.isSuccessful()) {
-                log.trace("Toast was successfuly finished");
+                log.trace("Toast was successfully finished");
             } else {
-                log.warn("Toast was not successfuly finished");
+                log.warn("Toast was not successfully finished");
             }
             return result.isSuccessful();
         } catch (InterruptedException | ExecutionException e) {
-            log.warn("Error occured during toast creation");
+            log.warn("Error occurred during toast creation");
         }
         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.registerNotificationListener(ToastDone.class, this);
-    }
-
     @Override
     public void onNotification(ToastDone notification) {
         log.trace("ToastDone Notification Received: {} ",notification.getToastStatus());
-
     }
 
-    private ToasterService getToastService() {
-        if (toaster == null) {
-            toaster = session.getRpcService(ToasterService.class);
-        }
-        return toaster;
+    @Override
+    public Boolean makeHashBrownToast(Integer doneness) {
+        return createToast(HashBrown.class, doneness);
     }
-
 }