Do not box result twice 21/77921/2
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 18 Nov 2018 20:58:17 +0000 (21:58 +0100)
committerRobert Varga <nite@hq.sk>
Wed, 21 Nov 2018 11:10:53 +0000 (11:10 +0000)
result is an int while both cache and return type are Integer,
instantiate a local variable to hold the boxed value so we not
box twice.

Change-Id: I659b60b40d0d1dfa1eee25d214af4a096bf3e60e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/LazyDataObject.java

index 988dbcc7b97fd979f6e04c73fef753b14471008c..680d54f948fd63a26f63bbc6c8856ea94cad8d4a 100644 (file)
@@ -141,9 +141,9 @@ class LazyDataObject<D extends DataObject> implements InvocationHandler, Augment
     }
 
     private Integer bindingHashCode() {
-        final Integer ret = cachedHashcode;
-        if (ret != null) {
-            return ret;
+        final Integer cached = cachedHashcode;
+        if (cached != null) {
+            return cached;
         }
 
         final int prime = 31;
@@ -155,8 +155,9 @@ class LazyDataObject<D extends DataObject> implements InvocationHandler, Augment
         if (Augmentable.class.isAssignableFrom(context.getBindingClass())) {
             result = prime * result + getAugmentationsImpl().hashCode();
         }
-        cachedHashcode = result;
-        return result;
+        final Integer ret = result;
+        cachedHashcode = ret;
+        return ret;
     }
 
     private Object getBindingData(final Method method) {