16 package org.openkilda.floodlight.switchmanager.web;
27 import org.projectfloodlight.openflow.protocol.OFMeterConfig;
28 import org.projectfloodlight.openflow.protocol.OFMeterConfigStatsReply;
29 import org.projectfloodlight.openflow.types.DatapathId;
30 import org.restlet.data.Status;
31 import org.restlet.resource.Get;
32 import org.restlet.resource.ServerResource;
33 import org.slf4j.Logger;
34 import org.slf4j.LoggerFactory;
36 import java.util.HashMap;
40 private static final Logger logger = LoggerFactory.getLogger(
MetersResource.class);
44 @SuppressWarnings(
"unchecked")
46 Map<Long, Object> response =
new HashMap<>();
47 String switchId = (String) this.getRequestAttributes().get(
"switch_id");
48 logger.debug(
"Get meters for switch: {}", switchId);
53 OFMeterConfigStatsReply replay = switchManager.
dumpMeters(DatapathId.of(switchId));
54 logger.debug(
"Meters from switch {} received: {}", switchId, replay);
57 for (OFMeterConfig entry : replay.getEntries()) {
58 response.put(entry.getMeterId(), entry);
62 String messageString =
"Not supported";
63 logger.error(
"{}: {}", messageString, switchId, ex);
66 response.putAll(MAPPER.convertValue(responseMessage, Map.class));
68 getResponse().setStatus(Status.SERVER_ERROR_NOT_IMPLEMENTED);
71 String messageString =
"No such switch";
72 logger.error(
"{}: {}", messageString, switchId, exception);
75 response.putAll(MAPPER.convertValue(responseMessage, Map.class));
77 getResponse().setStatus(Status.CLIENT_ERROR_NOT_FOUND);
static final ObjectMapper MAPPER
Map< Long, Object > getMeters()
OFMeterConfigStatsReply dumpMeters(final DatapathId dpid)