From 23f40cc52c44ec69e4c0e3639154e1e2746d01a5 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 2 Apr 2015 17:21:15 +0200 Subject: [PATCH] BUG-2383: Fix array instantiation Arrays cannot be trivially cast, so use a reflective method to instantiate new arrays. Change-Id: I821ae52c49f94414813ebc6f753194db716cd15a Signed-off-by: Robert Varga --- .../java/org/opendaylight/protocol/bgp/rib/impl/OffsetMap.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/OffsetMap.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/OffsetMap.java index 1dcb46dba3..0641489fc4 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/OffsetMap.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/OffsetMap.java @@ -14,6 +14,7 @@ import com.google.common.cache.LoadingCache; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet.Builder; import com.google.common.primitives.UnsignedInteger; +import java.lang.reflect.Array; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; @@ -86,7 +87,7 @@ final class OffsetMap { T[] expand(final OffsetMap oldOffsets, final T[] oldArray, final int offset) { @SuppressWarnings("unchecked") - final T[] ret = (T[]) new Object[this.routerIds.length]; + final T[] ret = (T[]) Array.newInstance(oldArray.getClass().getComponentType(), this.routerIds.length); final int oldSize = oldOffsets.routerIds.length; System.arraycopy(oldArray, 0, ret, 0, offset); -- 2.36.6