fixes for Meter Service

Change-Id: I83d5b8a2e0a955c050f7afe96761d5709d4f9f18
diff --git a/core/api/src/main/java/org/onosproject/net/meter/DefaultMeter.java b/core/api/src/main/java/org/onosproject/net/meter/DefaultMeter.java
index 611a23e..ab6b444 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/DefaultMeter.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/DefaultMeter.java
@@ -15,12 +15,13 @@
  */
 package org.onosproject.net.meter;
 
+import com.google.common.collect.ImmutableSet;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.net.DeviceId;
 
 import java.util.Collection;
-import java.util.Collections;
 
+import static com.google.common.base.MoreObjects.toStringHelper;
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
 
@@ -138,6 +139,18 @@
         this.bytes = bytes;
     }
 
+    @Override
+    public String toString() {
+        return toStringHelper(this)
+                .add("device", deviceId)
+                .add("id", id)
+                .add("appId", appId.name())
+                .add("unit", unit)
+                .add("isBurst", burst)
+                .add("state", state)
+                .add("bands", bands).toString();
+    }
+
     public static final class Builder implements Meter.Builder {
 
         private MeterId id;
@@ -155,8 +168,8 @@
         }
 
         @Override
-        public Meter.Builder withId(long id) {
-            this.id = MeterId.meterId(id);
+        public Meter.Builder withId(MeterId id) {
+            this.id = id;
             return this;
         }
 
@@ -180,7 +193,7 @@
 
         @Override
         public Meter.Builder withBands(Collection<Band> bands) {
-            this.bands = Collections.unmodifiableCollection(bands);
+            this.bands = ImmutableSet.copyOf(bands);
             return this;
         }