From 5afbea49416ac992f7917635ea182cd723edfcc9 Mon Sep 17 00:00:00 2001 From: Jian Li Date: Wed, 28 Feb 2018 10:37:03 +0900 Subject: [PATCH] Refactor: fix the issues reported by static code analyzer Change-Id: I8421b5d750e14012d30176ddca7a3873539a361b --- .../openstacknode/api/NodeState.java | 12 +++++++ .../openstacknode/api/OpenstackNodeEvent.java | 3 ++ .../cli/OpenstackNodeCheckCommand.java | 3 +- .../cli/OpenstackNodeInitCommand.java | 15 +++------ .../impl/DefaultOpenstackNode.java | 6 ++-- .../impl/DefaultOpenstackNodeHandler.java | 31 ++++++++----------- .../impl/DistributedOpenstackNodeStore.java | 28 ++++++++--------- .../impl/OpenstackNodeManager.java | 5 ++- .../web/OpenstackNodeCodecRegister.java | 4 +-- 9 files changed, 54 insertions(+), 53 deletions(-) diff --git a/apps/openstacknode/api/src/main/java/org/onosproject/openstacknode/api/NodeState.java b/apps/openstacknode/api/src/main/java/org/onosproject/openstacknode/api/NodeState.java index f34bdb73ab..ed177f19f9 100644 --- a/apps/openstacknode/api/src/main/java/org/onosproject/openstacknode/api/NodeState.java +++ b/apps/openstacknode/api/src/main/java/org/onosproject/openstacknode/api/NodeState.java @@ -78,6 +78,18 @@ public enum NodeState { } }; + /** + * Processes the given node which is under a certain state. + * + * @param handler openstack node handler + * @param osNode openstack node + */ public abstract void process(OpenstackNodeHandler handler, OpenstackNode osNode); + + /** + * Transits to the next state. + * + * @return the next openstack node state + */ public abstract NodeState nextState(); } diff --git a/apps/openstacknode/api/src/main/java/org/onosproject/openstacknode/api/OpenstackNodeEvent.java b/apps/openstacknode/api/src/main/java/org/onosproject/openstacknode/api/OpenstackNodeEvent.java index 59622459ae..ae64e28a39 100644 --- a/apps/openstacknode/api/src/main/java/org/onosproject/openstacknode/api/OpenstackNodeEvent.java +++ b/apps/openstacknode/api/src/main/java/org/onosproject/openstacknode/api/OpenstackNodeEvent.java @@ -22,6 +22,9 @@ import org.onosproject.event.AbstractEvent; */ public class OpenstackNodeEvent extends AbstractEvent { + /** + * List of openstack node event types. + */ public enum Type { /** diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/cli/OpenstackNodeCheckCommand.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/cli/OpenstackNodeCheckCommand.java index 3ad60efca4..ff57b61bfc 100644 --- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/cli/OpenstackNodeCheckCommand.java +++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/cli/OpenstackNodeCheckCommand.java @@ -27,7 +27,8 @@ import org.onosproject.openstacknode.api.OpenstackNode; import org.onosproject.openstacknode.api.OpenstackNodeService; import static org.onosproject.net.AnnotationKeys.PORT_NAME; -import static org.onosproject.openstacknode.api.Constants.*; +import static org.onosproject.openstacknode.api.Constants.DEFAULT_TUNNEL; +import static org.onosproject.openstacknode.api.Constants.INTEGRATION_BRIDGE; /** * Checks detailed node init state. diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/cli/OpenstackNodeInitCommand.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/cli/OpenstackNodeInitCommand.java index 5cc3285c92..d620e377f3 100644 --- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/cli/OpenstackNodeInitCommand.java +++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/cli/OpenstackNodeInitCommand.java @@ -25,9 +25,6 @@ import org.onosproject.openstacknode.api.OpenstackNode; import org.onosproject.openstacknode.api.OpenstackNodeAdminService; import org.onosproject.openstacknode.api.OpenstackNodeService; -import java.util.List; -import java.util.stream.Collectors; - /** * Initializes nodes for OpenStack node service. */ @@ -64,16 +61,12 @@ public class OpenstackNodeInitCommand extends AbstractShellCommand { } if (isAll) { - List osNodes = osNodeService.nodes().stream() - .map(OpenstackNode::hostname) - .collect(Collectors.toList()); - hostnames = osNodes.toArray(new String[osNodes.size()]); + hostnames = osNodeService.nodes().stream() + .map(OpenstackNode::hostname).toArray(String[]::new); } else if (isIncomplete) { - List osNodes = osNodeService.nodes().stream() + hostnames = osNodeService.nodes().stream() .filter(osNode -> osNode.state() != NodeState.COMPLETE) - .map(OpenstackNode::hostname) - .collect(Collectors.toList()); - hostnames = osNodes.toArray(new String[osNodes.size()]); + .map(OpenstackNode::hostname).toArray(String[]::new); } for (String hostname : hostnames) { diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNode.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNode.java index 8681008afd..8927880be0 100644 --- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNode.java +++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNode.java @@ -214,15 +214,13 @@ public class DefaultOpenstackNode implements OpenstackNode { if (obj instanceof DefaultOpenstackNode) { DefaultOpenstackNode that = (DefaultOpenstackNode) obj; - if (Objects.equals(hostname, that.hostname) && + return Objects.equals(hostname, that.hostname) && Objects.equals(type, that.type) && Objects.equals(intgBridge, that.intgBridge) && Objects.equals(managementIp, that.managementIp) && Objects.equals(dataIp, that.dataIp) && Objects.equals(uplinkPort, that.uplinkPort) && - Objects.equals(vlanIntf, that.vlanIntf)) { - return true; - } + Objects.equals(vlanIntf, that.vlanIntf); } return false; } diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java index 397ff372a7..939b62819f 100644 --- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java +++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java @@ -77,8 +77,11 @@ import static org.onlab.packet.TpPort.tpPort; import static org.onlab.util.Tools.groupedThreads; import static org.onosproject.net.AnnotationKeys.PORT_NAME; import static org.onosproject.net.flow.instructions.ExtensionTreatmentType.ExtensionTreatmentTypes.NICIRA_SET_TUNNEL_DST; -import static org.onosproject.openstacknode.api.Constants.*; -import static org.onosproject.openstacknode.api.NodeState.*; +import static org.onosproject.openstacknode.api.Constants.DEFAULT_TUNNEL; +import static org.onosproject.openstacknode.api.Constants.INTEGRATION_BRIDGE; +import static org.onosproject.openstacknode.api.NodeState.COMPLETE; +import static org.onosproject.openstacknode.api.NodeState.DEVICE_CREATED; +import static org.onosproject.openstacknode.api.NodeState.INCOMPLETE; import static org.onosproject.openstacknode.api.OpenstackNode.NodeType.GATEWAY; import static org.onosproject.openstacknode.api.OpenstackNodeService.APP_ID; import static org.slf4j.LoggerFactory.getLogger; @@ -89,7 +92,7 @@ import static org.slf4j.LoggerFactory.getLogger; @Component(immediate = true) public class DefaultOpenstackNodeHandler implements OpenstackNodeHandler { - protected final Logger log = getLogger(getClass()); + private final Logger log = getLogger(getClass()); private static final String OVSDB_PORT = "ovsdbPortNum"; private static final int DEFAULT_OVSDB_PORT = 6640; @@ -351,13 +354,11 @@ public class DefaultOpenstackNodeHandler implements OpenstackNodeHandler { * @return true if the given interface is enabled, false otherwise */ private boolean isIntfEnabled(OpenstackNode osNode, String intf) { - if (!deviceService.isAvailable(osNode.intgBridge())) { - return false; - } - return deviceService.getPorts(osNode.intgBridge()).stream() - .anyMatch(port -> Objects.equals( - port.annotations().value(PORT_NAME), intf) && - port.isEnabled()); + return deviceService.isAvailable(osNode.intgBridge()) && + deviceService.getPorts(osNode.intgBridge()).stream() + .anyMatch(port -> Objects.equals( + port.annotations().value(PORT_NAME), intf) && + port.isEnabled()); } /** @@ -369,10 +370,7 @@ public class DefaultOpenstackNodeHandler implements OpenstackNodeHandler { private boolean isCurrentStateDone(OpenstackNode osNode) { switch (osNode.state()) { case INIT: - if (!deviceService.isAvailable(osNode.intgBridge())) { - return false; - } - return true; + return deviceService.isAvailable(osNode.intgBridge()); case DEVICE_CREATED: if (osNode.dataIp() != null && !isIntfEnabled(osNode, DEFAULT_TUNNEL)) { @@ -388,7 +386,6 @@ public class DefaultOpenstackNodeHandler implements OpenstackNodeHandler { } return true; case COMPLETE: - return false; case INCOMPLETE: // always return false // run init CLI to re-trigger node bootstrap @@ -556,9 +553,7 @@ public class DefaultOpenstackNodeHandler implements OpenstackNodeHandler { switch (event.type()) { case OPENSTACK_NODE_CREATED: case OPENSTACK_NODE_UPDATED: - eventExecutor.execute(() -> { - bootstrapNode(event.subject()); - }); + eventExecutor.execute(() -> bootstrapNode(event.subject())); break; case OPENSTACK_NODE_COMPLETE: break; diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DistributedOpenstackNodeStore.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DistributedOpenstackNodeStore.java index ea21db5dc0..dd54eb71d0 100644 --- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DistributedOpenstackNodeStore.java +++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DistributedOpenstackNodeStore.java @@ -49,7 +49,11 @@ import static java.util.concurrent.Executors.newSingleThreadExecutor; import static org.onlab.util.Tools.groupedThreads; import static org.onosproject.openstacknode.api.NodeState.COMPLETE; import static org.onosproject.openstacknode.api.NodeState.INCOMPLETE; -import static org.onosproject.openstacknode.api.OpenstackNodeEvent.Type.*; +import static org.onosproject.openstacknode.api.OpenstackNodeEvent.Type.OPENSTACK_NODE_COMPLETE; +import static org.onosproject.openstacknode.api.OpenstackNodeEvent.Type.OPENSTACK_NODE_CREATED; +import static org.onosproject.openstacknode.api.OpenstackNodeEvent.Type.OPENSTACK_NODE_INCOMPLETE; +import static org.onosproject.openstacknode.api.OpenstackNodeEvent.Type.OPENSTACK_NODE_REMOVED; +import static org.onosproject.openstacknode.api.OpenstackNodeEvent.Type.OPENSTACK_NODE_UPDATED; import static org.slf4j.LoggerFactory.getLogger; /** @@ -61,7 +65,7 @@ public class DistributedOpenstackNodeStore extends AbstractStore implements OpenstackNodeStore { - protected final Logger log = getLogger(getClass()); + private final Logger log = getLogger(getClass()); private static final String ERR_NOT_FOUND = " does not exist"; private static final String ERR_DUPLICATE = " already exists"; @@ -158,12 +162,10 @@ public class DistributedOpenstackNodeStore switch (event.type()) { case INSERT: log.debug("OpenStack node created {}", event.newValue()); - eventExecutor.execute(() -> { - notifyDelegate(new OpenstackNodeEvent( - OPENSTACK_NODE_CREATED, - event.newValue().value() - )); - }); + eventExecutor.execute(() -> + notifyDelegate(new OpenstackNodeEvent( + OPENSTACK_NODE_CREATED, event.newValue().value() + ))); break; case UPDATE: log.debug("OpenStack node updated {}", event.newValue()); @@ -187,12 +189,10 @@ public class DistributedOpenstackNodeStore break; case REMOVE: log.debug("OpenStack node removed {}", event.oldValue()); - eventExecutor.execute(() -> { - notifyDelegate(new OpenstackNodeEvent( - OPENSTACK_NODE_REMOVED, - event.oldValue().value() - )); - }); + eventExecutor.execute(() -> + notifyDelegate(new OpenstackNodeEvent( + OPENSTACK_NODE_REMOVED, event.oldValue().value() + ))); break; default: // do nothing diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OpenstackNodeManager.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OpenstackNodeManager.java index 1202d49d6e..fb8a871ade 100644 --- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OpenstackNodeManager.java +++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OpenstackNodeManager.java @@ -58,7 +58,7 @@ import static org.slf4j.LoggerFactory.getLogger; public class OpenstackNodeManager extends ListenerRegistry implements OpenstackNodeService, OpenstackNodeAdminService { - protected final Logger log = getLogger(getClass()); + private final Logger log = getLogger(getClass()); private static final String MSG_NODE = "OpenStack node %s %s"; private static final String MSG_CREATED = "created"; @@ -166,11 +166,10 @@ public class OpenstackNodeManager extends ListenerRegistry Objects.equals(osNode.intgBridge(), deviceId) || Objects.equals(osNode.ovsdb(), deviceId)) .findFirst().orElse(null); - return result; } private class InternalNodeStoreDelegate implements OpenstackNodeStoreDelegate { diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/web/OpenstackNodeCodecRegister.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/web/OpenstackNodeCodecRegister.java index 86947d8523..70df9748c8 100644 --- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/web/OpenstackNodeCodecRegister.java +++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/web/OpenstackNodeCodecRegister.java @@ -38,14 +38,14 @@ public class OpenstackNodeCodecRegister { protected CodecService codecService; @Activate - public void activate() { + protected void activate() { codecService.registerCodec(OpenstackNode.class, new OpenstackNodeCodec()); log.info("Started"); } @Deactivate - public void deactivate() { + protected void deactivate() { codecService.unregisterCodec(OpenstackNode.class); log.info("Stopped");