From fcc0a7302d387b13a7f033f92580f31bf4a267ed Mon Sep 17 00:00:00 2001 From: melserngawy Date: Wed, 10 Feb 2016 13:40:54 -0500 Subject: [PATCH] fix add and update commands Change-Id: I73c68be97d8b763f674f7734f3fe7dc063f52f82 Signed-off-by: melserngawy (cherry picked from commit 4289604e12e398c0c52dc8bb5658184b27074a71) --- .../unimgr/cli/EvcAddShellCommand.java | 40 ++------- .../unimgr/cli/UniAddShellCommand.java | 31 +------ .../unimgr/cli/UniUpdateShellCommand.java | 82 +++++++------------ .../org/opendaylight/unimgr/cli/Utils.java | 45 ++++++++++ .../unimgr/cli/EvcAddShellCommandTest.java | 60 +------------- .../unimgr/cli/UniAddShellCommandTest.java | 56 ++----------- .../opendaylight/unimgr/cli/UtilsTest.java | 52 ++++++++++++ .../unimgr/impl/UnimgrProvider.java | 9 +- 8 files changed, 153 insertions(+), 222 deletions(-) create mode 100644 cli/src/main/java/org/opendaylight/unimgr/cli/Utils.java create mode 100644 cli/src/test/java/org/opendaylight/unimgr/cli/UtilsTest.java diff --git a/cli/src/main/java/org/opendaylight/unimgr/cli/EvcAddShellCommand.java b/cli/src/main/java/org/opendaylight/unimgr/cli/EvcAddShellCommand.java index 84107cec..62aab62f 100644 --- a/cli/src/main/java/org/opendaylight/unimgr/cli/EvcAddShellCommand.java +++ b/cli/src/main/java/org/opendaylight/unimgr/cli/EvcAddShellCommand.java @@ -8,12 +8,10 @@ package org.opendaylight.unimgr.cli; - import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.ListIterator; - import org.apache.karaf.shell.commands.Command; import org.apache.karaf.shell.commands.Option; import org.apache.karaf.shell.console.OsgiCommandSupport; @@ -22,19 +20,14 @@ import org.opendaylight.unimgr.impl.UnimgrConstants; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.EvcAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.EvcAugmentationBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.UniAugmentation; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.EgressBw; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.IngressBw; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.EgressBwBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.IngressBwBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniDest; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniDestBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniDestKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniSource; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniSourceBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniSourceKey; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.service.speed.speed.Speed100MBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.service.speed.speed.Speed10GBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.service.speed.speed.Speed10MBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.service.speed.speed.Speed1GBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -65,32 +58,15 @@ public class EvcAddShellCommand extends OsgiCommandSupport { aliases = { "--egress-speed" }, description = "egress speed.\n-s / --speed 10M/100M/1G/10G", required = false, - multiValued = true) - private String egress = ""; + multiValued = false) + private String egress = "1G"; @Option(name = "-ingress", aliases = { "--ingress-speed" }, description = "ingress speed.\n-s / --speed 10M/100M/1G/10G", required = false, - multiValued = true) - private String ingress = ""; - - private Object getSpeed(String speed) { - Object speedObject = null; - if (speed.equals("10M")) { - speedObject = new Speed10MBuilder().build(); - } - else if (speed.equals("100M")) { - speedObject = new Speed100MBuilder().build(); - } - else if (speed.equals("1G")) { - speedObject = new Speed1GBuilder().build(); - } - else if (speed.equals("10G")) { - speedObject = new Speed10GBuilder().build(); - } - return speedObject; - } + multiValued = false) + private String ingress = "1G"; public EvcAddShellCommand(IUnimgrConsoleProvider provider) { this.provider = provider; @@ -117,8 +93,8 @@ public class EvcAddShellCommand extends OsgiCommandSupport { uniDestList.add(uniDest); EvcAugmentation evcAug = new EvcAugmentationBuilder() .setCosId(UnimgrConstants.EVC_PREFIX + 1) - .setEgressBw((EgressBw) getSpeed(egress)) - .setIngressBw((IngressBw) getSpeed(ingress)) + .setEgressBw(new EgressBwBuilder().setSpeed(Utils.getSpeed(egress)).build()) + .setIngressBw(new IngressBwBuilder().setSpeed(Utils.getSpeed(ingress)).build()) .setUniDest(uniDestList) .setUniSource(uniSourceList) .build(); diff --git a/cli/src/main/java/org/opendaylight/unimgr/cli/UniAddShellCommand.java b/cli/src/main/java/org/opendaylight/unimgr/cli/UniAddShellCommand.java index 8de1a775..3b225138 100755 --- a/cli/src/main/java/org/opendaylight/unimgr/cli/UniAddShellCommand.java +++ b/cli/src/main/java/org/opendaylight/unimgr/cli/UniAddShellCommand.java @@ -8,7 +8,6 @@ package org.opendaylight.unimgr.cli; import java.math.BigInteger; - import org.apache.karaf.shell.commands.Command; import org.apache.karaf.shell.commands.Option; import org.apache.karaf.shell.console.OsgiCommandSupport; @@ -17,11 +16,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types. import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.UniAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.UniAugmentationBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.service.speed.speed.Speed100MBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.service.speed.speed.Speed10GBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.service.speed.speed.Speed10MBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.service.speed.speed.Speed1GBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.uni.Speed; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.uni.SpeedBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -79,8 +74,8 @@ public class UniAddShellCommand extends OsgiCommandSupport { aliases = { "--speed" }, description = "Spped.\n-s / --speed 10M/100M/1G/10G", required = false, - multiValued = true) - private String speed = ""; + multiValued = false) + private String speed = "1G"; @Option(name = "-ip", aliases = { "--ipAddress" }, @@ -93,23 +88,6 @@ public class UniAddShellCommand extends OsgiCommandSupport { this.provider = provider; } - private Object getSpeed() { - Object speedObject = null; - if (speed.equals("10M")) { - speedObject = new Speed10MBuilder().build(); - } - else if (speed.equals("100M")) { - speedObject = new Speed100MBuilder().build(); - } - else if (speed.equals("1G")) { - speedObject = new Speed1GBuilder().build(); - } - else if (speed.equals("10G")) { - speedObject = new Speed10GBuilder().build(); - } - return speedObject; - } - @Override protected Object doExecute() throws Exception { UniAugmentation uni = new UniAugmentationBuilder() @@ -118,11 +96,10 @@ public class UniAddShellCommand extends OsgiCommandSupport { .setMode(mode) .setMtuSize(BigInteger.valueOf(Long.valueOf(mtuSize))) .setPhysicalMedium(physicalMedium) - .setSpeed((Speed) getSpeed()) + .setSpeed(new SpeedBuilder().setSpeed(Utils.getSpeed(speed)).build()) .setType(type) .setIpAddress(new IpAddress(ipAddress.toCharArray())) .build(); - if (provider.addUni(uni)) { return new String("Uni with ip " +ipAddress+" created"); } else { diff --git a/cli/src/main/java/org/opendaylight/unimgr/cli/UniUpdateShellCommand.java b/cli/src/main/java/org/opendaylight/unimgr/cli/UniUpdateShellCommand.java index 4618080e..e4985850 100644 --- a/cli/src/main/java/org/opendaylight/unimgr/cli/UniUpdateShellCommand.java +++ b/cli/src/main/java/org/opendaylight/unimgr/cli/UniUpdateShellCommand.java @@ -8,7 +8,6 @@ package org.opendaylight.unimgr.cli; import java.math.BigInteger; - import org.apache.karaf.shell.commands.Command; import org.apache.karaf.shell.commands.Option; import org.apache.karaf.shell.console.OsgiCommandSupport; @@ -17,95 +16,74 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types. import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.UniAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.UniAugmentationBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.service.speed.speed.Speed100MBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.service.speed.speed.Speed10GBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.service.speed.speed.Speed10MBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.service.speed.speed.Speed1GBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.uni.Speed; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.uni.SpeedBuilder; @Command(name = "uni-update", scope = "uni", description = "Updates an uni to the controller.") public class UniUpdateShellCommand extends OsgiCommandSupport{ - protected IUnimgrConsoleProvider provider; - - @Option(name = "-pm", - aliases = { "--physical-medium" }, - description = "The physical medium.\n-pm / --physical-medium ", - required = false, + @Option(name = "-ip", + aliases = { "--ipAddress" }, + description = "IpAddress of the Uni", + required = true, multiValued = false) - private final String physicalMedium = "UNI TypeFull Duplex 2 Physical Interface"; + private String ipAddress = "any"; @Option(name = "-ma", aliases = { "--mac-address" }, description = "The mac address.\n-ma / --mac-address ", required = true, multiValued = false) - private final String macAddress = "any"; - - @Option(name = "-m", - aliases = { "--mode" }, - description = "The mode.\n-m / --mode ", - required = false, - multiValued = false) - private final String mode = "Full Duplex"; + private String macAddress = "any"; @Option(name = "-ml", aliases = { "--mac-layer" }, description = "The mac layer.\n-ml / --mac-layer uniIID = UnimgrMapper.getUniIid(dataBroker, uni.getIpAddress(), LogicalDatastoreType.OPERATIONAL); @@ -210,8 +210,9 @@ public class UnimgrProvider implements BindingAwareProvider, AutoCloseable, IUni ovsdbNode = optionalOvsdbNode.get(); } UnimgrUtils.deleteNode(dataBroker, uniIID, LogicalDatastoreType.OPERATIONAL); - return UnimgrUtils.updateUniNode(LogicalDatastoreType.OPERATIONAL, uniIID, - uni, ovsdbNode, dataBroker); + return (UnimgrUtils.updateUniNode(LogicalDatastoreType.CONFIGURATION, uniIID, + uni, ovsdbNode, dataBroker) && UnimgrUtils.updateUniNode(LogicalDatastoreType.OPERATIONAL, uniIID, + uni, ovsdbNode, dataBroker)); } return false; } -- 2.36.6