fix intent issues yuta observed

Change-Id: I7dc4a19d49a1b3fc18ecce02a4018cbc9a3043fc
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/hz/SQueue.java b/core/store/dist/src/main/java/org/onlab/onos/store/hz/SQueue.java
index bce44e5..c58e411 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/hz/SQueue.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/hz/SQueue.java
@@ -18,6 +18,7 @@
 import com.google.common.base.Function;
 import com.google.common.collect.FluentIterable;
 import com.hazelcast.core.IQueue;
+import com.hazelcast.core.ItemEvent;
 import com.hazelcast.core.ItemListener;
 import com.hazelcast.monitor.LocalQueueStats;
 
@@ -201,16 +202,39 @@
         return q.getLocalQueueStats();
     }
 
-    @Deprecated // not implemented yet
+
     @Override
-    public String addItemListener(ItemListener<T> itemListener, boolean b) {
-        throw new UnsupportedOperationException();
+    public String addItemListener(ItemListener<T> itemListener, boolean withValue) {
+        ItemListener<byte[]> il = new ItemListener<byte[]>() {
+            @Override
+            public void itemAdded(ItemEvent<byte[]> item) {
+                itemListener.itemAdded(new ItemEvent<T>(getName(item),
+                                                        item.getEventType(),
+                                                        deserialize(item.getItem()),
+                                                        item.getMember()));
+            }
+
+            @Override
+            public void itemRemoved(ItemEvent<byte[]> item) {
+                itemListener.itemRemoved(new ItemEvent<T>(getName(item),
+                                                          item.getEventType(),
+                                                          deserialize(item.getItem()),
+                                                          item.getMember()));
+            }
+
+            private String getName(ItemEvent<byte[]> item) {
+                return (item.getSource() instanceof String) ?
+                        (String) item.getSource() : item.getSource().toString();
+
+            }
+        };
+        return q.addItemListener(il, withValue);
     }
 
-    @Deprecated // not implemented yet
+
     @Override
-    public boolean removeItemListener(String s) {
-        throw new UnsupportedOperationException();
+    public boolean removeItemListener(String registrationId) {
+        return q.removeItemListener(registrationId);
     }
 
     @Deprecated