*/
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) {
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);
}
-
}