Turn NetworkTransactionImpl into a component
[transportpce.git] / common / src / main / java / org / opendaylight / transportpce / common / network / NetworkTransactionImpl.java
index beb2a2f05c83baf94e4a706c14b413e3d160c72d..42132c96ebc8c8252987e642ce82377a56536ed0 100644 (file)
@@ -10,24 +10,28 @@ package org.opendaylight.transportpce.common.network;
 
 import com.google.common.util.concurrent.FluentFuture;
 import com.google.common.util.concurrent.ListenableFuture;
+import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.common.api.CommitInfo;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
 
+@Component
+public final class NetworkTransactionImpl implements NetworkTransactionService {
+    private final RequestProcessor requestProcessor;
 
-public class NetworkTransactionImpl implements NetworkTransactionService {
-
-    RequestProcessor requestProcessor;
-
-    public NetworkTransactionImpl(RequestProcessor requestProcessor) {
-        this.requestProcessor = requestProcessor;
-
+    @Activate
+    public NetworkTransactionImpl(@Reference DataBroker dataBroker) {
+        this.requestProcessor = new RequestProcessor(dataBroker);
     }
 
-    public <T extends DataObject> ListenableFuture<com.google.common.base.Optional<T>>
-        read(LogicalDatastoreType store, InstanceIdentifier<T> path) {
+    public <T extends DataObject> ListenableFuture<Optional<T>> read(LogicalDatastoreType store,
+            InstanceIdentifier<T> path) {
         return requestProcessor.read(store, path);
     }
 
@@ -38,11 +42,6 @@ public class NetworkTransactionImpl implements NetworkTransactionService {
     }
 
 
-    public <T extends DataObject> void put(LogicalDatastoreType store,
-        InstanceIdentifier<T> path, T data, boolean createMissingParents) {
-
-        requestProcessor.put(store, path, data, createMissingParents);
-    }
 
     @Override
     public <T extends DataObject> void put(LogicalDatastoreType store,
@@ -50,11 +49,6 @@ public class NetworkTransactionImpl implements NetworkTransactionService {
         requestProcessor.put(store, path, data);
     }
 
-    @Deprecated
-    public ListenableFuture<Void> submit() {
-        return requestProcessor.submit();
-    }
-
     public FluentFuture<? extends @NonNull CommitInfo> commit() {
         return requestProcessor.commit();
     }
@@ -70,10 +64,15 @@ public class NetworkTransactionImpl implements NetworkTransactionService {
         requestProcessor.merge(store, path, data);
     }
 
-    public <T extends DataObject> void merge(LogicalDatastoreType store,
-        InstanceIdentifier<T> path, T data, boolean createMissingParents) {
-
-        requestProcessor.merge(store, path, data, createMissingParents);
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.opendaylight.transportpce.common.network.NetworkTransactionService#getDataBroker()
+     */
+    @Override
+    public DataBroker getDataBroker() {
+        return requestProcessor.getDataBroker();
     }
 
+
 }