From: Robert Varga Date: Mon, 18 Nov 2019 10:44:11 +0000 (+0100) Subject: Remove unneeded checkstyle supressions X-Git-Tag: v3.0.13~6 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=mdsal.git;a=commitdiff_plain;h=8963b4c738caf2f0e082dd127fd193ec06ed4f45 Remove unneeded checkstyle supressions Treading carefully and using Class.asSubclass() allows us to remove raw types/unchecked casts. Change-Id: Ib7554cc40f0b4f41495405db3b7715e0f4e21cc7 Signed-off-by: Robert Varga (cherry picked from commit 6087dda3aa2e148c5046fb2d8e7b0f75a5eee844) --- diff --git a/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/reflect/BindingReflections.java b/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/reflect/BindingReflections.java index 546b6a4542..c598ad94ae 100644 --- a/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/reflect/BindingReflections.java +++ b/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/reflect/BindingReflections.java @@ -451,7 +451,7 @@ public final class BindingReflections { return getChildrenClassToMethod(type, BindingMapping.NONNULL_PREFIX); } - @SuppressWarnings({ "unchecked", "rawtypes", "checkstyle:illegalCatch" }) + @SuppressWarnings("checkstyle:illegalCatch") private static Optional> getYangModeledReturnType(final Method method, final String prefix) { final String methodName = method.getName(); @@ -459,18 +459,14 @@ public final class BindingReflections { return Optional.empty(); } - Class returnType = method.getReturnType(); + final Class returnType = method.getReturnType(); if (DataContainer.class.isAssignableFrom(returnType)) { - return Optional.of(returnType); - } - if (List.class.isAssignableFrom(returnType)) { + return optionalDataContainer(returnType); + } else if (List.class.isAssignableFrom(returnType)) { try { return ClassLoaderUtils.callWithClassLoader(method.getDeclaringClass().getClassLoader(), () -> { - Type listResult = ClassLoaderUtils.getFirstGenericParameter(method.getGenericReturnType()); - if (listResult instanceof Class && DataContainer.class.isAssignableFrom((Class) listResult)) { - return Optional.of((Class) listResult); - } - return Optional.empty(); + final Type listResult = ClassLoaderUtils.getFirstGenericParameter(method.getGenericReturnType()); + return listResult instanceof Class ? optionalCast((Class) listResult) : Optional.empty(); }); } catch (Exception e) { /* @@ -484,6 +480,14 @@ public final class BindingReflections { return Optional.empty(); } + private static Optional> optionalCast(final Class type) { + return DataContainer.class.isAssignableFrom(type) ? optionalDataContainer(type) : Optional.empty(); + } + + private static Optional> optionalDataContainer(final Class type) { + return Optional.of(type.asSubclass(DataContainer.class)); + } + private static class ClassToQNameLoader extends CacheLoader, Optional> { @Override