X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=mappingservice%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Flispflowmapping%2Fimplementation%2Futil%2FDSBEInputUtil.java;h=41495ec7f180b093e1dc7fd2eea3264cf9432651;hb=19face1c20178f24fbe9caa81bac69938e853ab4;hp=d142d335d74b28a4dc639ed56bb800be5a14b347;hpb=55fea4a38da61d3f7b156be3af7a4179d503f33c;p=lispflowmapping.git diff --git a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/util/DSBEInputUtil.java b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/util/DSBEInputUtil.java index d142d335d..41495ec7f 100644 --- a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/util/DSBEInputUtil.java +++ b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/util/DSBEInputUtil.java @@ -5,17 +5,19 @@ * 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.implementation.util; -import java.util.Arrays; -import java.util.List; +import static java.util.Objects.requireNonNull; +import edu.umd.cs.findbugs.annotations.Nullable; +import java.util.Set; +import org.opendaylight.lispflowmapping.lisp.type.MappingData; import org.opendaylight.lispflowmapping.lisp.util.LispAddressStringifier; import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.SiteId; import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid; -import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecord; -import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecordBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping._record.container.MappingRecord; +import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping._record.container.MappingRecordBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.authkey.container.MappingAuthkey; import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.EidUri; import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.MappingOrigin; import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.XtrIdUri; @@ -25,21 +27,37 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev15090 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.db.instance.MappingBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.db.instance.mapping.XtrIdMapping; import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.db.instance.mapping.XtrIdMappingBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.mapping.authkey.container.MappingAuthkey; /** - * @author Florin Coras + * DataStoreBackEnd utilities. * + * @author Florin Coras */ public final class DSBEInputUtil { // Utility class, should not be instantiated private DSBEInputUtil() { } - public static Mapping toMapping(MappingOrigin origin, Eid key, SiteId siteId, MappingRecord record) { - List siteIds = (siteId != null) ? Arrays.asList(siteId) : null; - return new MappingBuilder().setEidUri(new EidUri(LispAddressStringifier.getURIString(key))) - .setOrigin(origin).setSiteId(siteIds).setMappingRecord(record).build(); + public static Mapping toMapping(MappingOrigin origin, Eid key, SiteId siteId, MappingData mappingData) { + MappingRecord record = mappingData != null ? mappingData.getRecord() : null; + Set siteIds = siteId != null ? Set.of(siteId) : null; + return new MappingBuilder() + .setEidUri(new EidUri(LispAddressStringifier.getURIString(key))) + .setOrigin(origin) + .setSiteId(siteIds) + .setMappingRecord(record).build(); + } + + public static Mapping toMapping(MappingOrigin origin, Eid key, @Nullable MappingData mappingData) { + MappingRecord record = mappingData != null ? mappingData.getRecord() : + new MappingRecordBuilder().setEid(key).build(); + SiteId siteId = record != null ? record.getSiteId() : null; + Set siteIds = siteId != null ? Set.of(siteId) : null; + return new MappingBuilder() + .setEidUri(new EidUri(LispAddressStringifier.getURIString(key))) + .setOrigin(origin) + .setSiteId(siteIds) + .setMappingRecord(record).build(); } public static Mapping toMapping(MappingOrigin origin, Eid key) { @@ -50,9 +68,13 @@ public final class DSBEInputUtil { return mb.build(); } - public static XtrIdMapping toXtrIdMapping(MappingRecord record) { - return new XtrIdMappingBuilder().setXtrIdUri( - new XtrIdUri(LispAddressStringifier.getURIString(record.getXtrId()))).setMappingRecord(record).build(); + public static XtrIdMapping toXtrIdMapping(MappingData mappingData) { + requireNonNull(mappingData); + MappingRecord record = mappingData.getRecord(); + requireNonNull(mappingData.getRecord()); + return new XtrIdMappingBuilder() + .setXtrIdUri(new XtrIdUri(LispAddressStringifier.getURIString(record.getXtrId()))) + .setMappingRecord(record).build(); } public static AuthenticationKey toAuthenticationKey(Eid key, MappingAuthkey authKey) {