Refactor binding-dom-adapter
[mdsal.git] / binding / mdsal-binding-dom-adapter / src / main / java / org / opendaylight / mdsal / binding / dom / adapter / BindingMountPointAdapter.java
index bc5c10e7206866604e711d6cfb128d744f52d2f7..3f978cd6ea263ce179c2ea9dd6096a9cbb36b5f2 100644 (file)
@@ -7,27 +7,25 @@
  */
 package org.opendaylight.mdsal.binding.dom.adapter;
 
-import com.google.common.base.Optional;
 import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.LoadingCache;
-import org.opendaylight.controller.md.sal.binding.api.BindingService;
-import org.opendaylight.controller.md.sal.binding.api.MountPoint;
-import org.opendaylight.controller.md.sal.dom.api.DOMMountPoint;
-import org.opendaylight.controller.md.sal.dom.api.DOMService;
+import java.util.Optional;
+import org.opendaylight.mdsal.binding.api.BindingService;
+import org.opendaylight.mdsal.binding.api.MountPoint;
+import org.opendaylight.mdsal.dom.api.DOMMountPoint;
+import org.opendaylight.mdsal.dom.api.DOMService;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-public class BindingMountPointAdapter implements MountPoint {
-
+final class BindingMountPointAdapter implements MountPoint {
     private final InstanceIdentifier<?> identifier;
-    private LoadingCache<Class<? extends BindingService>, Optional<BindingService>> services;
+    private final LoadingCache<Class<? extends BindingService>, Optional<BindingService>> services;
 
-    public BindingMountPointAdapter(final BindingToNormalizedNodeCodec codec, final DOMMountPoint domMountPoint) {
-        identifier = codec.getCodecRegistry().fromYangInstanceIdentifier(domMountPoint.getIdentifier());
+    BindingMountPointAdapter(final AdapterContext codec, final DOMMountPoint domMountPoint) {
+        identifier = codec.currentSerializer().fromYangInstanceIdentifier(domMountPoint.getIdentifier());
         services = CacheBuilder.newBuilder().build(new BindingDOMAdapterLoader(codec) {
-
             @Override
-            protected DOMService getDelegate(Class<? extends DOMService> reqDeleg) {
-                return domMountPoint.getService(reqDeleg).orNull();
+            protected DOMService getDelegate(final Class<? extends DOMService> reqDeleg) {
+                return domMountPoint.getService(reqDeleg).orElse(null);
             }
         });
     }
@@ -38,12 +36,7 @@ public class BindingMountPointAdapter implements MountPoint {
     }
 
     @Override
-    public <T extends BindingService> Optional<T> getService(Class<T> service) {
-        Optional<BindingService> potential = services.getUnchecked(service);
-        if(potential.isPresent()) {
-            return Optional.of(service.cast(potential.get()));
-        }
-        return Optional.absent();
+    public <T extends BindingService> Optional<T> getService(final Class<T> service) {
+        return services.getUnchecked(service).map(service::cast);
     }
-
 }