Use Java labels to break from a block of code instead of
the "do {... } while (false)" idiom.
See following URL for more info on the subject:
http://stackoverflow.com/questions/18529491/what-are-some-better-ways-to-avoid-the-do-whilefalse-hack-in-java
Change-Id: I9ac9528116503707f12699201824f5bf68484321
diff --git a/src/main/java/net/onrc/onos/core/topology/TopologyEvent.java b/src/main/java/net/onrc/onos/core/topology/TopologyEvent.java
index 23471ff..c51a157 100644
--- a/src/main/java/net/onrc/onos/core/topology/TopologyEvent.java
+++ b/src/main/java/net/onrc/onos/core/topology/TopologyEvent.java
@@ -249,30 +249,30 @@
//
// Get the Event string
//
- do {
+ stringLabel: {
if (mastershipEvent != null) {
eventStr = mastershipEvent.toString();
- break;
+ break stringLabel;
}
if (switchEvent != null) {
eventStr = switchEvent.toString();
- break;
+ break stringLabel;
}
if (portEvent != null) {
eventStr = portEvent.toString();
- break;
+ break stringLabel;
}
if (linkEvent != null) {
eventStr = linkEvent.toString();
- break;
+ break stringLabel;
}
if (hostEvent != null) {
eventStr = hostEvent.toString();
- break;
+ break stringLabel;
}
// No event found
return "[Empty TopologyEvent]";
- } while (false);
+ }
return "[TopologyEvent " + eventStr + " from " +
onosInstanceId.toString() + "]";
@@ -298,36 +298,37 @@
//
// Get the Event ID
//
- do {
+ idLabel: {
if (mastershipEvent != null) {
eventId = mastershipEvent.getIDasByteBuffer();
- break;
+ break idLabel;
}
if (switchEvent != null) {
eventId = switchEvent.getIDasByteBuffer();
- break;
+ break idLabel;
}
if (portEvent != null) {
eventId = portEvent.getIDasByteBuffer();
- break;
+ break idLabel;
}
if (linkEvent != null) {
eventId = linkEvent.getIDasByteBuffer();
- break;
+ break idLabel;
}
if (hostEvent != null) {
eventId = hostEvent.getIDasByteBuffer();
- break;
+ break idLabel;
}
// No event found
throw new IllegalStateException("Invalid TopologyEvent ID");
- } while (false);
+ }
//
// Prepare the ONOS Instance ID. The '@' separator is needed to avoid
// potential key collisions.
//
- byte[] onosId = ("@" + onosInstanceId.toString()).getBytes(StandardCharsets.UTF_8);
+ byte[] onosId =
+ ("@" + onosInstanceId.toString()).getBytes(StandardCharsets.UTF_8);
// Concatenate the IDs
ByteBuffer buf =