-
Improvement
-
Resolution: Unresolved
-
Medium
-
None
-
None
-
None
There are currently 14 places which are splitting a String on ':' and do something with it – usually extracting DPN/DPID. All of this is done though String.split(), which is massively inefficient:
./itm/itm-impl/src/main/java/org/opendaylight/genius/itm/rpc/ItmManagerRpcService.java: String[] nodeId = node.getId().getValue().split(":"); ./itm/itm-impl/src/main/java/org/opendaylight/genius/itm/recovery/impl/ItmTepInstanceRecoveryHandler.java: String[] params = entityId.split(":"); ./interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/servicebindings/flowbased/listeners/FlowBasedServicesNodeStateListener.java: final String[] node = id.getId().getValue().split(":"); ./interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/pmcounters/NodeConnectorStatsImpl.java: String dpId = nodeId.getValue().split(":")[1]; ./interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/pmcounters/NodeConnectorStatsImpl.java: String dpId = nodeId.getValue().split(":")[1]; ./fcapsapplication/fcapsapplication-impl/src/main/java/org/opendaylight/genius/fcapsapp/performancecounter/PacketInCounterHandler.java: String[] nodeNo = id.split(":"); ./fcapsapplication/fcapsapplication-impl/src/main/java/org/opendaylight/genius/fcapsapp/performancecounter/PacketInCounterHandler.java: dpnId = dpnId.split(":")[1]; ./fcapsapplication/fcapsapplication-impl/src/main/java/org/opendaylight/genius/fcapsapp/performancecounter/FlowNodeConnectorInventoryTranslatorImpl.java: String[] switchId = node.split(":"); ./networkutils/networkutils/src/main/java/org/opendaylight/genius/networkutils/impl/VniUtilsImpl.java: String[] configureVniRangeSplit = configureVniRange.split(":"); ./networkutils/networkutils/src/main/java/org/opendaylight/genius/networkutils/impl/RDUtilsImpl.java: String[] configureRDSplit = NwConstants.RD_DEFAULT_LOW_VALUE.split(":"); ./networkutils/networkutils/src/main/java/org/opendaylight/genius/networkutils/impl/RDUtilsImpl.java: configureRDSplit = configuredRDStartValue.split(":"); ./alivenessmonitor/alivenessmonitor-impl-protocols/src/main/java/org/opendaylight/genius/alivenessmonitor/protocols/internal/AbstractAlivenessProtocolHandler.java: String[] addressPart = macAddress.split(":"); ./ipv6util/api/src/main/java/org/opendaylight/genius/ipv6util/api/Ipv6Util.java: String[] octets = target.split(":"); ./mdsalutil/mdsalutil-impl/src/main/java/org/opendaylight/genius/mdsalutil/internal/MDSALManager.java: String[] split = dpnString.split(":");
Provide an explicitly-documented utility which will perform a split-and-parse operation, in the most efficient manner possible and migrate all appropriate callsites to use it.
- relates to
-
MDSAL-486 Add PhysAddress/MacAddress-to-byte[] IetfYangTypes utility
- Resolved