From d9dc01189efbaa78c4a4641a67b65d976f9c8a9a Mon Sep 17 00:00:00 2001 From: Martin Bobak Date: Thu, 31 Jul 2014 13:58:47 +0200 Subject: [PATCH] Bug 1458 - Migrate to next MD-SAL dataStore API - drop-test usage of classes originating from deprecated org.opendaylight.controller.sal.binding.api.data and org.opendaylight.controller.sal.core.api.data replaced by classes originating from org.opendaylight.controller.md.sal.binding.api Change-Id: Id636a4d133484a7524aee24bf40292bb86d6f60c Signed-off-by: Martin Bobak --- .../droptest/DropTestActivator.java | 7 ++- .../droptest/DropTestCommandProvider.java | 56 +++++++++---------- .../droptest/DropTestCommiter.java | 13 ++--- .../droptest/DropTestProvider.java | 17 +++--- .../outputtest/OutputTestUtil.java | 54 +++++++++--------- 5 files changed, 73 insertions(+), 74 deletions(-) diff --git a/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestActivator.java b/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestActivator.java index 2bc4caadd2..04c33fb932 100644 --- a/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestActivator.java +++ b/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestActivator.java @@ -7,10 +7,10 @@ */ package org.opendaylight.openflowplugin.droptest; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.sal.binding.api.AbstractBindingAwareProvider; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext; import org.opendaylight.controller.sal.binding.api.NotificationProviderService; -import org.opendaylight.controller.sal.binding.api.data.DataProviderService; import org.opendaylight.openflowplugin.outputtest.OutputTestCommandProvider; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService; import org.osgi.framework.BundleContext; @@ -29,9 +29,10 @@ public class DropTestActivator extends AbstractBindingAwareProvider { private static OutputTestCommandProvider outCmdProvider; + public void onSessionInitiated(final ProviderContext session) { LOG.debug("Activator DropAllPack INIT"); - provider.setDataService(session.getSALService(DataProviderService.class)); + provider.setDataService(session.getSALService(DataBroker.class)); provider.setNotificationService(session.getSALService(NotificationProviderService.class)); @@ -48,7 +49,7 @@ public class DropTestActivator extends AbstractBindingAwareProvider { public void startImpl(final BundleContext ctx) { super.startImpl(ctx); // LOG.debug("------------------------------------- DROP ALL PACK TEST INITIATED ------------------------ ") - cmdProvider = new DropTestCommandProvider(ctx, provider, rpcProvider);; + cmdProvider = new DropTestCommandProvider(ctx, provider, rpcProvider); outCmdProvider = new OutputTestCommandProvider(ctx); } diff --git a/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestCommandProvider.java b/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestCommandProvider.java index e2ad9e2ea1..07f8fcb5cc 100644 --- a/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestCommandProvider.java +++ b/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestCommandProvider.java @@ -10,13 +10,13 @@ package org.opendaylight.openflowplugin.droptest; import org.eclipse.osgi.framework.console.CommandInterpreter; import org.eclipse.osgi.framework.console.CommandProvider; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext; -import org.opendaylight.controller.sal.binding.api.data.DataBrokerService; import org.osgi.framework.BundleContext; public class DropTestCommandProvider implements CommandProvider { - private DataBrokerService dataBrokerService; + private DataBroker dataBroker; private ProviderContext pc; private BundleContext ctx; private DropTestProvider provider; @@ -25,7 +25,7 @@ public class DropTestCommandProvider implements CommandProvider { private boolean sessionInitiated = false; - public DropTestCommandProvider(BundleContext ctx,DropTestProvider provider,DropTestRpcProvider rpcProvider) { + public DropTestCommandProvider(BundleContext ctx, DropTestProvider provider, DropTestRpcProvider rpcProvider) { this.ctx = ctx; this.provider = provider; this.rpcProvider = rpcProvider; @@ -33,17 +33,17 @@ public class DropTestCommandProvider implements CommandProvider { public void onSessionInitiated(ProviderContext session) { pc = session; - dataBrokerService = session.getSALService(DataBrokerService.class); + dataBroker = session.getSALService(DataBroker.class); ctx.registerService(CommandProvider.class.getName(), this, null); this.sessionInitiated = true; } public void _dropAllPackets(CommandInterpreter ci) { - if(sessionInitiated) { + if (sessionInitiated) { String onoff = ci.nextArgument(); - if(onoff.equals("on")) { - if(on == false) { + if (onoff.equals("on")) { + if (on == false) { provider.start(); ci.println("DropAllFlows transitions to on"); } else { @@ -51,7 +51,7 @@ public class DropTestCommandProvider implements CommandProvider { } on = true; } else if (onoff.equals("off")) { - if(on == true) { + if (on == true) { provider.close(); ci.println("DropAllFlows transitions to off"); } else { @@ -65,10 +65,10 @@ public class DropTestCommandProvider implements CommandProvider { } public void _dropAllPacketsRpc(CommandInterpreter ci) { - if(sessionInitiated) { + if (sessionInitiated) { String onoff = ci.nextArgument(); - if(onoff.equals("on")) { - if(on == false) { + if (onoff.equals("on")) { + if (on == false) { rpcProvider.start(); ci.println("DropAllFlows transitions to on"); } else { @@ -76,7 +76,7 @@ public class DropTestCommandProvider implements CommandProvider { } on = true; } else if (onoff.equals("off")) { - if(on == true) { + if (on == true) { rpcProvider.close(); ci.println("DropAllFlows transitions to off"); } else { @@ -88,28 +88,28 @@ public class DropTestCommandProvider implements CommandProvider { ci.println("Session not initiated, try again in a few seconds"); } } - + public void _showDropStats(CommandInterpreter ci) { - if(sessionInitiated) { - ci.println("RPC Test Statistics: " + this.rpcProvider.getStats().toString()); - ci.println("FRM Test Statistics: " + this.provider.getStats().toString()); - } else { - ci.println("Session not initiated, try again in a few seconds"); + if (sessionInitiated) { + ci.println("RPC Test Statistics: " + this.rpcProvider.getStats().toString()); + ci.println("FRM Test Statistics: " + this.provider.getStats().toString()); + } else { + ci.println("Session not initiated, try again in a few seconds"); } - } - + } + public void _clearDropStats(CommandInterpreter ci) { - if(sessionInitiated) { - ci.print("Clearing drop statistics... "); - this.rpcProvider.clearStats(); - this.provider.clearStats(); - ci.println("Done."); + if (sessionInitiated) { + ci.print("Clearing drop statistics... "); + this.rpcProvider.clearStats(); + this.provider.clearStats(); + ci.println("Done."); } else { - ci.println("Session not initiated, try again in a few seconds"); + ci.println("Session not initiated, try again in a few seconds"); } - } - + } + @Override public String getHelp() { StringBuffer help = new StringBuffer(); diff --git a/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestCommiter.java b/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestCommiter.java index a45b9b5204..b082ef3a4f 100644 --- a/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestCommiter.java +++ b/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestCommiter.java @@ -7,9 +7,10 @@ */ package org.opendaylight.openflowplugin.droptest; +import com.google.common.base.Preconditions; import java.math.BigInteger; - -import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction; +import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowId; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table; @@ -28,8 +29,6 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Preconditions; - public class DropTestCommiter extends AbstractDropTest { private final static Logger LOG = LoggerFactory.getLogger(DropTestProvider.class); @@ -77,11 +76,11 @@ public class DropTestCommiter extends AbstractDropTest { .build(); final Flow flow = fb.build(); - final DataModificationTransaction transaction = manager.getDataService().beginTransaction(); + final ReadWriteTransaction transaction = manager.getDataService().newReadWriteTransaction(); LOG.debug("onPacketReceived - About to write flow {}", flow); - transaction.putConfigurationData(flowInstanceId, flow); - transaction.commit(); + transaction.put(LogicalDatastoreType.CONFIGURATION, flowInstanceId, flow); + transaction.submit(); LOG.debug("onPacketReceived - About to write flow commited"); } } diff --git a/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestProvider.java b/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestProvider.java index 64f29c8cd3..4e7bc4dbe9 100644 --- a/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestProvider.java +++ b/drop-test/src/main/java/org/opendaylight/openflowplugin/droptest/DropTestProvider.java @@ -7,10 +7,9 @@ */ package org.opendaylight.openflowplugin.droptest; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.sal.binding.api.NotificationProviderService; -import org.opendaylight.controller.sal.binding.api.data.DataProviderService; import org.opendaylight.yangtools.concepts.Registration; -import org.opendaylight.yangtools.yang.binding.NotificationListener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -18,24 +17,24 @@ import org.slf4j.LoggerFactory; public class DropTestProvider implements AutoCloseable { private final static Logger LOG = LoggerFactory.getLogger(DropTestProvider.class); - private DataProviderService _dataService; + private DataBroker _dataService; private NotificationProviderService _notificationService; private Registration listenerRegistration; private final DropTestCommiter commiter = new DropTestCommiter(this); public DropTestStats getStats() { - return this.commiter.getStats(); + return this.commiter.getStats(); } - + public void clearStats() { - this.commiter.clearStats(); + this.commiter.clearStats(); } - - public DataProviderService getDataService() { + + public DataBroker getDataService() { return this._dataService; } - public void setDataService(final DataProviderService dataService) { + public void setDataService(final DataBroker dataService) { this._dataService = dataService; } diff --git a/drop-test/src/main/java/org/opendaylight/openflowplugin/outputtest/OutputTestUtil.java b/drop-test/src/main/java/org/opendaylight/openflowplugin/outputtest/OutputTestUtil.java index 8a287a92ba..ebbda584ac 100644 --- a/drop-test/src/main/java/org/opendaylight/openflowplugin/outputtest/OutputTestUtil.java +++ b/drop-test/src/main/java/org/opendaylight/openflowplugin/outputtest/OutputTestUtil.java @@ -7,16 +7,17 @@ */ package org.opendaylight.openflowplugin.outputtest; +import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.util.concurrent.FutureCallback; +import com.google.common.util.concurrent.Futures; import java.math.BigInteger; import java.util.ArrayList; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Future; - import org.apache.commons.lang.ArrayUtils; -import org.opendaylight.controller.md.sal.common.api.TransactionStatus; +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.data.DataBrokerService; -import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Uri; import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.OutputActionCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.output.action._case.OutputActionBuilder; @@ -52,7 +53,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.N import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.TransmitPacketInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.TransmitPacketInputBuilder; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.common.RpcResult; public class OutputTestUtil { @@ -61,7 +61,7 @@ public class OutputTestUtil { } public static TransmitPacketInput buildTransmitInputPacket(final String nodeId, final byte[] packValue, - final String outPort, final String inPort) { + final String outPort, final String inPort) { ArrayList list = new ArrayList(40); byte[] msg = new String("sendOutputMsg_TEST").getBytes(); @@ -72,7 +72,7 @@ public class OutputTestUtil { } while (index < 8) { - list.add((byte)0); + list.add((byte) 0); index++; } NodeRef ref = createNodeRef(nodeId); @@ -98,8 +98,8 @@ public class OutputTestUtil { NodeBuilder nodeBuilder = createNodeBuilder(nodeId); FlowBuilder flowBuilder = createFlowBuilder(1235, null, "ping"); - DataBrokerService dataBrokerService = pc.getSALService(DataBrokerService.class); - DataModificationTransaction modif = dataBrokerService.beginTransaction(); + DataBroker dataBroker = pc.getSALService(DataBroker.class); + ReadWriteTransaction modif = dataBroker.newReadWriteTransaction(); InstanceIdentifier path = InstanceIdentifier.builder(Nodes.class) .child(Node.class, nodeBuilder.getKey()) @@ -108,21 +108,21 @@ public class OutputTestUtil { .child(Flow.class, flowBuilder.getKey()) .build(); - modif.putConfigurationData(path, flowBuilder.build()); - Future> commitFuture = modif.commit(); - - try { - RpcResult resutl = commitFuture.get(); - TransactionStatus status = resutl.getResult(); - return "Status of Flow Data Loaded Transaction: " + status; - - } catch (InterruptedException e) { - e.printStackTrace(); - return e.getClass().getName(); - } catch (ExecutionException e) { - e.printStackTrace(); - return e.getClass().getName(); - } + modif.put(LogicalDatastoreType.CONFIGURATION, path, flowBuilder.build()); + CheckedFuture commitFuture = modif.submit(); + final StringBuffer aggregator = new StringBuffer(); + Futures.addCallback(commitFuture, new FutureCallback() { + @Override + public void onSuccess(Void aVoid) { + aggregator.append("Status of Flow Data Loaded Transaction: succes "); + } + + @Override + public void onFailure(Throwable throwable) { + aggregator.append(throwable.getClass().getName()); + } + }); + return aggregator.toString(); } public static NodeRef createNodeRef(final String nodeId) { @@ -186,7 +186,7 @@ public class OutputTestUtil { private static InstructionsBuilder createPingInstructionsBuilder() { ArrayList aList = new ArrayList(); - ActionBuilder aBuild = new ActionBuilder(); + ActionBuilder aBuild = new ActionBuilder(); OutputActionBuilder output = new OutputActionBuilder(); output.setMaxLength(56); -- 2.36.6