use yang notification TELSDN-630: #close 95/3495/3
authorDavid Goldberg <david.goldberg@contextream.com>
Thu, 5 Dec 2013 09:37:10 +0000 (11:37 +0200)
committerDavid Goldberg <david.goldberg@contextream.com>
Thu, 5 Dec 2013 15:55:36 +0000 (17:55 +0200)
Signed-off-by: David Goldberg <david.goldberg@contextream.com>
Change-Id: Iaa37dfbf1f81a97271413b3ed66e74970a341a66
Signed-off-by: David Goldberg <david.goldberg@contextream.com>
12 files changed:
mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/type/sbplugin/LispNotification.java [deleted file]
mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/type/sbplugin/MapRegisterNotification.java [deleted file]
mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/type/sbplugin/MapRequestNotification.java [deleted file]
mappingservice/implementation/pom.xml
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/LispMappingService.java
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/util/LispNotificationHelper.java [new file with mode: 0644]
mappingservice/integrationtest/pom.xml
mappingservice/integrationtest/src/test/java/org/opendaylight/lispflowmapping/integrationtest/MappingServiceIntegrationTest.java
mappingservice/southbound/pom.xml
mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/lisp/LispSouthboundService.java
mappingservice/southbound/src/test/java/org/opendaylight/lispflowmapping/southbound/lisp/LispSouthboundServiceTest.java
mappingservice/yangmodel/pom.xml

diff --git a/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/type/sbplugin/LispNotification.java b/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/type/sbplugin/LispNotification.java
deleted file mode 100644 (file)
index ec4ad32..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright (c) 2013 Contextream, Inc. 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.lispflowmapping.type.sbplugin;
-
-import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.Notification;
-
-/**
- * A mapping service notification.
- */
-public interface LispNotification extends Notification, DataObject {
-
-}
diff --git a/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/type/sbplugin/MapRegisterNotification.java b/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/type/sbplugin/MapRegisterNotification.java
deleted file mode 100644 (file)
index 0ac2949..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2013 Contextream, Inc. 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.lispflowmapping.type.sbplugin;
-
-import java.net.InetAddress;
-
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapRegister;
-import org.opendaylight.yangtools.yang.binding.DataObject;
-
-public class MapRegisterNotification implements LispNotification {
-    private MapRegister mapRegister;
-    private InetAddress address;
-
-    public MapRegisterNotification(MapRegister mapRegister, InetAddress sourceAddress) {
-        this.mapRegister = mapRegister;
-        this.address = sourceAddress;
-    }
-
-    public Class<? extends DataObject> getImplementedInterface() {
-        return LispNotification.class;
-    }
-
-    public MapRegister getMapRegister() {
-        return mapRegister;
-    }
-
-    public InetAddress getSourceAddress() {
-        return address;
-    }
-}
diff --git a/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/type/sbplugin/MapRequestNotification.java b/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/type/sbplugin/MapRequestNotification.java
deleted file mode 100644 (file)
index e219cb1..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2013 Contextream, Inc. 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.lispflowmapping.type.sbplugin;
-
-import java.net.InetAddress;
-
-/**
- * A map request notification
- */
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapRequest;
-import org.opendaylight.yangtools.yang.binding.DataObject;
-
-public class MapRequestNotification implements LispNotification {
-    private MapRequest mapRequest;
-    private InetAddress address;
-
-    public MapRequestNotification(MapRequest mapRequest, InetAddress sourceAddress) {
-        this.mapRequest = mapRequest;
-        this.address = sourceAddress;
-    }
-
-    public Class<? extends DataObject> getImplementedInterface() {
-        return LispNotification.class;
-    }
-
-    public MapRequest getMapRequest() {
-        return mapRequest;
-    }
-
-    public InetAddress getSourceAddress() {
-        return address;
-    }
-}
index cf777664d1a16bd4ababf4b7ab6c797e9d4914bb..f8d0adfed8454fbed274b1a81c1e5b35a8100782 100644 (file)
@@ -53,6 +53,7 @@
                                                        org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequest,
                                                        org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequestnotification,
                                                        org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.reencaphop,
+                                                       org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.transportaddress,
                                                        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924,
                                                        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924,
                                                        org.opendaylight.controller.sal.core,
index 213057cec6223da83de7c91da1c7053dce2ce92a..1367810e7f65e043baacb0cda6a746838bdcd511 100644 (file)
@@ -8,6 +8,9 @@
 
 package org.opendaylight.lispflowmapping.implementation;
 
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
 import org.eclipse.osgi.framework.console.CommandInterpreter;
 import org.eclipse.osgi.framework.console.CommandProvider;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
@@ -21,6 +24,7 @@ import org.opendaylight.lispflowmapping.implementation.dao.MappingServiceNoMaskK
 import org.opendaylight.lispflowmapping.implementation.lisp.MapResolver;
 import org.opendaylight.lispflowmapping.implementation.lisp.MapServer;
 import org.opendaylight.lispflowmapping.implementation.util.LispAFIConvertor;
+import org.opendaylight.lispflowmapping.implementation.util.LispNotificationHelper;
 import org.opendaylight.lispflowmapping.interfaces.dao.ILispDAO;
 import org.opendaylight.lispflowmapping.interfaces.dao.ILispTypeConverter;
 import org.opendaylight.lispflowmapping.interfaces.dao.IQueryAll;
@@ -31,13 +35,12 @@ import org.opendaylight.lispflowmapping.interfaces.lisp.IMapReplyHandler;
 import org.opendaylight.lispflowmapping.interfaces.lisp.IMapResolverAsync;
 import org.opendaylight.lispflowmapping.interfaces.lisp.IMapServerAsync;
 import org.opendaylight.lispflowmapping.type.sbplugin.ILispSouthboundPlugin;
-import org.opendaylight.lispflowmapping.type.sbplugin.LispNotification;
-import org.opendaylight.lispflowmapping.type.sbplugin.MapRegisterNotification;
-import org.opendaylight.lispflowmapping.type.sbplugin.MapRequestNotification;
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.AddMapping;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapNotify;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapRegister;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapReply;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapRequest;
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.RequestMapping;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.LispAddressContainer;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.LispAddressContainerBuilder;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.lispaddresscontainer.Address;
@@ -49,8 +52,10 @@ import org.osgi.framework.FrameworkUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.net.InetAddresses;
+
 public class LispMappingService implements CommandProvider, IFlowMapping, BindingAwareConsumer, //
-        NotificationListener<LispNotification>, IMapReplyHandler, IMapNotifyHandler {
+        IMapReplyHandler, IMapNotifyHandler {
     protected static final Logger logger = LoggerFactory.getLogger(LispMappingService.class);
 
     private ILispDAO lispDao = null;
@@ -232,28 +237,33 @@ public class LispMappingService implements CommandProvider, IFlowMapping, Bindin
     public void onSessionInitialized(ConsumerContext session) {
         logger.debug("Lisp Consumer session initialized!");
         NotificationService notificationService = session.getSALService(NotificationService.class);
-        notificationService.registerNotificationListener(LispNotification.class, this);
+        // notificationService.registerNotificationListener(LispNotification.class,
+        // this);
+        notificationService.registerNotificationListener(AddMapping.class, new MapRegisterNotificationHandler());
+        notificationService.registerNotificationListener(RequestMapping.class, new MapRequestNotificationHandler());
         this.session = session;
     }
 
-    public void onNotification(LispNotification notification) {
-        try {
-            if (notification instanceof MapRegisterNotification) {
-                logger.trace("MapRegister notification recieved!");
-                MapRegisterNotification mapRegisterNotification = (MapRegisterNotification) notification;
-                MapNotify mapNotify = handleMapRegister(mapRegisterNotification.getMapRegister());
-                getLispSB().handleMapNotify(mapNotify, mapRegisterNotification.getSourceAddress());
-            } else if (notification instanceof MapRequestNotification) {
-                logger.trace("MapRequest notification recieved!");
-                MapRequestNotification mapRequestNotification = (MapRequestNotification) notification;
-                MapReply mapReply = handleMapRequest(mapRequestNotification.getMapRequest());
-                getLispSB().handleMapReply(mapReply, mapRequestNotification.getSourceAddress());
-            } else {
-                logger.error("Unknown notification: " + notification);
-            }
-        } catch (Throwable t) {
-            t.printStackTrace();
+    private class MapRegisterNotificationHandler implements NotificationListener<AddMapping> {
+
+        @Override
+        public void onNotification(AddMapping mapRegisterNotification) {
+            MapNotify mapNotify = handleMapRegister(mapRegisterNotification.getMapRegister());
+            getLispSB().handleMapNotify(mapNotify,
+                    LispNotificationHelper.getInetAddressFromIpAddress(mapRegisterNotification.getTransportAddress().getIpAddress()));
+
+        }
+    }
+
+    private class MapRequestNotificationHandler implements NotificationListener<RequestMapping> {
+
+        @Override
+        public void onNotification(RequestMapping mapRequestNotification) {
+            MapReply mapReply = handleMapRequest(mapRequestNotification.getMapRequest());
+            getLispSB().handleMapReply(mapReply,
+                    LispNotificationHelper.getInetAddressFromIpAddress(mapRequestNotification.getTransportAddress().getIpAddress()));
         }
+
     }
 
     private ILispSouthboundPlugin getLispSB() {
diff --git a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/util/LispNotificationHelper.java b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/util/LispNotificationHelper.java
new file mode 100644 (file)
index 0000000..9772303
--- /dev/null
@@ -0,0 +1,59 @@
+package org.opendaylight.lispflowmapping.implementation.util;
+
+import java.net.Inet4Address;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.mapregisternotification.MapRegister;
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.mapregisternotification.MapRegisterBuilder;
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequestnotification.MapRequest;
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequestnotification.MapRequestBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Address;
+
+public class LispNotificationHelper {
+
+    public static MapRegister convertMapRegister(org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapRegister mapRegister) {
+        return new MapRegisterBuilder().setAuthenticationData(mapRegister.getAuthenticationData())
+                .setEidToLocatorRecord(mapRegister.getEidToLocatorRecord()).setKeyId(mapRegister.getKeyId()).setNonce(mapRegister.getNonce())
+                .setProxyMapReply(mapRegister.isProxyMapReply()).setWantMapNotify(mapRegister.isWantMapNotify()).build();
+    }
+
+    public static MapRequest convertMapRequest(org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapRequest mapRequest) {
+        return new MapRequestBuilder().setAuthoritative(mapRequest.isAuthoritative()).setEidRecord(mapRequest.getEidRecord())
+                .setItrRloc(mapRequest.getItrRloc()).setMapDataPresent(mapRequest.isMapDataPresent()).setMapReply(mapRequest.getMapReply())
+                .setNonce(mapRequest.getNonce()).setPitr(mapRequest.isPitr()).setProbe(mapRequest.isProbe()).setSmr(mapRequest.isSmr())
+                .setSmrInvoked(mapRequest.isSmrInvoked()).setSourceEid(mapRequest.getSourceEid()).build();
+    }
+
+    public static IpAddress getIpAddressFromInetAddress(InetAddress inetAddress) {
+        if (inetAddress == null) {
+            inetAddress = InetAddress.getLoopbackAddress();
+        }
+        if (inetAddress instanceof Inet4Address) {
+            return new IpAddress(new Ipv4Address(inetAddress.getHostAddress()));
+        } else {
+            return new IpAddress(new Ipv6Address(inetAddress.getHostAddress()));
+        }
+    }
+
+    public static InetAddress getInetAddressFromIpAddress(IpAddress ipAddress) {
+        InetAddress address = InetAddress.getLoopbackAddress();
+        if (ipAddress == null) {
+            return address;
+        }
+        if (ipAddress.getIpv4Address() != null) {
+            try {
+                address = Inet4Address.getByName(ipAddress.getIpv4Address().getValue());
+            } catch (UnknownHostException e) {
+            }
+        } else if (ipAddress.getIpv6Address() != null) {
+            try {
+                address = Inet4Address.getByName(ipAddress.getIpv6Address().getValue());
+            } catch (UnknownHostException e) {
+            }
+        }
+        return address;
+    }
+}
index b408e564c00433d78f4a2ee7fa7ef41cf1832b96..204f2133c881e27d0f859658ce70c025ccb7b938 100644 (file)
                        <groupId>org.opendaylight.yangtools.model</groupId>
                        <artifactId>ietf-yang-types</artifactId>
                </dependency>
+               <dependency>
+                       <groupId>org.opendaylight.controller</groupId>
+                       <artifactId>config-api</artifactId>
+                       <version>0.2.3-SNAPSHOT</version>
+               </dependency>
        </dependencies>
 
        <profiles>
index 2a564c16bd4c400aa628ebb4eafb06d8e9afee2d..112238c257789128e3da90b3eccafaa25d75cbd5 100644 (file)
@@ -353,6 +353,7 @@ public class MappingServiceIntegrationTest {
                 TestHelper.mdSalCoreBundles(),
 
                 // Specific bundles
+                mavenBundle(ODL, "config-api").versionAsInProject(),
                 mavenBundle(ODL, "sal-binding-api").versionAsInProject(), //
                 mavenBundle(ODL, "sal-binding-config").versionAsInProject(),
                 mavenBundle(ODL, "sal-binding-broker-impl").versionAsInProject(), //
index 711703f46d466a6e78b508b89e06fe1b6f7363d7..26c8fc1491c0e9f6bd49fe8374170bcaa57018c4 100644 (file)
@@ -32,6 +32,9 @@
                                                        org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequest,
                                                        org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress,
                                                        org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.lispaddresscontainer,
+                                                       org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.transportaddress,
+                                                       org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.mapregisternotification,
+                                                       org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequestnotification,
                                                        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924,
                                                        org.opendaylight.controller.sal.core,
                                                        org.apache.felix.dm,
index 24f637d343462bb8df8403afc043ad5e86a694d3..c287c29c53bd72a968c219c29601dbcfbfd13030 100644 (file)
@@ -9,6 +9,7 @@
 package org.opendaylight.lispflowmapping.southbound.lisp;
 
 import java.net.DatagramPacket;
+import java.net.Inet4Address;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.nio.ByteBuffer;
@@ -19,17 +20,24 @@ import org.opendaylight.lispflowmapping.implementation.serializer.LispMessageEnu
 import org.opendaylight.lispflowmapping.implementation.serializer.MapRegisterSerializer;
 import org.opendaylight.lispflowmapping.implementation.serializer.MapRequestSerializer;
 import org.opendaylight.lispflowmapping.implementation.util.ByteUtil;
+import org.opendaylight.lispflowmapping.implementation.util.LispNotificationHelper;
 import org.opendaylight.lispflowmapping.southbound.lisp.exception.LispMalformedPacketException;
 import org.opendaylight.lispflowmapping.southbound.lisp.network.PacketHeader;
-import org.opendaylight.lispflowmapping.type.sbplugin.MapRegisterNotification;
-import org.opendaylight.lispflowmapping.type.sbplugin.MapRequestNotification;
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.AddMappingBuilder;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LispAFIAddress;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LispIpv4Address;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LispIpv6Address;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapRegister;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapRequest;
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.RequestMappingBuilder;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.lispaddresscontainer.Address;
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.mapregisternotification.MapRegisterBuilder;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequest.ItrRloc;
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequestnotification.MapRequestBuilder;
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.transportaddress.TransportAddressBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Address;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -91,9 +99,13 @@ public class LispSouthboundService implements ILispSouthboundService {
                 throw new LispMalformedPacketException("Couldn't deserialize Map-Request, no ITR Rloc found!");
             }
 
-            MapRequestNotification requestNotification = new MapRequestNotification(request, finalSourceAddress);
+            RequestMappingBuilder requestMappingBuilder = new RequestMappingBuilder();
+            requestMappingBuilder.setMapRequest(LispNotificationHelper.convertMapRequest(request));
+            TransportAddressBuilder transportAddressBuilder = new TransportAddressBuilder();
+            transportAddressBuilder.setIpAddress(LispNotificationHelper.getIpAddressFromInetAddress(finalSourceAddress));
+            requestMappingBuilder.setTransportAddress(transportAddressBuilder.build());
             if (notificationProvider != null) {
-                notificationProvider.publish(requestNotification);
+                notificationProvider.publish(requestMappingBuilder.build());
                 logger.debug("MapRequest was published!");
             } else {
                 logger.error("Notification Provider is null!");
@@ -124,9 +136,13 @@ public class LispSouthboundService implements ILispSouthboundService {
     private void handleMapRegister(ByteBuffer inBuffer, InetAddress sourceAddress) {
         try {
             MapRegister mapRegister = MapRegisterSerializer.getInstance().deserialize(inBuffer);
-            MapRegisterNotification registerNotification = new MapRegisterNotification(mapRegister, sourceAddress);
+            AddMappingBuilder addMappingBuilder = new AddMappingBuilder();
+            addMappingBuilder.setMapRegister(LispNotificationHelper.convertMapRegister(mapRegister));
+            TransportAddressBuilder transportAddressBuilder = new TransportAddressBuilder();
+            transportAddressBuilder.setIpAddress(LispNotificationHelper.getIpAddressFromInetAddress(sourceAddress));
+            addMappingBuilder.setTransportAddress(transportAddressBuilder.build());
             if (notificationProvider != null) {
-                notificationProvider.publish(registerNotification);
+                notificationProvider.publish(addMappingBuilder.build());
                 logger.debug("MapRegister was published!");
             } else {
                 logger.error("Notification Provider is null!");
index 898b44573a0d8642f0103389eb29db327f9be048..3689df5013bf90a0c4ffc45dde045f94992386ba 100644 (file)
@@ -36,12 +36,11 @@ import org.opendaylight.lispflowmapping.implementation.util.MapNotifyBuilderHelp
 import org.opendaylight.lispflowmapping.southbound.lisp.exception.LispMalformedPacketException;
 import org.opendaylight.lispflowmapping.tools.junit.BaseTestCase;
 import org.opendaylight.lispflowmapping.type.AddressFamilyNumberEnum;
-import org.opendaylight.lispflowmapping.type.sbplugin.LispNotification;
-import org.opendaylight.lispflowmapping.type.sbplugin.MapRegisterNotification;
-import org.opendaylight.lispflowmapping.type.sbplugin.MapRequestNotification;
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.AddMapping;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LispAFIAddress;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapRegister;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapRequest;
+import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.RequestMapping;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.eidrecords.EidRecord;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.eidtolocatorrecords.EidToLocatorRecord;
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.eidtolocatorrecords.EidToLocatorRecord.Action;
@@ -58,6 +57,7 @@ import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.mapnotifymessage.M
 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.mapreplymessage.MapReplyBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Address;
+import org.opendaylight.yangtools.yang.binding.Notification;
 
 public class LispSouthboundServiceTest extends BaseTestCase {
 
@@ -65,7 +65,7 @@ public class LispSouthboundServiceTest extends BaseTestCase {
     private NotificationProviderService nps;
     private byte[] mapRequestPacket;
     private byte[] mapRegisterPacket;
-    private ValueSaverAction<LispNotification> lispNotificationSaver;
+    private ValueSaverAction<Notification> lispNotificationSaver;
     // private ValueSaverAction<MapRegister> mapRegisterSaver;
     // private ValueSaverAction<MapRequest> mapRequestSaver;
     private MapNotifyBuilder mapNotifyBuilder;
@@ -100,7 +100,7 @@ public class LispSouthboundServiceTest extends BaseTestCase {
         testedLispService = new LispSouthboundService();
         nps = context.mock(NotificationProviderService.class);
         testedLispService.setNotificationProvider(nps);
-        lispNotificationSaver = new ValueSaverAction<LispNotification>();
+        lispNotificationSaver = new ValueSaverAction<Notification>();
         // mapRegisterSaver = new ValueSaverAction<MapRegister>();
         // mapRequestSaver = new ValueSaverAction<MapRequest>();
         // SRC: 127.0.0.1:58560 to 127.0.0.1:4342
@@ -214,13 +214,13 @@ public class LispSouthboundServiceTest extends BaseTestCase {
     }
 
     private MapRegister lastMapRegister() {
-        assertTrue(lispNotificationSaver.lastValue instanceof MapRegisterNotification);
-        MapRegisterNotification lastValue = (MapRegisterNotification) lispNotificationSaver.lastValue;
+        assertTrue(lispNotificationSaver.lastValue instanceof AddMapping);
+        AddMapping lastValue = (AddMapping) lispNotificationSaver.lastValue;
         return lastValue.getMapRegister();
     }
 
     private MapRequest lastMapRequest() {
-        MapRequestNotification lastValue = (MapRequestNotification) lispNotificationSaver.lastValue;
+        RequestMapping lastValue = (RequestMapping) lispNotificationSaver.lastValue;
         return lastValue.getMapRequest();
     }
 
@@ -714,7 +714,7 @@ public class LispSouthboundServiceTest extends BaseTestCase {
     }
 
     private void stubHandleRequest() {
-        allowing(nps).publish(wany(LispNotification.class));
+        allowing(nps).publish(wany(Notification.class));
     }
 
     private byte[] handleMapRequestAsByteArray(byte[] inPacket) {
index 89aaeab9fa20b8d6437b0f39d80cdc7464a4c9dc..2b7c9700c3732e6531764e555cae03951b362e27 100755 (executable)
@@ -39,7 +39,8 @@
                                                        org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.mapreplymessage,
                                                        org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequest,
                                                        org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequestnotification,
-                                                       org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.reencaphop
+                                                       org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.reencaphop,
+                                                       org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.transportaddress
                                                </Export-Package>
                                                <Import-Package>
                                                        com.google.common.collect,