Refactor: fix the issues reported by static code analyzer

Change-Id: I8421b5d750e14012d30176ddca7a3873539a361b
This commit is contained in:
Jian Li 2018-02-28 10:37:03 +09:00 committed by Ray Milkey
parent 3a1efef913
commit 5afbea4941
9 changed files with 54 additions and 53 deletions

View File

@ -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();
}

View File

@ -22,6 +22,9 @@ import org.onosproject.event.AbstractEvent;
*/
public class OpenstackNodeEvent extends AbstractEvent<OpenstackNodeEvent.Type, OpenstackNode> {
/**
* List of openstack node event types.
*/
public enum Type {
/**

View File

@ -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.

View File

@ -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<String> 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<String> 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) {

View File

@ -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;
}

View File

@ -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;

View File

@ -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<OpenstackNodeEvent, OpenstackNodeStoreDelegate>
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

View File

@ -58,7 +58,7 @@ import static org.slf4j.LoggerFactory.getLogger;
public class OpenstackNodeManager extends ListenerRegistry<OpenstackNodeEvent, OpenstackNodeListener>
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<OpenstackNodeEvent, O
@Override
public OpenstackNode node(DeviceId deviceId) {
OpenstackNode result = osNodeStore.nodes().stream()
return osNodeStore.nodes().stream()
.filter(osNode -> Objects.equals(osNode.intgBridge(), deviceId) ||
Objects.equals(osNode.ovsdb(), deviceId))
.findFirst().orElse(null);
return result;
}
private class InternalNodeStoreDelegate implements OpenstackNodeStoreDelegate {

View File

@ -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");