diff options
author | Taka Cho <takamune.cho@att.com> | 2020-06-25 12:10:00 -0400 |
---|---|---|
committer | Taka Cho <takamune.cho@att.com> | 2020-06-26 10:54:27 -0400 |
commit | 927d8e01915733baa86e0fb9842d29487265817e (patch) | |
tree | e077ac2a0764dad6a2e2655bc702a30e9c3e46e8 | |
parent | 69564b4c19a8c890ef7a11344abd246f90af2506 (diff) |
replace an emptyArray and computeIfAbsent instead
- some methods should return an empty array.
- avoid the result of a java.util.Map.get()
against null before proceeding with adding
or changing the value in the map.
- Declaring a variable only to immediately
return or throw it is a bad practice.
Issue-ID: POLICY-2616
Change-Id: I21a55c5ea716d8f64dc9155f84cabcfbcf5a22e0
Signed-off-by: Taka Cho <takamune.cho@att.com>
-rw-r--r-- | feature-server-pool/src/main/java/org/onap/policy/drools/serverpool/TargetLock.java | 37 |
1 files changed, 13 insertions, 24 deletions
diff --git a/feature-server-pool/src/main/java/org/onap/policy/drools/serverpool/TargetLock.java b/feature-server-pool/src/main/java/org/onap/policy/drools/serverpool/TargetLock.java index 66ac58da..ef88abf2 100644 --- a/feature-server-pool/src/main/java/org/onap/policy/drools/serverpool/TargetLock.java +++ b/feature-server-pool/src/main/java/org/onap/policy/drools/serverpool/TargetLock.java @@ -147,6 +147,9 @@ public class TargetLock implements Lock, Serializable { private static final String QP_SERVER = "server"; private static final String QP_TTL = "ttl"; + // define a constant for empty of byte array + private static final byte[] EMPTY_BYTE_ARRAY = {}; + /** * This method triggers registration of 'eventHandler', and also extracts * property values. @@ -1524,7 +1527,7 @@ public class TargetLock implements Lock, Serializable { logger.error("Couldn't forward 'lock/dumpLocksData to uuid {}", serverUuid); - return null; + return EMPTY_BYTE_ARRAY; } return Base64.getEncoder().encode(Util.serialize(new HostData())); @@ -1641,11 +1644,7 @@ public class TargetLock implements Lock, Serializable { UUID uuid = cdr.identity.uuid; // fetch/generate 'MergeData' instance for this UUID - MergedData md = mergedDataMap.get(uuid); - if (md == null) { - md = new MergedData(uuid); - mergedDataMap.put(uuid, md); - } + MergedData md = mergedDataMap.computeIfAbsent(uuid, key -> new MergedData(uuid)); // update 'MergedData.clientDataRecord' if (md.clientDataRecord == null) { @@ -1680,11 +1679,7 @@ public class TargetLock implements Lock, Serializable { UUID uuid = le.currentOwnerUuid; // fetch/generate 'MergeData' instance for this UUID - MergedData md = mergedDataMap.get(uuid); - if (md == null) { - md = new MergedData(uuid); - mergedDataMap.put(uuid, md); - } + MergedData md = mergedDataMap.computeIfAbsent(uuid, key -> new MergedData(uuid)); // update 'lockEntries' table entry if (lockEntries.get(le.key) != null) { @@ -1728,11 +1723,7 @@ public class TargetLock implements Lock, Serializable { UUID uuid = waiting.ownerUuid; // fetch/generate 'MergeData' instance for this UUID - MergedData md = mergedDataMap.get(uuid); - if (md == null) { - md = new MergedData(uuid); - mergedDataMap.put(uuid, md); - } + MergedData md = mergedDataMap.computeIfAbsent(uuid, key -> new MergedData(uuid)); // update 'MergedData.serverLockEntry' and // 'MergedData.serverWaiting' @@ -2383,7 +2374,7 @@ public class TargetLock implements Lock, Serializable { return Base64.getEncoder().encode(Util.serialize(this)); } catch (IOException e) { logger.error("TargetLock.AuditData.encode Exception", e); - return null; + return EMPTY_BYTE_ARRAY; } } @@ -2557,7 +2548,7 @@ public class TargetLock implements Lock, Serializable { // if we reach this point, we didn't forward for some reason logger.error("Couldn't forward 'lock/audit to uuid {}", serverUuid); - return null; + return EMPTY_BYTE_ARRAY; } AuditData auditData = AuditData.decode(encodedData); @@ -2565,7 +2556,7 @@ public class TargetLock implements Lock, Serializable { AuditData auditResp = auditData.generateResponse(true); return auditResp.encode(); } - return null; + return EMPTY_BYTE_ARRAY; } /** @@ -2650,9 +2641,7 @@ public class TargetLock implements Lock, Serializable { // map 'key -> bucket number', and then 'bucket number' -> 'server' Server server = Bucket.bucketToServer(Bucket.bucketNumber(key)); if (server != null) { - AuditData auditData = - auditMap.computeIfAbsent(server, sk -> new AuditData()); - return auditData; + return auditMap.computeIfAbsent(server, sk -> new AuditData()); } // this happens when the bucket has not been assigned to a server yet @@ -2712,7 +2701,7 @@ public class TargetLock implements Lock, Serializable { // serialize byte[] encodedData = auditData.encode(); - if (encodedData == null) { + if (encodedData.length == 0) { // error has already been displayed return; } @@ -2779,7 +2768,7 @@ public class TargetLock implements Lock, Serializable { // serialize byte[] encodedData = auditData.encode(); - if (encodedData == null) { + if (encodedData.length == 0) { // error has already been displayed return; } |