+
+ Integer count = Integer.parseInt(ci.nextArgument());
+
+ ReadWriteTransaction modification = dataBroker.newReadWriteTransaction();
+ switch (count) {
+ case 1:
+ createTestMeters("1", "remove");
+ InstanceIdentifier<Meter> path1 = InstanceIdentifier.create(Nodes.class)
+ .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class)
+ .child(Meter.class, new MeterKey(testMeter1.getMeterId()));
+ modification.delete(LogicalDatastoreType.CONFIGURATION, path1);
+ createTestMeters("2", "remove");
+ InstanceIdentifier<Meter> path2 = InstanceIdentifier.create(Nodes.class)
+ .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class)
+ .child(Meter.class, new MeterKey(testMeter2.getMeterId()));
+ modification.delete(LogicalDatastoreType.CONFIGURATION, path2);
+
+ break;
+ case 2:
+ createTestMeters("3", "remove");
+ InstanceIdentifier<Meter> path3 = InstanceIdentifier.create(Nodes.class)
+ .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class)
+ .child(Meter.class, new MeterKey(testMeter1.getMeterId()));
+ modification.delete(LogicalDatastoreType.CONFIGURATION, path3);
+ createTestMeters("4", "remove");
+ InstanceIdentifier<Meter> path4 = InstanceIdentifier.create(Nodes.class)
+ .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class)
+ .child(Meter.class, new MeterKey(testMeter2.getMeterId()));
+ modification.delete(LogicalDatastoreType.CONFIGURATION, path4);
+ break;
+ case 3:
+ createTestMeters("5", "remove");
+ InstanceIdentifier<Meter> path5 = InstanceIdentifier.create(Nodes.class)
+ .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class)
+ .child(Meter.class, new MeterKey(testMeter1.getMeterId()));
+ modification.delete(LogicalDatastoreType.CONFIGURATION, path5);
+ createTestMeters("6", "remove");
+ InstanceIdentifier<Meter> path6 = InstanceIdentifier.create(Nodes.class)
+ .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class)
+ .child(Meter.class, new MeterKey(testMeter2.getMeterId()));
+ modification.delete(LogicalDatastoreType.CONFIGURATION, path6);
+ break;
+ case 4:
+ createTestMeters("7", "remove");
+ InstanceIdentifier<Meter> path7 = InstanceIdentifier.create(Nodes.class)
+ .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class)
+ .child(Meter.class, new MeterKey(testMeter1.getMeterId()));
+ modification.delete(LogicalDatastoreType.CONFIGURATION, path7);
+ createTestMeters("8", "remove");
+ InstanceIdentifier<Meter> path8 = InstanceIdentifier.create(Nodes.class)
+ .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class)
+ .child(Meter.class, new MeterKey(testMeter2.getMeterId()));
+ modification.delete(LogicalDatastoreType.CONFIGURATION, path8);
+ break;
+ default:
+ break;
+ }
+
+ ListenableFuture<Void> commitFuture = modification.submit();
+ Futures.addCallback(commitFuture, new FutureCallback<Void>() {
+ @Override
+ public void onSuccess(Void notUsed) {
+ ci.println("Status of Group Data Loaded Transaction: success.");
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable));
+ }
+ }, MoreExecutors.directExecutor());