Make part of the Subscribers object modeled
[lispflowmapping.git] / mappingservice / implementation / src / main / java / org / opendaylight / lispflowmapping / implementation / util / MSNotificationInputUtil.java
index c68b855c69e5da5346245f6ddc0e0d145e8b8217..3c455839de18950cbafd6d0f4f99add18f6da1ac 100644 (file)
@@ -8,10 +8,17 @@
 
 package org.opendaylight.lispflowmapping.implementation.util;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+import org.opendaylight.lispflowmapping.interfaces.dao.Subscriber;
+import org.opendaylight.lispflowmapping.lisp.type.MappingData;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.MappingChange;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.MappingChanged;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.MappingChangedBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.db.instance.Mapping;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.mapping.changed.SubscriberItem;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.mapping.changed.SubscriberItemBuilder;
 
 /**
  * Utility class to convert a mapping change into a notification.
@@ -28,4 +35,15 @@ public final class MSNotificationInputUtil {
         return new MappingChangedBuilder().setMappingRecord(input.getMappingRecord())
                 .setChangeType(change).build();
     }
+
+    public static MappingChanged toMappingChanged(MappingData mapping, Set<Subscriber> subscribers,
+            MappingChange change) {
+        List<SubscriberItem> subscriberList = new ArrayList<SubscriberItem>();
+        for (Subscriber subscriber : subscribers) {
+            subscriberList.add(new SubscriberItemBuilder().setSubscriberAddress(
+                    subscriber.getSubscriberAddress()).build());
+        }
+        return new MappingChangedBuilder().setMappingRecord(mapping.getRecord()).setSubscriberItem(subscriberList)
+                .setChangeType(change).build();
+    }
 }