*/
package org.opendaylight.openflowplugin.applications.bulk.o.matic;
-import com.google.common.base.Optional;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
+import java.util.Optional;
import java.util.Set;
+import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
+import org.opendaylight.infrautils.utils.concurrent.LoggingFutures;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.AddFlowInput;
Set<String> nodeIds = new HashSet<>();
InstanceIdentifier<Nodes> nodes = InstanceIdentifier.create(Nodes.class);
- ReadOnlyTransaction readOnlyTransaction = dataBroker.newReadOnlyTransaction();
- try {
- Optional<Nodes> nodesDataNode = readOnlyTransaction.read(LogicalDatastoreType.OPERATIONAL, nodes)
- .checkedGet();
+ try (ReadTransaction readOnlyTransaction = dataBroker.newReadOnlyTransaction()) {
+ Optional<Nodes> nodesDataNode = readOnlyTransaction.read(LogicalDatastoreType.OPERATIONAL, nodes).get();
if (nodesDataNode.isPresent()) {
List<Node> nodesCollection = nodesDataNode.get().getNode();
if (nodesCollection != null && !nodesCollection.isEmpty()) {
} else {
return Collections.emptySet();
}
- } catch (ReadFailedException rdFailedException) {
- LOG.error("Failed to read connected nodes {}", rdFailedException);
+ } catch (InterruptedException | ExecutionException e) {
+ LOG.error("Failed to read connected nodes", e);
}
return nodeIds;
}
AddFlowInput addFlowInput = builder.build();
- LOG.debug("RPC invocation for adding flow-id {} with input {}", flowId, addFlowInput.toString());
- flowService.addFlow(addFlowInput);
+ LOG.debug("RPC invocation for adding flow-id {} with input {}", flowId, addFlowInput);
+ LoggingFutures.addErrorLogging(flowService.addFlow(addFlowInput), LOG, "addFlow");
if (i % batchSize == 0) {
try {
TimeUnit.MILLISECONDS.sleep(PAUSE_BETWEEN_BATCH_MILLIS);
} catch (InterruptedException iEx) {
- LOG.error("Interrupted while pausing after batched push upto {}. Ex {}", i, iEx);
+ LOG.error("Interrupted while pausing after batched push upto {} Ex ", i, iEx);
}
}
}