Details
-
Improvement
-
Status: In Review
-
Medium
-
Resolution: Unresolved
-
None
-
None
-
None
Description
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.
Attachments
Issue Links
- relates to
-
MDSAL-486 Add PhysAddress/MacAddress-to-byte[] IetfYangTypes utility
-
- Resolved
-
Gerrit Reviews
| # | Subject | Branch | Project | Status | CR | V |
|---|---|---|---|---|---|---|
| 92429,9 | GENIUS-280:Centralize node identifier parsing | master | genius | Status: NEW | 0 | 0 |