Sonar suggestion - Don't use a mutable collection in a public interface
Change-Id: I6f73f665cff20e558a8ec2f3cd319e4d9b00bb58
diff --git a/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/api/Constants.java b/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/api/Constants.java
index 84e1787..6635559 100644
--- a/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/api/Constants.java
+++ b/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/api/Constants.java
@@ -15,7 +15,7 @@
*/
package org.onosproject.openstacknetworking.api;
-import com.google.common.collect.Maps;
+import com.google.common.collect.ImmutableMap;
import org.onlab.packet.MacAddress;
import java.util.Map;
@@ -44,12 +44,10 @@
public static final String DIRECT = "direct";
public static final String PCISLOT = "pci_slot";
- public static final Map<String, String> PORT_NAME_PREFIX_MAP = createPortNamePrefixMap();
+ private static final Map<String, String> PORT_NAME_PREFIX_MAP = createPortNamePrefixMap();
private static Map<String, String> createPortNamePrefixMap() {
- Map<String, String> portNamePrefixMap = Maps.newHashMap();
//Additional pci vendor information will be added
- portNamePrefixMap.put(CAVIUM_PCI_VENDOR_INFO, PORT_NAME_PREFIX_CAVIUM);
- return portNamePrefixMap;
+ return ImmutableMap.of(CAVIUM_PCI_VENDOR_INFO, PORT_NAME_PREFIX_CAVIUM);
}
public static final int PRIORITY_TUNNEL_TAG_RULE = 30000;
@@ -85,4 +83,8 @@
public static final int FORWARDING_TABLE = 50;
public static final int GW_COMMON_TABLE = 0;
public static final int ERROR_TABLE = 100;
+
+ public static Map<String, String> portNamePrefixMap() {
+ return PORT_NAME_PREFIX_MAP;
+ }
}
\ No newline at end of file
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java
index 359d34e..76f164f 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java
@@ -71,7 +71,7 @@
import static org.onosproject.net.AnnotationKeys.PORT_NAME;
import static org.onosproject.openstacknetworking.api.Constants.DIRECT;
import static org.onosproject.openstacknetworking.api.Constants.PCISLOT;
-import static org.onosproject.openstacknetworking.api.Constants.PORT_NAME_PREFIX_MAP;
+import static org.onosproject.openstacknetworking.api.Constants.portNamePrefixMap;
import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.getIntfNameFromPciAddress;
import static org.slf4j.LoggerFactory.getLogger;
@@ -339,7 +339,7 @@
}
private boolean isDirectPort(String portName) {
- return PORT_NAME_PREFIX_MAP.values().stream().filter(p -> portName.startsWith(p)).findAny().isPresent();
+ return portNamePrefixMap().values().stream().filter(p -> portName.startsWith(p)).findAny().isPresent();
}
@Override
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHostProvider.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHostProvider.java
index e7492bf..62fd2b4 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHostProvider.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHostProvider.java
@@ -64,7 +64,7 @@
import static org.onlab.util.Tools.groupedThreads;
import static org.onosproject.net.AnnotationKeys.PORT_NAME;
import static org.onosproject.openstacknetworking.api.Constants.OPENSTACK_NETWORKING_APP_ID;
-import static org.onosproject.openstacknetworking.api.Constants.PORT_NAME_PREFIX_MAP;
+import static org.onosproject.openstacknetworking.api.Constants.portNamePrefixMap;
import static org.onosproject.openstacknetworking.impl.HostBasedInstancePort.ANNOTATION_CREATE_TIME;
import static org.onosproject.openstacknetworking.impl.HostBasedInstancePort.ANNOTATION_NETWORK_ID;
import static org.onosproject.openstacknetworking.impl.HostBasedInstancePort.ANNOTATION_PORT_ID;
@@ -236,7 +236,7 @@
}
private boolean isDirectPort(String portName) {
- return PORT_NAME_PREFIX_MAP.values().stream().filter(p -> portName.startsWith(p)).findAny().isPresent();
+ return portNamePrefixMap().values().stream().filter(p -> portName.startsWith(p)).findAny().isPresent();
}
@Override
@@ -346,7 +346,7 @@
processPortAdded(port);
});
- PORT_NAME_PREFIX_MAP.values().forEach(portNamePrefix -> {
+ portNamePrefixMap().values().forEach(portNamePrefix -> {
deviceService.getPorts(osNode.intgBridge()).stream()
.filter(port -> port.annotations().value(PORT_NAME)
.startsWith(portNamePrefix) &&
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtil.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtil.java
index 58f3c33..f3c5d92 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtil.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtil.java
@@ -51,7 +51,7 @@
import static com.fasterxml.jackson.databind.SerializationFeature.INDENT_OUTPUT;
import static org.onosproject.openstacknetworking.api.Constants.PCISLOT;
import static org.onosproject.openstacknetworking.api.Constants.PCI_VENDOR_INFO;
-import static org.onosproject.openstacknetworking.api.Constants.PORT_NAME_PREFIX_MAP;
+import static org.onosproject.openstacknetworking.api.Constants.portNamePrefixMap;
/**
* An utility that used in openstack networking app.
@@ -229,7 +229,7 @@
log.error("Failed to retrieve the interface name because of no pci vendor information from the port");
return null;
}
- String portNamePrefix = PORT_NAME_PREFIX_MAP.get(vendorInfoForPort);
+ String portNamePrefix = portNamePrefixMap().get(vendorInfoForPort);
if (functionNumDecimal.equals(ZERO_FUNCTION_NUMBER)) {
intfName = portNamePrefix + busNumDecimal + PREFIX_DEVICE_NUMBER + deviceNumDecimal;