[ONOS-8102] Moving get(MeterService.class) into each MetersWebResource Method to avoid startup race condition between Web resource and meter service class creation.

Change-Id: Ie1a14aeec91b54a120ccd3d14f9edc846426c857
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 814b351..93d924a 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
@@ -60,7 +60,6 @@
     private static final String DEVICE_INVALID = "Invalid deviceId in meter creation request";
     private static final String METER_NOT_FOUND = "Meter is not found for ";
 
-    private final MeterService meterService = get(MeterService.class);
     private final ObjectNode root = mapper().createObjectNode();
     private final ArrayNode metersNode = root.putArray("meters");
 
@@ -73,6 +72,7 @@
     @GET
     @Produces(MediaType.APPLICATION_JSON)
     public Response getMeters() {
+        MeterService meterService = get(MeterService.class);
         final Iterable<Meter> meters = meterService.getAllMeters();
         if (meters != null) {
             meters.forEach(meter -> metersNode.add(codec(Meter.class).encode(meter, this)));
@@ -92,6 +92,7 @@
     @Path("{deviceId}")
     public Response getMetersByDeviceId(@PathParam("deviceId") String deviceId) {
         DeviceId did = DeviceId.deviceId(deviceId);
+        MeterService meterService = get(MeterService.class);
         final Iterable<Meter> meters = meterService.getMeters(did);
         if (meters != null) {
             meters.forEach(meter -> metersNode.add(codec(Meter.class).encode(meter, this)));
@@ -114,7 +115,7 @@
                                                  @PathParam("meterId") String meterId) {
         DeviceId did = DeviceId.deviceId(deviceId);
         MeterId mid = MeterId.meterId(Long.valueOf(meterId));
-
+        MeterService meterService = get(MeterService.class);
         final Meter meter = nullIsNotFound(meterService.getMeter(did, mid),
                 METER_NOT_FOUND + mid.id());
 
@@ -153,6 +154,7 @@
             final MeterRequest meterRequest = codec(MeterRequest.class)
                     .decode(jsonTree, this);
 
+            MeterService meterService = get(MeterService.class);
             final Meter meter = meterService.submit(meterRequest);
 
             UriBuilder locationBuilder = uriInfo.getBaseUriBuilder()
@@ -180,6 +182,8 @@
                                                 @PathParam("meterId") String meterId) {
         DeviceId did = DeviceId.deviceId(deviceId);
         MeterId mid = MeterId.meterId(Long.valueOf(meterId));
+
+        MeterService meterService = get(MeterService.class);
         final Meter tmpMeter = meterService.getMeter(did, mid);
         if (tmpMeter != null) {
             final MeterRequest meterRequest = meterToMeterRequest(tmpMeter, "REMOVE");