Clean up filter loading
[aaa.git] / aaa-filterchain / src / main / java / org / opendaylight / aaa / filterchain / configuration / impl / CustomFilterAdapterConfigurationImpl.java
index b40b2b929fb46561da6004ec30ddffd3a496d716..806c732d308b9a1cb3ad17cd8b3b88f5ff64b4b4 100644 (file)
@@ -337,17 +337,16 @@ public final class CustomFilterAdapterConfigurationImpl implements CustomFilterA
             this.initParams = requireNonNull(initParams);
         }
 
-        @SuppressWarnings("unchecked")
         @Override
         Filter getInstance(final Optional<ServletContext> servletContext) {
+            final Filter instance;
             try {
-                final Class<Filter> filterClazz = (Class<Filter>) Class.forName(clazzName);
-                return init(filterClazz.getDeclaredConstructor().newInstance(), servletContext);
+                instance = Class.forName(clazzName).asSubclass(Filter.class).getDeclaredConstructor().newInstance();
             } catch (ReflectiveOperationException | ClassCastException e) {
-                LOG.error("Error loading  {}", this, e);
+                LOG.error("Error loading {}", this, e);
+                return null;
             }
-
-            return null;
+            return init(instance, servletContext);
         }
 
         private Filter init(final Filter filter, final Optional<ServletContext> servletContext) {