Binding v2 runtime - adapters - registration 65/59165/2
authorJakub Toth <jakub.toth@pantheon.tech>
Wed, 14 Jun 2017 16:14:28 +0000 (18:14 +0200)
committerMartin Ciglan <martin.ciglan@pantheon.tech>
Mon, 19 Jun 2017 16:41:28 +0000 (16:41 +0000)
Change-Id: Ibb2dfbfa869852fda66972395d6a2a54633e7909
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
(cherry picked from commit 54f5afb6605d01e6d68dc5d96548ee35fe91de74)

binding2/mdsal-binding2-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/adapter/registration/BindingDOMActionAdapterRegistration.java [new file with mode: 0644]
binding2/mdsal-binding2-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/adapter/registration/BindingDOMRpcAdapterRegistration.java [new file with mode: 0644]
binding2/mdsal-binding2-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/adapter/registration/BindingDataTreeListenerRegistration.java [new file with mode: 0644]

diff --git a/binding2/mdsal-binding2-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/adapter/registration/BindingDOMActionAdapterRegistration.java b/binding2/mdsal-binding2-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/adapter/registration/BindingDOMActionAdapterRegistration.java
new file mode 100644 (file)
index 0000000..5644bbd
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2017 Pantheon Technologies s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.mdsal.binding.javav2.dom.adapter.registration;
+
+import com.google.common.annotations.Beta;
+import org.opendaylight.mdsal.binding.javav2.spec.base.Action;
+import org.opendaylight.mdsal.binding.javav2.spec.base.TreeNode;
+import org.opendaylight.mdsal.dom.api.DOMRpcImplementationRegistration;
+import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
+
+/**
+ * Registration of Binding - DOM Action adapter.
+ *
+ * @param <T>
+ *            - {@link Action} type
+ */
+@Beta
+public class BindingDOMActionAdapterRegistration<T extends Action<? extends TreeNode, ?, ?>>
+        extends AbstractObjectRegistration<T> {
+
+    private final DOMRpcImplementationRegistration<?> reg;
+
+    // FIXME : DOM part doesn't work with Yang 1.1 - Action registration isn't implemented yet.
+    public BindingDOMActionAdapterRegistration(final T instance, final DOMRpcImplementationRegistration<?> reg) {
+        super(instance);
+        this.reg = reg;
+    }
+
+    @Override
+    protected void removeRegistration() {
+        reg.close();
+    }
+}
diff --git a/binding2/mdsal-binding2-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/adapter/registration/BindingDOMRpcAdapterRegistration.java b/binding2/mdsal-binding2-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/adapter/registration/BindingDOMRpcAdapterRegistration.java
new file mode 100644 (file)
index 0000000..41663a8
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2017 Pantheon Technologies s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.mdsal.binding.javav2.dom.adapter.registration;
+
+import com.google.common.annotations.Beta;
+import org.opendaylight.mdsal.binding.javav2.spec.base.Rpc;
+import org.opendaylight.mdsal.dom.api.DOMRpcImplementationRegistration;
+import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
+
+/**
+ * Registration of Binding - DOM RPC adapter.
+ *
+ * @param <T>
+ *            - {@link Rpc} type
+ */
+@Beta
+public class BindingDOMRpcAdapterRegistration<T extends Rpc<?, ?>> extends AbstractObjectRegistration<T> {
+
+    private final DOMRpcImplementationRegistration<?> reg;
+
+    public BindingDOMRpcAdapterRegistration(final T instance, final DOMRpcImplementationRegistration<?> reg) {
+        super(instance);
+        this.reg = reg;
+    }
+
+    @Override
+    protected void removeRegistration() {
+        reg.close();
+    }
+}
\ No newline at end of file
diff --git a/binding2/mdsal-binding2-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/adapter/registration/BindingDataTreeListenerRegistration.java b/binding2/mdsal-binding2-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/adapter/registration/BindingDataTreeListenerRegistration.java
new file mode 100644 (file)
index 0000000..e096a07
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 Pantheon Technologies s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.mdsal.binding.javav2.dom.adapter.registration;
+
+import com.google.common.annotations.Beta;
+import com.google.common.base.Preconditions;
+import org.opendaylight.mdsal.binding.javav2.api.DataTreeListener;
+import org.opendaylight.yangtools.concepts.AbstractListenerRegistration;
+import org.opendaylight.yangtools.concepts.ListenerRegistration;
+
+/**
+ * Registration of data tree listener.
+ *
+ * @param <L>
+ *            - {@link DataTreeListener} type
+ */
+@Beta
+public class BindingDataTreeListenerRegistration<L extends DataTreeListener>
+        extends AbstractListenerRegistration<L> {
+
+    private final ListenerRegistration<?> domReg;
+
+    public BindingDataTreeListenerRegistration(final L listener, final ListenerRegistration<?> domReg) {
+        super(listener);
+        this.domReg = Preconditions.checkNotNull(domReg);
+    }
+
+    @Override
+    protected void removeRegistration() {
+        domReg.close();
+    }
+}