X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=test-provider%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Ftest%2FOpenflowpluginMeterTestCommandProvider.java;h=2ca6c7a3d8b2ef542917568627dc40fe4d5b2312;hb=b4f4b4b702e2ccd8a7c62fd2a5c184c5b1cbe665;hp=7624d31894a74b44ce5a303b8a657337874d6815;hpb=7638770ff950fd0e62e625e778bda3007a021a23;p=openflowplugin.git diff --git a/test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginMeterTestCommandProvider.java b/test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginMeterTestCommandProvider.java index 7624d31894..2ca6c7a3d8 100644 --- a/test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginMeterTestCommandProvider.java +++ b/test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginMeterTestCommandProvider.java @@ -1,15 +1,17 @@ -/** - * Copyright IBM Corporation, 2013. All rights reserved. +/* + * Copyright (c) 2013, 2015 IBM Corporation 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.openflowplugin.test; -import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.MoreExecutors; import java.util.ArrayList; import java.util.List; import org.eclipse.osgi.framework.console.CommandInterpreter; @@ -17,8 +19,6 @@ import org.eclipse.osgi.framework.console.CommandProvider; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; -import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext; import org.opendaylight.controller.sal.binding.api.NotificationService; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.meters.Meter; @@ -48,11 +48,11 @@ import org.osgi.framework.BundleContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@SuppressWarnings("checkstyle:MethodName") public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { private static final Logger LOG = LoggerFactory.getLogger(OpenflowpluginMeterTestCommandProvider.class); - private DataBroker dataBroker; - private ProviderContext pc; + private final DataBroker dataBroker; private final BundleContext ctx; private Meter testMeter; private Meter testMeter1; @@ -61,18 +61,18 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { private final String originalMeterName = "Foo"; private final String updatedMeterName = "Bar"; private final MeterEventListener meterEventListener = new MeterEventListener(); - private static NotificationService notificationService; + private final NotificationService notificationService; private Registration listener1Reg; - public OpenflowpluginMeterTestCommandProvider(BundleContext ctx) { + public OpenflowpluginMeterTestCommandProvider(DataBroker dataBroker, NotificationService notificationService, + BundleContext ctx) { + this.dataBroker = dataBroker; + this.notificationService = notificationService; this.ctx = ctx; } - public void onSessionInitiated(ProviderContext session) { - pc = session; - dataBroker = session.getSALService(DataBroker.class); + public void init() { ctx.registerService(CommandProvider.class.getName(), this, null); - notificationService = session.getSALService(NotificationService.class); // For switch events listener1Reg = notificationService.registerNotificationListener(meterEventListener); @@ -83,42 +83,39 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { private void createUserNode(String nodeRef) { NodeBuilder builder = new NodeBuilder(); builder.setId(new NodeId(nodeRef)); - builder.setKey(new NodeKey(builder.getId())); + builder.withKey(new NodeKey(builder.getId())); testNode = builder.build(); } private void createTestNode() { NodeBuilder builder = new NodeBuilder(); builder.setId(new NodeId(OpenflowpluginTestActivator.NODE_ID)); - builder.setKey(new NodeKey(builder.getId())); + builder.withKey(new NodeKey(builder.getId())); testNode = builder.build(); } private InstanceIdentifier nodeToInstanceId(Node node) { - return InstanceIdentifier.create(Nodes.class).child(Node.class, node.getKey()); + return InstanceIdentifier.create(Nodes.class).child(Node.class, node.key()); } - final class MeterEventListener implements SalMeterListener { + private static final class MeterEventListener implements SalMeterListener { @Override public void onMeterAdded(MeterAdded notification) { - LOG.info("Meter to be added.........................." + notification.toString()); - LOG.info("Meter Xid........................." + notification.getTransactionId().getValue()); - LOG.info("-----------------------------------------------------------------------------------"); + LOG.info("Meter to be added {}", notification.toString()); + LOG.info("Meter Xid {}", notification.getTransactionId().getValue()); } @Override public void onMeterRemoved(MeterRemoved notification) { - LOG.info("Meter to be removed.........................." + notification.toString()); - LOG.info("Meter Xid........................." + notification.getTransactionId().getValue()); - LOG.info("-----------------------------------------------------------------------------------"); + LOG.info("Meter to be removed {}", notification.toString()); + LOG.info("Meter Xid {}", notification.getTransactionId().getValue()); } @Override public void onMeterUpdated(MeterUpdated notification) { - LOG.info("Meter to be updated.........................." + notification.toString()); - LOG.info("Meter Xid........................." + notification.getTransactionId().getValue()); - LOG.info("-----------------------------------------------------------------------------------"); + LOG.info("Meter to be updated {}", notification.toString()); + LOG.info("Meter Xid {}", notification.getTransactionId().getValue()); } } @@ -130,12 +127,10 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { MeterKey key = new MeterKey(new MeterId(id)); MeterBuilder meter = new MeterBuilder(); meter.setContainerName("abcd"); - meter.setKey(key); + meter.withKey(key); meter.setMeterId(new MeterId(9L)); meter.setMeterName(originalMeterName); meter.setFlags(new MeterFlags(true, false, false, false)); - MeterBandHeadersBuilder bandHeaders = new MeterBandHeadersBuilder(); - List bandHdr = new ArrayList(); MeterBandHeaderBuilder bandHeader = new MeterBandHeaderBuilder(); bandHeader.setBandRate((long) 234); bandHeader.setBandBurstSize((long) 444); @@ -149,7 +144,11 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { bandTypes.setFlags(bandType); bandHeader.setMeterBandTypes(bandTypes.build()); bandHeader.setBandId(new BandId(0L)); + + List bandHdr = new ArrayList<>(); bandHdr.add(bandHeader.build()); + + MeterBandHeadersBuilder bandHeaders = new MeterBandHeadersBuilder(); bandHeaders.setMeterBandHeader(bandHdr); meter.setMeterBandHeaders(bandHeaders.build()); @@ -163,7 +162,7 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { MeterKey key = new MeterKey(new MeterId(id)); MeterBuilder meter = new MeterBuilder(); meter.setContainerName("abcd"); - meter.setKey(key); + meter.withKey(key); meter.setMeterId(new MeterId(9L)); MeterBandHeaderBuilder bandHeader = new MeterBandHeaderBuilder(); if (s2.equalsIgnoreCase("modify")) { @@ -174,8 +173,6 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { bandHeader.setBandRate((long) 123); } meter.setFlags(new MeterFlags(true, false, false, false)); - MeterBandHeadersBuilder bandHeaders = new MeterBandHeadersBuilder(); - List bandHdr = new ArrayList(); bandHeader.setBandBurstSize((long) 444); DscpRemarkBuilder dscpRemark = new DscpRemarkBuilder(); @@ -188,7 +185,11 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { bandTypes.setFlags(bandType); bandHeader.setMeterBandTypes(bandTypes.build()); bandHeader.setBandId(new BandId(0L)); + + List bandHdr = new ArrayList<>(); bandHdr.add(bandHeader.build()); + + MeterBandHeadersBuilder bandHeaders = new MeterBandHeadersBuilder(); bandHeaders.setMeterBandHeader(bandHdr); meter.setMeterBandHeaders(bandHeaders.build()); @@ -223,15 +224,15 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { ci.println("User node added" + nref); createUserNode(nref); } - MeterBuilder mBuilder = createTestMeter(); + createTestMeter(); ReadWriteTransaction modification = dataBroker.newReadWriteTransaction(); - InstanceIdentifier path1 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode.getKey()) + InstanceIdentifier path1 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode.key()) .augmentation(FlowCapableNode.class).child(Meter.class, new MeterKey(testMeter.getMeterId())); modification.delete(LogicalDatastoreType.CONFIGURATION, path1); - CheckedFuture commitFuture = modification.submit(); + ListenableFuture commitFuture = modification.submit(); Futures.addCallback(commitFuture, new FutureCallback() { @Override - public void onSuccess(Void aVoid) { + public void onSuccess(Void notUsed) { ci.println("Status of Group Data Loaded Transaction: success."); } @@ -239,7 +240,7 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { public void onFailure(Throwable throwable) { ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable)); } - }); + }, MoreExecutors.directExecutor()); } public void _removeMeters(final CommandInterpreter ci) { @@ -258,61 +259,62 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { ReadWriteTransaction modification = dataBroker.newReadWriteTransaction(); switch (count) { case 1: - MeterBuilder mBuilder = createTestMeters("1", "remove"); + createTestMeters("1", "remove"); InstanceIdentifier path1 = InstanceIdentifier.create(Nodes.class) - .child(Node.class, testNode.getKey()).augmentation(FlowCapableNode.class) + .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class) .child(Meter.class, new MeterKey(testMeter1.getMeterId())); modification.delete(LogicalDatastoreType.CONFIGURATION, path1); - MeterBuilder mBuilder1 = createTestMeters("2", "remove"); + createTestMeters("2", "remove"); InstanceIdentifier path2 = InstanceIdentifier.create(Nodes.class) - .child(Node.class, testNode.getKey()).augmentation(FlowCapableNode.class) + .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class) .child(Meter.class, new MeterKey(testMeter2.getMeterId())); modification.delete(LogicalDatastoreType.CONFIGURATION, path2); break; case 2: - MeterBuilder mBuilder2 = createTestMeters("3", "remove"); + createTestMeters("3", "remove"); InstanceIdentifier path3 = InstanceIdentifier.create(Nodes.class) - .child(Node.class, testNode.getKey()).augmentation(FlowCapableNode.class) + .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class) .child(Meter.class, new MeterKey(testMeter1.getMeterId())); modification.delete(LogicalDatastoreType.CONFIGURATION, path3); - MeterBuilder mBuilder22 = createTestMeters("4", "remove"); + createTestMeters("4", "remove"); InstanceIdentifier path4 = InstanceIdentifier.create(Nodes.class) - .child(Node.class, testNode.getKey()).augmentation(FlowCapableNode.class) + .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class) .child(Meter.class, new MeterKey(testMeter2.getMeterId())); modification.delete(LogicalDatastoreType.CONFIGURATION, path4); break; case 3: - MeterBuilder mBuilder3 = createTestMeters("5", "remove"); + createTestMeters("5", "remove"); InstanceIdentifier path5 = InstanceIdentifier.create(Nodes.class) - .child(Node.class, testNode.getKey()).augmentation(FlowCapableNode.class) + .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class) .child(Meter.class, new MeterKey(testMeter1.getMeterId())); modification.delete(LogicalDatastoreType.CONFIGURATION, path5); - MeterBuilder mBuilder4 = createTestMeters("6", "remove"); + createTestMeters("6", "remove"); InstanceIdentifier path6 = InstanceIdentifier.create(Nodes.class) - .child(Node.class, testNode.getKey()).augmentation(FlowCapableNode.class) + .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class) .child(Meter.class, new MeterKey(testMeter2.getMeterId())); modification.delete(LogicalDatastoreType.CONFIGURATION, path6); break; case 4: - MeterBuilder mBuilder5 = createTestMeters("7", "remove"); + createTestMeters("7", "remove"); InstanceIdentifier path7 = InstanceIdentifier.create(Nodes.class) - .child(Node.class, testNode.getKey()).augmentation(FlowCapableNode.class) + .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class) .child(Meter.class, new MeterKey(testMeter1.getMeterId())); modification.delete(LogicalDatastoreType.CONFIGURATION, path7); - MeterBuilder mBuilder6 = createTestMeters("8", "remove"); + createTestMeters("8", "remove"); InstanceIdentifier path8 = InstanceIdentifier.create(Nodes.class) - .child(Node.class, testNode.getKey()).augmentation(FlowCapableNode.class) + .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class) .child(Meter.class, new MeterKey(testMeter2.getMeterId())); modification.delete(LogicalDatastoreType.CONFIGURATION, path8); break; - + default: + break; } - CheckedFuture commitFuture = modification.submit(); + ListenableFuture commitFuture = modification.submit(); Futures.addCallback(commitFuture, new FutureCallback() { @Override - public void onSuccess(Void aVoid) { + public void onSuccess(Void notUsed) { ci.println("Status of Group Data Loaded Transaction: success."); } @@ -320,7 +322,7 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { public void onFailure(Throwable throwable) { ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable)); } - }); + }, MoreExecutors.directExecutor()); } public void _addMeter(CommandInterpreter ci) { @@ -369,7 +371,8 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { createTestMeters("8", "add"); writeMeter(ci, testMeter1, testMeter2); break; - + default: + break; } // createTestMeters(); // writeMeter(ci, testMeter); @@ -377,14 +380,14 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { private void writeMeter(final CommandInterpreter ci, Meter meter) { ReadWriteTransaction modification = dataBroker.newReadWriteTransaction(); - InstanceIdentifier path1 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode.getKey()) + InstanceIdentifier path1 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode.key()) .augmentation(FlowCapableNode.class).child(Meter.class, new MeterKey(meter.getMeterId())); modification.merge(LogicalDatastoreType.CONFIGURATION, nodeToInstanceId(testNode), testNode, true); modification.merge(LogicalDatastoreType.CONFIGURATION, path1, meter, true); - CheckedFuture commitFuture = modification.submit(); + ListenableFuture commitFuture = modification.submit(); Futures.addCallback(commitFuture, new FutureCallback() { @Override - public void onSuccess(Void aVoid) { + public void onSuccess(Void notUsed) { ci.println("Status of Group Data Loaded Transaction: success."); } @@ -392,24 +395,24 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { public void onFailure(Throwable throwable) { ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable)); } - }); + }, MoreExecutors.directExecutor()); } private void writeMeter(final CommandInterpreter ci, Meter meter, Meter meter1) { ReadWriteTransaction modification = dataBroker.newReadWriteTransaction(); - InstanceIdentifier path1 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode.getKey()) + InstanceIdentifier path1 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode.key()) .augmentation(FlowCapableNode.class).child(Meter.class, new MeterKey(meter.getMeterId())); modification.merge(LogicalDatastoreType.CONFIGURATION, nodeToInstanceId(testNode), testNode, true); modification.merge(LogicalDatastoreType.CONFIGURATION, path1, meter, true); - InstanceIdentifier path2 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode.getKey()) + InstanceIdentifier path2 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode.key()) .augmentation(FlowCapableNode.class).child(Meter.class, new MeterKey(meter1.getMeterId())); modification.merge(LogicalDatastoreType.CONFIGURATION, nodeToInstanceId(testNode), testNode, true); modification.merge(LogicalDatastoreType.CONFIGURATION, path2, meter1, true); - CheckedFuture commitFuture = modification.submit(); + ListenableFuture commitFuture = modification.submit(); Futures.addCallback(commitFuture, new FutureCallback() { @Override - public void onSuccess(Void aVoid) { + public void onSuccess(Void notUsed) { ci.println("Status of Group Data Loaded Transaction: success."); } @@ -417,7 +420,7 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { public void onFailure(Throwable throwable) { ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable)); } - }); + }, MoreExecutors.directExecutor()); } public void _modifyMeter(CommandInterpreter ci) { @@ -460,12 +463,14 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider { createTestMeters("4", "modify"); writeMeter(ci, testMeter1, testMeter2); break; + default: + break; } } @Override public String getHelp() { - StringBuffer help = new StringBuffer(); + StringBuilder help = new StringBuilder(); help.append("---FRM MD-SAL Meter test module---\n"); help.append("\t addMeter - node ref\n"); help.append("\t modifyMeter - node ref\n");