Split out mdsal-binding-runtime-{api,spi}
[mdsal.git] / binding / mdsal-binding-dom-adapter / src / main / java / org / opendaylight / mdsal / binding / dom / adapter / DirectGetterRouteContextExtractor.java
index b10db456dcf142db28a39012149eff0a849afb77..35631753035ab0e3baa03e993cc7ca2be3014513 100644 (file)
@@ -19,25 +19,26 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 final class DirectGetterRouteContextExtractor extends ContextReferenceExtractor {
 
-    private final static Lookup PUBLIC_LOOKUP = MethodHandles.publicLookup();
+    private static final Lookup PUBLIC_LOOKUP = MethodHandles.publicLookup();
     private final MethodHandle handle;
 
     private DirectGetterRouteContextExtractor(final MethodHandle rawHandle) {
         handle = rawHandle.asType(MethodType.methodType(InstanceIdentifier.class, DataObject.class));
     }
 
-    static final ContextReferenceExtractor create(final Method getterMethod) throws IllegalAccessException {
+    static ContextReferenceExtractor create(final Method getterMethod) throws IllegalAccessException {
         final MethodHandle getterHandle = PUBLIC_LOOKUP.unreflect(getterMethod);
         return new DirectGetterRouteContextExtractor(getterHandle);
     }
 
+    @SuppressWarnings("checkstyle:IllegalCatch")
     @Override
     InstanceIdentifier<?> extract(final DataObject obj) {
         try {
             return (InstanceIdentifier<?>) handle.invokeExact(obj);
         } catch (final Throwable e) {
-            throw Throwables.propagate(e);
+            Throwables.throwIfUnchecked(e);
+            throw new IllegalStateException(e);
         }
     }
-
 }