Fix of Lisp commands for DVR 34/62834/1
authorMichal Cmarada <mcmarada@cisco.com>
Thu, 7 Sep 2017 11:03:59 +0000 (13:03 +0200)
committerMichal Cmarada <mcmarada@cisco.com>
Thu, 7 Sep 2017 11:57:09 +0000 (13:57 +0200)
- Lisp commands didn`t implement toString methods, which was
causing empty Logs.
- fix for unnumbered interface command that was not used

Change-Id: Ie691bde8bd96f953f3519d48d67e236f38c557e3
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
38 files changed:
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/LoopbackCommandWrapper.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/UnnumberedInterfaceCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/AbstractLispCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/ConfigureGpeCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/ConfigureGpeEntryCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/ConfigureItrRemoteLocatorSetCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/ConfigureLispStatusCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/ConfigureLocalMappingInEidTableCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/ConfigureLocatorSetCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/ConfigureMapRegisterStatusCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/ConfigureMapResolverCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/ConfigureMapServerCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/ConfigureNativeForwardPathCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/ConfigureVrfToVniMappingCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/DeleteGpeFeatureDataCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/DeleteLispFeatureDataCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/DeleteNativeForwardPathsTablesDeleteCommand.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/EidDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/GbpGpeEntryDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/GpeEnableDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/HmacKeyDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/InterfaceDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/ItrRemoteLocatorSetDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/LispDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/LocalMappingDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/LocatorSetDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/MapRegisterDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/MapResolverDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/MapResolversDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/MapServerDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/MapServersDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/NativeForwardPathDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/VniTableDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/lisp/dom/VrfSubtableDom.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/lisp/LispStateCommandExecutor.java
renderers/vpp/src/main/java/org/opendaylight/groupbasedpolicy/renderer/vpp/lisp/loopback/LoopbackManager.java
renderers/vpp/src/test/java/org/opendaylight/groupbasedpolicy/renderer/vpp/VppRendererDataBrokerTest.java
renderers/vpp/src/test/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/UnnumberedInterfaceCommandTest.java [new file with mode: 0644]

index 5a023a77daa4e411d6e1a84e64689d429954d9cc..94c52614dcabd733c891a3d44fffa305cba64b5c 100644 (file)
@@ -12,9 +12,6 @@ import org.opendaylight.groupbasedpolicy.renderer.vpp.util.General;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
 
-/**
- * Created by Shakib Ahmed on 5/16/17.
- */
 public class LoopbackCommandWrapper {
 
     public static LoopbackCommand simpleLoopbackPutCommand(String interfaceName,
index b5fbda3565911dddad031255a88d27a066ee2340..d49e3d011122f45cc18aa2554811675d56124c4c 100644 (file)
@@ -14,35 +14,45 @@ import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.groupbasedpolicy.renderer.vpp.util.General;
 import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unnumbered.interfaces.rev170510.unnumbered.config.attributes.Unnumbered;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unnumbered.interfaces.rev170510.unnumbered.config.attributes.UnnumberedBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-/**
- * Created by Shakib Ahmed on 5/31/17.
- */
 public class UnnumberedInterfaceCommand extends AbstractConfigCommand {
-    private String interfaceUnnumberedFor;
-    private String interfaceUnnumberedWith;
+    private String useInterface;
+    private String interfaceName;
 
     public UnnumberedInterfaceCommand(UnnumberedInterfaceCommandBuilder builder) {
         this.operation = builder.getOperation();
-        this.interfaceUnnumberedFor = builder.getInterfaceUnnumberedFor();
-        this.interfaceUnnumberedWith = builder.getInterfaceUnnumberedWith();
+        this.useInterface = builder.getUseInterface();
+        this.interfaceName = builder.getInterfaceName();
+    }
+
+    public static UnnumberedInterfaceCommandBuilder builder() {
+        return new UnnumberedInterfaceCommandBuilder();
     }
 
     @Override
-    public InstanceIdentifier getIid() {
-        return VppIidFactory.getUnnumberedIid(new InterfaceKey(interfaceUnnumberedFor));
+    public InstanceIdentifier<Unnumbered> getIid() {
+        return VppIidFactory.getUnnumberedIid(new InterfaceKey(interfaceName));
+    }
+
+    public String getUseInterface() {
+        return useInterface;
+    }
+
+    public String getInterfaceName() {
+        return interfaceName;
     }
 
     @Override
     void put(ReadWriteTransaction rwTx) {
-        rwTx.put(LogicalDatastoreType.CONFIGURATION, getIid(), getUnnumberedBuilder().build());
+        rwTx.put(LogicalDatastoreType.CONFIGURATION, getIid(), getUnnumberedBuilder().build(), true);
     }
 
     @Override
     void merge(ReadWriteTransaction rwTx) {
-        rwTx.merge(LogicalDatastoreType.CONFIGURATION, getIid(), getUnnumberedBuilder().build());
+        rwTx.merge(LogicalDatastoreType.CONFIGURATION, getIid(), getUnnumberedBuilder().build(), true);
     }
 
     @Override
@@ -51,53 +61,57 @@ public class UnnumberedInterfaceCommand extends AbstractConfigCommand {
     }
 
     private UnnumberedBuilder getUnnumberedBuilder() {
-        UnnumberedBuilder builder = new UnnumberedBuilder();
-        builder.setUse(this.interfaceUnnumberedWith);
-        return builder;
+        return new UnnumberedBuilder().setUse(this.useInterface);
     }
 
+    @Override public String toString() {
+        return "UnnumberedInterfaceCommand{" + "useInterface='" + useInterface + ", With='" + interfaceName + '}';
+    }
 
     public static class UnnumberedInterfaceCommandBuilder {
         private General.Operations operation;
-        private String interfaceUnnumberedFor;
-        private String interfaceUnnumberedWith;
+        private String useInterface;
+        private String interfaceName;
 
         public General.Operations getOperation() {
             return operation;
         }
 
-        public void setOperation(General.Operations operation) {
+        public UnnumberedInterfaceCommandBuilder setOperation(General.Operations operation) {
             this.operation = operation;
+            return this;
         }
 
-        public String getInterfaceUnnumberedFor() {
-            return interfaceUnnumberedFor;
+        public String getUseInterface() {
+            return useInterface;
         }
 
-        public void setInterfaceUnnumberedFor(String interfaceUnnumberedFor) {
-            this.interfaceUnnumberedFor = interfaceUnnumberedFor;
+        public UnnumberedInterfaceCommandBuilder setUseInterface(String useInterface) {
+            this.useInterface = useInterface;
+            return this;
         }
 
-        public String getInterfaceUnnumberedWith() {
-            return interfaceUnnumberedWith;
+        public String getInterfaceName() {
+            return interfaceName;
         }
 
-        public void setInterfaceUnnumberedWith(String interfaceUnnumberedWith) {
-            this.interfaceUnnumberedWith = interfaceUnnumberedWith;
+        public UnnumberedInterfaceCommandBuilder setInterfaceName(String interfaceName) {
+            this.interfaceName = interfaceName;
+            return this;
         }
 
         /**
          * StaticArpCommand build method.
          *
          * @return UnnumberedInterfaceCommand
-         * @throws IllegalArgumentException if interfaceUnnumberedFor or interfaceUnnumberedWith is null.
+         * @throws IllegalArgumentException if useInterface or interfaceName is null.
          */
         public UnnumberedInterfaceCommand build() {
             Preconditions.checkNotNull(operation, "Operation must not be null!");
-            Preconditions.checkNotNull(interfaceUnnumberedFor, "interfaceUnnumberedFor must not be null!");
-            Preconditions.checkNotNull(interfaceUnnumberedWith, "interfaceUnnumberedWith must not be null!");
+            Preconditions.checkNotNull(useInterface, "Field useInterface must not be null!");
+            Preconditions.checkNotNull(interfaceName, "Field interfaceName must not be null!");
 
             return new UnnumberedInterfaceCommand(this);
         }
     }
-}
\ No newline at end of file
+}
index 12ba339a65fe73d6ef94e3b8de282dba9836cda2..1b7d3794c4fc848185763af9ed5905273db96107 100644 (file)
@@ -16,24 +16,21 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public abstract class AbstractLispCommand<T extends DataObject> {
 
     private static final Logger LOG = LoggerFactory.getLogger(AbstractLispCommand.class);
-    private General.Operations options;
+    private General.Operations operation;
 
-    public void setOptions(General.Operations options) {
-        this.options = options;
+    public void setOperation(General.Operations options) {
+        this.operation = options;
     }
 
-    public General.Operations getOptions() {
-        if (options == null) {
+    public General.Operations getOperation() {
+        if (operation == null) {
             LOG.debug("Options found null, setting Options to default PUT type");
-            options = General.Operations.PUT;
+            operation = General.Operations.PUT;
         }
-        return options;
+        return operation;
     }
 
     /**
@@ -42,7 +39,7 @@ public abstract class AbstractLispCommand<T extends DataObject> {
      * @param rwTx Transaction for command execution
      */
     public void execute(ReadWriteTransaction rwTx) {
-        switch (getOptions()) {
+        switch (getOperation()) {
             case PUT:
                 put(rwTx);
                 break;
@@ -74,4 +71,4 @@ public abstract class AbstractLispCommand<T extends DataObject> {
     public abstract InstanceIdentifier<T> getIid();
 
     public abstract T getData();
-}
\ No newline at end of file
+}
index 916453f5dec1b11afaa1dd5e9874b30b8a8c4347..235eb5e491f80747fbab456a2169ce0f6c0c3415 100644 (file)
@@ -12,9 +12,6 @@ import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev170801.gpe.feature.data.grouping.GpeFeatureData;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-/**
- * Created by Shakib Ahmed on 6/1/17.
- */
 public class ConfigureGpeCommand extends AbstractLispCommand<GpeFeatureData> {
 
     private GpeEnableDom gpeEnableDom;
@@ -32,4 +29,8 @@ public class ConfigureGpeCommand extends AbstractLispCommand<GpeFeatureData> {
     public GpeFeatureData getData() {
         return gpeEnableDom.getSALObject();
     }
+
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", " + gpeEnableDom.toString();
+    }
 }
index 84d3f70f27bf0e579ce12f88a9b6fd44b2042222..04f0cc375ba5716d0ffaa9260e850c8d1d962211 100644 (file)
@@ -13,9 +13,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev1
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev170801.gpe.entry.table.grouping.gpe.entry.table.GpeEntryKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-/**
- * Created by Shakib Ahmed on 6/1/17.
- */
 public class ConfigureGpeEntryCommand extends AbstractLispCommand<GpeEntry> {
 
     private GbpGpeEntryDom gpeEntryDom;
@@ -33,4 +30,8 @@ public class ConfigureGpeEntryCommand extends AbstractLispCommand<GpeEntry> {
     public GpeEntry getData() {
         return gpeEntryDom.getSALObject();
     }
+
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", " + gpeEntryDom.toString();
+    }
 }
index dd06329f964f605884a72101f7edc8d308bdb417..a93dd032dea0d314e5be750ad1cda8e403a48697 100644 (file)
@@ -12,9 +12,6 @@ import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.itr.remote.locator.sets.grouping.ItrRemoteLocatorSet;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-/**
- * Created by Shakib Ahmed on 7/18/17.
- */
 public class ConfigureItrRemoteLocatorSetCommand extends AbstractLispCommand<ItrRemoteLocatorSet> {
     ItrRemoteLocatorSetDom itrRemoteLocatorSetDom;
 
@@ -31,4 +28,8 @@ public class ConfigureItrRemoteLocatorSetCommand extends AbstractLispCommand<Itr
     public ItrRemoteLocatorSet getData() {
         return itrRemoteLocatorSetDom.getSALObject();
     }
+
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", " + itrRemoteLocatorSetDom.toString();
+    }
 }
index aeb34b0e96179ec019fd819d1b1ea5fbffe5c578..ac53a89bddac5011337c1d73641ef1e218be51ea 100644 (file)
@@ -13,9 +13,6 @@ import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.Lisp;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-/**
- * Created by Shakib Ahmed on 3/16/17.
- */
 public class ConfigureLispStatusCommand extends AbstractLispCommand<Lisp> {
 
     private LispDom lispDom;
@@ -34,8 +31,7 @@ public class ConfigureLispStatusCommand extends AbstractLispCommand<Lisp> {
         return lispDom.getSALObject();
     }
 
-    @Override
-    public String toString() {
-        return "state: " + lispDom.isEnabled();
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", " + lispDom.toString();
     }
 }
index 508940f2777b56ba1421c94f4df8a702afe2ce6a..1b4c299f795f76b3eb07bc44c8d04b36c69ccd7a 100644 (file)
@@ -15,9 +15,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.eid.table.grouping.eid.table.VniTableKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-/**
- * Created by Shakib Ahmed on 3/16/17.
- */
 public class ConfigureLocalMappingInEidTableCommand extends AbstractLispCommand<LocalMapping> {
 
     LocalMappingDom localMappingDom;
@@ -36,4 +33,8 @@ public class ConfigureLocalMappingInEidTableCommand extends AbstractLispCommand<
     public LocalMapping getData() {
         return localMappingDom.getSALObject();
     }
+
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", " + localMappingDom.toString();
+    }
 }
index 0b4775efc8972fab76ca987055e76232feace7c9..465be74ebf187debcb95123a796034ac40d8a235 100644 (file)
@@ -14,9 +14,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.locator.sets.grouping.locator.sets.LocatorSetKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-/**
- * Created by Shakib Ahmed on 3/16/17.
- */
 public class ConfigureLocatorSetCommand extends AbstractLispCommand<LocatorSet> {
 
     LocatorSetDom locatorSetDom;
@@ -34,4 +31,8 @@ public class ConfigureLocatorSetCommand extends AbstractLispCommand<LocatorSet>
     public LocatorSet getData() {
         return locatorSetDom.getSALObject();
     }
+
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", " + locatorSetDom.toString();
+    }
 }
index efd044750c8b86599eebce6d3255794ac4787464..6c8beb9c3d5982e179a9bab6f5384448d47883a8 100644 (file)
@@ -13,9 +13,6 @@ import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.map.register.grouping.MapRegister;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class ConfigureMapRegisterStatusCommand extends AbstractLispCommand<MapRegister>{
 
     MapRegisterDom mapRegisterDom;
@@ -33,4 +30,8 @@ public class ConfigureMapRegisterStatusCommand extends AbstractLispCommand<MapRe
     public MapRegister getData() {
         return mapRegisterDom.getSALObject();
     }
+
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", " + mapRegisterDom.toString();
+    }
 }
index e675e396a4baaee6ebfdf197aad0f063a5dc985f..d26b27ac7d2d60aef7f4e32b7aa5f2e3f0dc577f 100644 (file)
@@ -14,9 +14,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.map.resolvers.grouping.map.resolvers.MapResolverKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class ConfigureMapResolverCommand extends AbstractLispCommand<MapResolver>{
     MapResolverDom mapResolverDom;
 
@@ -33,4 +30,8 @@ public class ConfigureMapResolverCommand extends AbstractLispCommand<MapResolver
     public MapResolver getData() {
         return mapResolverDom.getSALObject();
     }
+
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", " + mapResolverDom.toString();
+    }
 }
index 172c68bd678af9a56ff21f39f2c724528dcacd48..defe4f49a319972718ce7f7679897d06e6acfe47 100644 (file)
@@ -14,9 +14,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.map.servers.grouping.map.servers.MapServerKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class ConfigureMapServerCommand extends AbstractLispCommand<MapServer> {
     private MapServerDom mapServerDom;
 
@@ -33,4 +30,8 @@ public class ConfigureMapServerCommand extends AbstractLispCommand<MapServer> {
     public MapServer getData() {
         return mapServerDom.getSALObject();
     }
+
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", " + mapServerDom.toString();
+    }
 }
index 3b087c9bf60945f8fd7ae12eb0a0aa17162e8fc2..b98752a179226089c1827fb2ef1a89c053864967 100644 (file)
@@ -13,9 +13,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev1
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev170801._native.forward.paths.tables._native.forward.paths.table.NativeForwardPathKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-/**
- * Created by Shakib Ahmed on 6/13/17.
- */
 public class ConfigureNativeForwardPathCommand extends AbstractLispCommand<NativeForwardPath> {
     private NativeForwardPathDom nativeForwardPathDom;
 
@@ -33,4 +30,8 @@ public class ConfigureNativeForwardPathCommand extends AbstractLispCommand<Nativ
     public NativeForwardPath getData() {
         return nativeForwardPathDom.getSALObject();
     }
+
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", " + nativeForwardPathDom.toString();
+    }
 }
index 3854ee3f888a233640a089b48675cd350bce7b23..9811590f7137ee6a5a98e4bc4925ab1179c3bf3a 100644 (file)
@@ -14,9 +14,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.eid.table.grouping.eid.table.VniTableKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-/**
- * Created by Shakib Ahmed on 3/16/17.
- */
 public class ConfigureVrfToVniMappingCommand extends AbstractLispCommand<VniTable> {
 
     VniTableDom vniTableDom;
@@ -34,4 +31,8 @@ public class ConfigureVrfToVniMappingCommand extends AbstractLispCommand<VniTabl
     public VniTable getData() {
         return vniTableDom.getSALObject();
     }
+
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", " + vniTableDom.toString();
+    }
 }
index c9c7665e25ebca7443441288a617ba1a175e511e..b6d9bf2c24d6ce05fbdf6ec0d9af57e65957c6cf 100644 (file)
@@ -13,9 +13,6 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- * Created by Shakib Ahmed on 6/21/17.
- */
 public class DeleteGpeFeatureDataCommand  extends AbstractLispCommand<GpeFeatureData> {
     private static final Logger LOG = LoggerFactory.getLogger(DeleteGpeFeatureDataCommand.class);
 
@@ -29,4 +26,8 @@ public class DeleteGpeFeatureDataCommand  extends AbstractLispCommand<GpeFeature
         LOG.debug("Delete commands should not invoke getData()");
         return null;
     }
+
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", " + "DeleteGpeFeatureDataCommand{}";
+    }
 }
index 27011f4e29bfbbfff8035ad310499d88b893feab..4a450276ae259576801be4f33ae66a8356094852 100644 (file)
@@ -14,9 +14,6 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- * Created by Shakib Ahmed on 4/18/17.
- */
 public class DeleteLispFeatureDataCommand extends AbstractLispCommand<LispFeatureData> {
     private static final Logger LOG = LoggerFactory.getLogger(DeleteLispFeatureDataCommand.class);
 
@@ -30,4 +27,8 @@ public class DeleteLispFeatureDataCommand extends AbstractLispCommand<LispFeatur
         LOG.debug("Delete commands should not invoke getData()");
         return null;
     }
+
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", " + "DeleteLispFeatureDataCommand{}";
+    }
 }
index d45bf11cfc3f3829c0eff29fc246b6c2908c7112..91ea1cd7e5e8500b027d8dee8561db0206079ce9 100644 (file)
@@ -13,9 +13,6 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- * Created by Shakib Ahmed on 6/21/17.
- */
 public class DeleteNativeForwardPathsTablesDeleteCommand extends AbstractLispCommand<NativeForwardPathsTables> {
     private static final Logger LOG = LoggerFactory.getLogger(DeleteNativeForwardPathsTablesDeleteCommand.class);
 
@@ -30,4 +27,9 @@ public class DeleteNativeForwardPathsTablesDeleteCommand extends AbstractLispCom
         LOG.debug("Delete commands should not invoke getData()");
         return null;
     }
+
+    @Override public String toString() {
+        return "Operation: " + getOperation() + ", Iid: " + this.getIid() + ", "
+            + "DeleteNativeForwardPathsTablesDeleteCommand{}";
+    }
 }
index 16244405e8cd36c8f8c8c533d77ffe5f1760c23f..58de5f5fa5e202a85be65a74f32c2ea6b22eb13a 100644 (file)
@@ -14,9 +14,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.addres
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.dp.subtable.grouping.local.mappings.local.mapping.Eid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.dp.subtable.grouping.local.mappings.local.mapping.EidBuilder;
 
-/**
- * Created by Shakib Ahmed on 3/21/17.
- */
 public class EidDom<T extends LispAddressFamily> implements CommandModel {
 
     private long vni;
@@ -54,4 +51,8 @@ public class EidDom<T extends LispAddressFamily> implements CommandModel {
                     .setAddressType(getAddressFamily())
                     .setAddress(address).build();
     }
+
+    @Override public String toString() {
+        return "Eid{" + "vni=" + vni + ", address=" + address + ", addressFamily=" + addressFamily + '}';
+    }
 }
index df30b188c15f8021c6b528494df49ebd51023d9f..94ed5e4906025e4a432b7d5d4779d49eb2908e75 100644 (file)
@@ -15,9 +15,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev1
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev170801.gpe.entry.table.grouping.gpe.entry.table.gpe.entry.RemoteEid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.MapReplyAction;
 
-/**
- * Created by Shakib Ahmed on 6/1/17.
- */
 public class GbpGpeEntryDom implements CommandModel{
     private String id;
     private Long vrf;
@@ -86,4 +83,9 @@ public class GbpGpeEntryDom implements CommandModel{
                     .setLocalEid(localEid)
                     .setAction(action).build();
     }
+
+    @Override public String toString() {
+        return "GbpGpeEntry{" + "id='" + id + ", vrf=" + vrf + ", vni=" + vni + ", localEid=" + localEid
+            + ", remoteEid=" + remoteEid + ", action=" + action + '}';
+    }
 }
index 9708738ed564de7007abdffaa2d718e2aba500e0..f151588e98fcde2e4dac8963f0ce33faa1c780dc 100644 (file)
@@ -10,9 +10,6 @@ package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev170801.gpe.feature.data.grouping.GpeFeatureData;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev170801.gpe.feature.data.grouping.GpeFeatureDataBuilder;
 
-/**
- * Created by Shakib Ahmed on 6/1/17.
- */
 public class GpeEnableDom implements CommandModel {
     private boolean enabled;
 
@@ -28,4 +25,8 @@ public class GpeEnableDom implements CommandModel {
     public GpeFeatureData getSALObject() {
         return new GpeFeatureDataBuilder().setEnable(enabled).build();
     }
+
+    @Override public String toString() {
+        return "GpeEnable{" + "enabled=" + enabled + '}';
+    }
 }
index 2913978a938efa821e14bf28eb08914718fcd959..82cff8e25e82619415cc08fbe08fbbc8bcfcb3a0 100644 (file)
@@ -12,9 +12,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.hmac.key.grouping.HmacKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.hmac.key.grouping.HmacKeyBuilder;
 
-/**
- * Created by Shakib Ahmed on 3/21/17.
- */
 public class HmacKeyDom implements CommandModel {
 
     private HmacKeyType keyType;
@@ -42,4 +39,8 @@ public class HmacKeyDom implements CommandModel {
                     .setKeyType(keyType)
                     .setKey(key).build();
     }
+
+    @Override public String toString() {
+        return "HmacKey{" + "keyType=" + keyType + ", key='" + key + '}';
+    }
 }
index ac997edd00ce67e79ce017603d272cc433c07a09..919101c11170d79e004bbc8f64df87df832fd2d5 100644 (file)
@@ -13,9 +13,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.locator.sets.grouping.locator.sets.locator.set.InterfaceBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.locator.sets.grouping.locator.sets.locator.set.InterfaceKey;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class InterfaceDom implements CommandModel {
 
     private String interfaceName;
@@ -56,4 +53,9 @@ public class InterfaceDom implements CommandModel {
                     .setPriority(priority)
                     .setWeight(priority).build();
     }
+
+    @Override public String toString() {
+        return "Interface{" + "interfaceName='" + interfaceName + ", priority=" + priority + ", weight="
+            + weight + '}';
+    }
 }
index 460988a332cbc0d245da9c2e9fada75b39729f7f..af460af7acfb089bd33b7260e3b57c622c14e62c 100644 (file)
@@ -11,9 +11,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.itr.remote.locator.sets.grouping.ItrRemoteLocatorSetBuilder;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 
-/**
- * Created by Shakib Ahmed on 7/18/17.
- */
 public class ItrRemoteLocatorSetDom implements CommandModel {
     private String locatorSetName;
 
@@ -30,4 +27,8 @@ public class ItrRemoteLocatorSetDom implements CommandModel {
         return new ItrRemoteLocatorSetBuilder()
                 .setRemoteLocatorSetName(locatorSetName).build();
     }
+
+    @Override public String toString() {
+        return "ItrRemoteLocatorSet{" + "locatorSetName='" + locatorSetName  + '}';
+    }
 }
index 82d1476096124e6d79350e1dbcf7b2c4f76dd02b..532416297f0c329bcbab74c0151a5c6fba83b4fa 100644 (file)
@@ -11,9 +11,6 @@ package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.Lisp;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.LispBuilder;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class LispDom implements CommandModel {
     private boolean enabled;
 
@@ -30,4 +27,8 @@ public class LispDom implements CommandModel {
     public Lisp getSALObject() {
         return new LispBuilder().setEnable(enabled).build();
     }
+
+    @Override public String toString() {
+        return "Lisp{" + "enabled=" + enabled + '}';
+    }
 }
index 14641b352fbacffb073f8261736f7964cdb151f8..57313393bc1a63c66dd2b9d27306aff66f545ca2 100644 (file)
@@ -17,9 +17,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.hmac.key.grouping.HmacKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.locator.sets.grouping.locator.sets.LocatorSet;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class LocalMappingDom implements CommandModel {
 
     private MappingId mappingId;
@@ -86,4 +83,9 @@ public class LocalMappingDom implements CommandModel {
                 .setLocatorSet(locatorName)
                 .setHmacKey(hmacKey).build();
     }
+
+    @Override public String toString() {
+        return "LocalMapping{" + "mappingId=" + mappingId + ", eid=" + eid + ", vni=" + vni + ", locatorName='"
+            + locatorName + ", hmacKey=" + hmacKey + '}';
+    }
 }
index c1c17a6f2031d02a66e3e7434b9b6f8649f0a570..9ab8d15aac226e0c99b5a17b80b67cff8bf3e96d 100644 (file)
@@ -16,9 +16,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
 
 import java.util.List;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class LocatorSetDom implements CommandModel {
 
     private String locatorName;
@@ -48,4 +45,8 @@ public class LocatorSetDom implements CommandModel {
                     .setName(locatorName)
                     .setInterface(interfaces).build();
     }
+
+    @Override public String toString() {
+        return "LocatorSet{" + "locatorName='" + locatorName + ", interfaces=" + interfaces + '}';
+    }
 }
index 6a261835488bda8df438b4d671410c144d32d65b..5801263903602cfb6c1e766f665680abc48014d7 100644 (file)
@@ -11,9 +11,6 @@ package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.map.register.grouping.MapRegister;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.map.register.grouping.MapRegisterBuilder;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class MapRegisterDom implements CommandModel {
 
     private boolean enabled;
@@ -30,4 +27,8 @@ public class MapRegisterDom implements CommandModel {
     public MapRegister getSALObject() {
         return new MapRegisterBuilder().setEnabled(enabled).build();
     }
+
+    @Override public String toString() {
+        return "MapRegister{" + "enabled=" + enabled + '}';
+    }
 }
index 0c2d4d47b7615b2e8df559d9f86b8b2da4ed255e..676892ff18df4083f922cbf124457f507ff3a6dc 100644 (file)
@@ -12,9 +12,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.map.resolvers.grouping.map.resolvers.MapResolver;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.map.resolvers.grouping.map.resolvers.MapResolverBuilder;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class MapResolverDom implements CommandModel {
     private IpAddress ipAddress;
 
@@ -30,4 +27,8 @@ public class MapResolverDom implements CommandModel {
     public MapResolver getSALObject() {
         return new MapResolverBuilder().setIpAddress(ipAddress).build();
     }
+
+    @Override public String toString() {
+        return "MapResolver{" + "ipAddress=" + ipAddress + '}';
+    }
 }
index 28c2b94fa2967a11c751a864f142cafa3deabf43..732001df6743e76d1dbaf446631c0d881e0be4bc 100644 (file)
@@ -14,9 +14,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
 
 import java.util.List;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class MapResolversDom implements CommandModel {
     private List<MapResolver> mapResolvers;
 
@@ -32,4 +29,8 @@ public class MapResolversDom implements CommandModel {
     public MapResolvers getSALObject() {
         return new MapResolversBuilder().setMapResolver(mapResolvers).build();
     }
+
+    @Override public String toString() {
+        return "MapResolvers{" + "mapResolvers=" + mapResolvers + '}';
+    }
 }
index 3aeb3527130af0d4404a5099d4b1d12eb51c9029..083e21e40f239ae1fef402db7cfb5db997910795 100644 (file)
@@ -12,9 +12,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.map.servers.grouping.map.servers.MapServer;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.map.servers.grouping.map.servers.MapServerBuilder;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class MapServerDom implements CommandModel{
     private IpAddress ipAddress;
 
@@ -30,4 +27,8 @@ public class MapServerDom implements CommandModel{
     public MapServer getSALObject() {
         return new MapServerBuilder().setIpAddress(ipAddress).build();
     }
+
+    @Override public String toString() {
+        return "MapServer{" + "ipAddress=" + ipAddress + '}';
+    }
 }
index e3e63737752681b9cf38e481d090854ce87188c6..8fc59078d02ac27d52b82487850679dd1b585d3e 100644 (file)
@@ -14,9 +14,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
 
 import java.util.List;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class MapServersDom implements CommandModel {
     List<MapServer> mapServers;
 
@@ -32,4 +29,8 @@ public class MapServersDom implements CommandModel {
     public MapServers getSALObject() {
         return new MapServersBuilder().setMapServer(mapServers).build();
     }
+
+    @Override public String toString() {
+        return "MapServers{" + "mapServers=" + mapServers + '}';
+    }
 }
index bead83bb76f7802c3239d8b6ecd77e8b7daa3a81..faa4c4a6ab81363993bbabfe94efbb645938a121 100644 (file)
@@ -12,9 +12,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev1
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev170801._native.forward.paths.tables._native.forward.paths.table.NativeForwardPathBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev170801._native.forward.paths.tables._native.forward.paths.table.NativeForwardPathKey;
 
-/**
- * Created by Shakib Ahmed on 6/13/17.
- */
 public class NativeForwardPathDom implements CommandModel {
     private IpAddress nextHopIp;
     private String nextHopInterface;
@@ -51,4 +48,9 @@ public class NativeForwardPathDom implements CommandModel {
                     .setNextHopAddress(nextHopIp)
                     .setNextHopInterface(nextHopInterface).build();
     }
+
+    @Override public String toString() {
+        return "NativeForwardPath{" + "nextHopIp=" + nextHopIp + ", nextHopInterface='" + nextHopInterface + ", vrfId="
+            + vrfId + '}';
+    }
 }
index 1e13130ca79708d53c29b4f27a00d19f95f80729..37d48e5dc61b32f1d2405b1ca98c97b5c9680c0b 100644 (file)
@@ -14,9 +14,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.eid.table.grouping.eid.table.VniTableKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.eid.table.grouping.eid.table.vni.table.VrfSubtable;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class VniTableDom implements CommandModel {
     private long virtualNetworkIdentifier;
     private VrfSubtable vrfSubtable;
@@ -48,4 +45,9 @@ public class VniTableDom implements CommandModel {
                         .setVirtualNetworkIdentifier(vniTableKey.getVirtualNetworkIdentifier())
                         .setVrfSubtable(vrfSubtable).build();
     }
+
+    @Override public String toString() {
+        return "VniTable{" + "virtualNetworkIdentifier=" + virtualNetworkIdentifier + ", vrfSubtable=" + vrfSubtable
+            + '}';
+    }
 }
index fe5c793ee2bb7dafe997ebd88d67fe1ff0fbc067..73b28690252a08bf30806f65bbd5b56167c34ba8 100644 (file)
@@ -11,9 +11,6 @@ package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.eid.table.grouping.eid.table.vni.table.VrfSubtable;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.eid.table.grouping.eid.table.vni.table.VrfSubtableBuilder;
 
-/**
- * Created by Shakib Ahmed on 3/20/17.
- */
 public class VrfSubtableDom implements CommandModel {
     private long tableId;
 
@@ -29,4 +26,8 @@ public class VrfSubtableDom implements CommandModel {
     public VrfSubtable getSALObject() {
         return new VrfSubtableBuilder().setTableId(tableId).build();
     }
+
+    @Override public String toString() {
+        return "VrfSubtable{" + "tableId=" + tableId + '}';
+    }
 }
index f404c2dea2e66fe58924c310d2f80225de6d173b..115e42f82b909cb63256895a730e469ba713e0b2 100644 (file)
@@ -22,33 +22,30 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Function;
 
-/**
- * Created by Shakib Ahmed on 4/18/17.
- */
 public class LispStateCommandExecutor {
     private static final Logger LOG = LoggerFactory.getLogger(LispStateCommandExecutor.class);
 
     public static <T extends DataObject> boolean executePutCommand(InstanceIdentifier<Node> nodeIid,
                                                                    AbstractLispCommand<T> lispStateCommand) {
-        lispStateCommand.setOptions(General.Operations.PUT);
+        lispStateCommand.setOperation(General.Operations.PUT);
         return executeCommand(nodeIid, lispStateCommand);
     }
 
     public static <T extends DataObject> boolean executePutCommand(String hostName,
             AbstractLispCommand<T> lispStateCommand) {
-        lispStateCommand.setOptions(General.Operations.PUT);
+        lispStateCommand.setOperation(General.Operations.PUT);
         return executeCommand(LispUtil.HOSTNAME_TO_IID.apply(hostName), lispStateCommand);
     }
 
     public static <T extends DataObject> boolean executeDeleteCommand(InstanceIdentifier<Node> nodeIid,
             AbstractLispCommand<T> lispStateCommand) {
-        lispStateCommand.setOptions(General.Operations.DELETE);
+        lispStateCommand.setOperation(General.Operations.DELETE);
         return executeCommand(nodeIid, lispStateCommand);
     }
 
     public static <T extends DataObject> boolean executeDeleteCommand(String hostName,
             AbstractLispCommand<T> lispStateCommand) {
-        lispStateCommand.setOptions(General.Operations.DELETE);
+        lispStateCommand.setOperation(General.Operations.DELETE);
         return executeCommand(LispUtil.HOSTNAME_TO_IID.apply(hostName), lispStateCommand);
     }
 
@@ -57,9 +54,9 @@ public class LispStateCommandExecutor {
         final boolean transactionState = GbpNetconfTransaction.netconfSyncedWrite(nodeIid, lispStateCommand.getIid(),
                 lispStateCommand.getData(), GbpNetconfTransaction.RETRY_COUNT);
         if (transactionState) {
-            LOG.trace("Successfully executed command: ", lispStateCommand);
+            LOG.trace("Successfully executed command: {}", lispStateCommand);
         } else {
-            LOG.debug("Failed to execute command: ", lispStateCommand);
+            LOG.debug("Failed to execute command: {}", lispStateCommand);
         }
 
         return transactionState;
index ad4f91d811ffad175678f5f0a6bd2b64b783bb08..fa28126dc73cc5bb76e9e8e7ef79202c016ec858 100644 (file)
@@ -14,6 +14,7 @@ import org.apache.commons.lang3.tuple.Pair;
 import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.LoopbackCommand;
 import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.LoopbackCommandWrapper;
 import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.ProxyRangeCommand;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.UnnumberedInterfaceCommand;
 import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.AbstractLispCommand;
 import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.LispCommandWrapper;
 import org.opendaylight.groupbasedpolicy.renderer.vpp.lisp.LispStateCommandExecutor;
@@ -35,8 +36,6 @@ import org.opendaylight.groupbasedpolicy.renderer.vpp.util.MountedDataBrokerProv
 import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.Ipv4PrefixAfi;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.base_endpoint.rev160427.has.absolute.location.absolute.location.location.type.ExternalLocationCase;
@@ -44,9 +43,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.vpp_renderer.rev160425.config.GbpSubnet;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev170801.gpe.entry.table.grouping.gpe.entry.table.GpeEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.gpe.rev170801.gpe.entry.table.grouping.gpe.entry.table.gpe.entry.RemoteEid;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unnumbered.interfaces.rev170510.InterfaceUnnumberedAugmentation;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unnumbered.interfaces.rev170510.InterfaceUnnumberedAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unnumbered.interfaces.rev170510.unnumbered.config.attributes.UnnumberedBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
@@ -272,23 +268,21 @@ public class LoopbackManager {
         InstanceIdentifier<Node> nodeIid = (InstanceIdentifier<Node>) loc.getExternalNodeMountPoint();
         String neutronInterfaceName = loopbackManagerHelper.getInterfaceName(addressEp).get();
         if (putUnnumberedInterface(nodeIid, neutronInterfaceName, loopbackName)) {
-            LOG.debug("Added Interface {} as unnumberd for {}", loopbackName, neutronInterfaceName);
+            LOG.debug("Added Interface {} as unnumbered for {}", loopbackName, neutronInterfaceName);
         } else {
             throw new LispConfigCommandFailedException("Unnumbered configuration failed for " +
                     neutronInterfaceName + " - " + loopbackName);
         }
     }
 
-    private boolean putUnnumberedInterface(InstanceIdentifier<Node> iid, String interfaceFor, String interfaceWith) {
-        UnnumberedBuilder unnumberedBuilder = new UnnumberedBuilder();
-        unnumberedBuilder.setUse(interfaceWith);
-        InstanceIdentifier<Interface> interfaceIid = VppIidFactory.getInterfaceIID(new InterfaceKey(interfaceFor));
-        InterfaceUnnumberedAugmentationBuilder augBuilder = new InterfaceUnnumberedAugmentationBuilder();
-        augBuilder.setUnnumbered(unnumberedBuilder.build());
-        InterfaceBuilder interfaceBuilder = new InterfaceBuilder().setKey(new InterfaceKey(interfaceFor));
-        interfaceBuilder.addAugmentation(InterfaceUnnumberedAugmentation.class, augBuilder.build());
-        return GbpNetconfTransaction.netconfSyncedMerge(iid, interfaceIid, interfaceBuilder.build(),
-                GbpNetconfTransaction.RETRY_COUNT);
+    private boolean putUnnumberedInterface(InstanceIdentifier<Node> iid, String interfaceName, String useInterface) {
+        UnnumberedInterfaceCommand unnumberedCommand =
+            UnnumberedInterfaceCommand.builder()
+                .setOperation(General.Operations.MERGE)
+                .setUseInterface(useInterface)
+                .setInterfaceName(interfaceName)
+                .build();
+        return GbpNetconfTransaction.netconfSyncedWrite(iid, unnumberedCommand, GbpNetconfTransaction.RETRY_COUNT);
     }
 
     private void addGpeEntry(InstanceIdentifier<Node> iid, GbpSubnet gbpSubnetInfo, long vni) {
index abff5410bac65964ba104d3c9df3a0d55316988f..434ee1ac466044c09ca1435b05fabd61fe48e1b7 100644 (file)
@@ -18,6 +18,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.vpp_renderer.rev160425.Config;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.nat.rev170816.NatInterfaceAugmentation;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unnumbered.interfaces.rev170510.unnumbered.config.attributes.Unnumbered;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.interfaces._interface.VhostUser;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev170315.dhcp.attributes.relays.Relay;\r
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;\r
@@ -34,6 +35,6 @@ public class VppRendererDataBrokerTest extends CustomDataBrokerTest {
     public Collection<Class<?>> getClassesFromModules() {\r
         return ImmutableList.of(Interfaces.class, Interface.class, VhostUser.class, NetworkTopology.class,\r
             Topology.class, Node.class, NetconfNode.class, Renderer.class, LocationProviders.class, Config.class,\r
-            NatInterfaceAugmentation.class, Routing.class, StaticRoutes1.class, Relay.class);\r
+            NatInterfaceAugmentation.class, Routing.class, StaticRoutes1.class, Relay.class, Unnumbered.class);\r
     }\r
 }\r
diff --git a/renderers/vpp/src/test/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/UnnumberedInterfaceCommandTest.java b/renderers/vpp/src/test/java/org/opendaylight/groupbasedpolicy/renderer/vpp/commands/UnnumberedInterfaceCommandTest.java
new file mode 100644 (file)
index 0000000..32ef600
--- /dev/null
@@ -0,0 +1,173 @@
+/*
+ * Copyright (c) 2017 Cisco Systems. 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.groupbasedpolicy.renderer.vpp.commands;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+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.groupbasedpolicy.renderer.vpp.VppRendererDataBrokerTest;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.General;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
+import org.opendaylight.groupbasedpolicy.util.DataStoreHelper;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unnumbered.interfaces.rev170510.InterfaceUnnumberedAugmentation;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unnumbered.interfaces.rev170510.InterfaceUnnumberedAugmentationBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unnumbered.interfaces.rev170510.unnumbered.config.attributes.UnnumberedBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.VhostUserRole;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.VppInterfaceAugmentation;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.VppInterfaceAugmentationBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.interfaces._interface.L2Builder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.interfaces._interface.VhostUser;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.interfaces._interface.VhostUserBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.l2.config.attributes.interconnection.BridgeBasedBuilder;
+
+import com.google.common.base.Optional;
+
+public class UnnumberedInterfaceCommandTest extends VppRendererDataBrokerTest {
+
+    private final static String BRIDGE_DOMAIN = "testBD";
+    private final static String DESCRIPTION = "used for testing";
+    private final static String INTERFACE_NAME = "testInterface";
+    private final static String USE_INTERFACE_NAME = "masterInterface";
+    private final static String USE_INTERFACE_NAME_2 = "masterInterface2";
+    private final static String SOCKET_NAME = "soc1";
+    private final static boolean IS_BRIDGED_DEFAULT = false;
+
+    private static Interface BASIC_INTERFACE;
+    private static Interface BASIC_INTERFACE_UNNUMBERED;
+
+    private DataBroker dataBroker;
+
+    @Before public void init() {
+        dataBroker = getDataBroker();
+
+        VhostUser vhostUser = new VhostUserBuilder().setRole(VhostUserRole.Server).setSocket(SOCKET_NAME).build();
+
+        VppInterfaceAugmentation vppAugmentation =
+            new VppInterfaceAugmentationBuilder().setVhostUser(vhostUser)
+                .setL2(new L2Builder().setInterconnection(new BridgeBasedBuilder().setBridgeDomain(BRIDGE_DOMAIN)
+                    .setBridgedVirtualInterface(IS_BRIDGED_DEFAULT)
+                    .setSplitHorizonGroup((short) 0)
+                    .build()).build())
+                .build();
+
+        BASIC_INTERFACE = new InterfaceBuilder().setDescription(DESCRIPTION)
+            .setEnabled(true)
+            .setKey(new InterfaceKey(INTERFACE_NAME))
+            .setName(INTERFACE_NAME)
+            .setType(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.VhostUser.class)
+            .setLinkUpDownTrapEnable(Interface.LinkUpDownTrapEnable.Enabled)
+            .addAugmentation(VppInterfaceAugmentation.class, vppAugmentation)
+            .build();
+
+        BASIC_INTERFACE_UNNUMBERED =
+            new InterfaceBuilder(BASIC_INTERFACE).addAugmentation(InterfaceUnnumberedAugmentation.class,
+                new InterfaceUnnumberedAugmentationBuilder().setUnnumbered(
+                    new UnnumberedBuilder().setUse(USE_INTERFACE_NAME).build()).build()).build();
+    }
+
+    @Test public void AddUnnumberedInterfaceTest() {
+        ReadWriteTransaction transaction = dataBroker.newReadWriteTransaction();
+
+        transaction.put(LogicalDatastoreType.CONFIGURATION, VppIidFactory.getInterfaceIID(BASIC_INTERFACE.getKey()),
+            BASIC_INTERFACE, true);
+        transaction.submit();
+
+        Optional<Interface> optional = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+            VppIidFactory.getInterfaceIID(BASIC_INTERFACE.getKey()), dataBroker.newReadOnlyTransaction());
+
+        Assert.assertTrue(optional.isPresent());
+
+        UnnumberedInterfaceCommand unnumberedCommand = getUnnumberedInterfaceCommand(General.Operations.PUT).build();
+
+        ReadWriteTransaction rwTx = dataBroker.newReadWriteTransaction();
+        unnumberedCommand.execute(rwTx);
+        rwTx.submit();
+
+        optional = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+            VppIidFactory.getInterfaceIID(BASIC_INTERFACE.getKey()), dataBroker.newReadOnlyTransaction());
+
+        Assert.assertTrue(optional.isPresent());
+        InterfaceUnnumberedAugmentation unnumberedAugmentation =
+            optional.get().getAugmentation(InterfaceUnnumberedAugmentation.class);
+        Assert.assertNotNull(unnumberedAugmentation);
+        Assert.assertEquals(BASIC_INTERFACE_UNNUMBERED, optional.get());
+    }
+
+    @Test public void DeleteUnnumberedInterfaceTest() {
+        ReadWriteTransaction rwTx = dataBroker.newReadWriteTransaction();
+
+        rwTx.put(LogicalDatastoreType.CONFIGURATION, VppIidFactory.getInterfaceIID(BASIC_INTERFACE_UNNUMBERED.getKey()),
+            BASIC_INTERFACE_UNNUMBERED, true);
+        rwTx.submit();
+
+        Optional<Interface> optional = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+            VppIidFactory.getInterfaceIID(BASIC_INTERFACE_UNNUMBERED.getKey()), dataBroker.newReadOnlyTransaction());
+
+        Assert.assertTrue(optional.isPresent());
+        Assert.assertEquals(BASIC_INTERFACE_UNNUMBERED, optional.get());
+
+        UnnumberedInterfaceCommand unnumberedCommand = getUnnumberedInterfaceCommand(General.Operations.DELETE).build();
+
+        rwTx = dataBroker.newReadWriteTransaction();
+        unnumberedCommand.execute(rwTx);
+        rwTx.submit();
+
+        optional = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+            VppIidFactory.getInterfaceIID(BASIC_INTERFACE_UNNUMBERED.getKey()), dataBroker.newReadOnlyTransaction());
+
+        Assert.assertTrue(optional.isPresent());
+        InterfaceUnnumberedAugmentation unnumberedAugmentation =
+            optional.get().getAugmentation(InterfaceUnnumberedAugmentation.class);
+        Assert.assertNull(unnumberedAugmentation.getUnnumbered());
+    }
+
+    @Test public void UpdateUnnumberedInterfaceTest() {
+        ReadWriteTransaction rwTx = dataBroker.newReadWriteTransaction();
+
+        rwTx.put(LogicalDatastoreType.CONFIGURATION, VppIidFactory.getInterfaceIID(BASIC_INTERFACE_UNNUMBERED.getKey()),
+            BASIC_INTERFACE_UNNUMBERED, true);
+        rwTx.submit();
+
+        Optional<Interface> optional = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+            VppIidFactory.getInterfaceIID(BASIC_INTERFACE_UNNUMBERED.getKey()), dataBroker.newReadOnlyTransaction());
+
+        Assert.assertTrue(optional.isPresent());
+        Assert.assertEquals(BASIC_INTERFACE_UNNUMBERED, optional.get());
+
+        UnnumberedInterfaceCommand unnumberedCommand =
+            getUnnumberedInterfaceCommand(General.Operations.MERGE).setUseInterface(USE_INTERFACE_NAME_2).build();
+
+        rwTx = dataBroker.newReadWriteTransaction();
+        unnumberedCommand.execute(rwTx);
+        rwTx.submit();
+
+        optional = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+            VppIidFactory.getInterfaceIID(BASIC_INTERFACE_UNNUMBERED.getKey()), dataBroker.newReadOnlyTransaction());
+
+        Assert.assertTrue(optional.isPresent());
+        InterfaceUnnumberedAugmentation unnumberedAugmentation =
+            optional.get().getAugmentation(InterfaceUnnumberedAugmentation.class);
+        Assert.assertNotNull(unnumberedAugmentation.getUnnumbered());
+        Assert.assertEquals(USE_INTERFACE_NAME_2, unnumberedAugmentation.getUnnumbered().getUse());
+    }
+
+    private UnnumberedInterfaceCommand.UnnumberedInterfaceCommandBuilder getUnnumberedInterfaceCommand(
+        General.Operations operation) {
+        return UnnumberedInterfaceCommand.builder()
+                .setOperation(operation)
+                .setUseInterface(USE_INTERFACE_NAME)
+                .setInterfaceName(INTERFACE_NAME);
+    }
+}