Add getMetersByDeviceId REST method
Change-Id: I50b9158aac1c8b0789ee271276db0fa701fdb7df
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/MetersWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/MetersWebResource.java
index 801e46d..be484ef 100644
--- a/web/api/src/main/java/org/onosproject/rest/resources/MetersWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/MetersWebResource.java
@@ -73,10 +73,29 @@
}
/**
+ * Returns a collection of meters by the device id.
+ *
+ * @param deviceId device identifier
+ * @return array of meters which belongs to specified device
+ * @onos.rsModel Meters
+ */
+ @GET
+ @Produces(MediaType.APPLICATION_JSON)
+ @Path("{deviceId}")
+ public Response getMetersByDeviceId(@PathParam("deviceId") String deviceId) {
+ DeviceId did = DeviceId.deviceId(deviceId);
+ final Iterable<Meter> meters = meterService.getMeters(did);
+ if (meters != null) {
+ meters.forEach(meter -> metersNode.add(codec(Meter.class).encode(meter, this)));
+ }
+ return ok(root).build();
+ }
+
+ /**
* Returns a meter by the meter id.
*
* @param deviceId device identifier
- * @return array of all the groups in the system
+ * @return a meter, return 404 if no entry has been found
* @onos.rsModel Meter
*/
@GET