Move integration tests to mdsal-it-parent
[lispflowmapping.git] / mappingservice / implementation / src / main / java / org / opendaylight / lispflowmapping / implementation / util / MapServerMapResolverUtil.java
1 /*
2  * Copyright (c) 2015 Cisco Systems, Inc.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.lispflowmapping.implementation.util;
9
10 import java.util.ArrayList;
11 import java.util.List;
12
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.EidToLocatorRecord;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.MapRegister;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.MapRequest;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.eidrecords.EidRecord;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.eidrecords.EidRecordBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.eidtolocatorrecords.EidToLocatorRecordBuilder;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.LispAddressContainer;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.mapregisternotification.MapRegisterBuilder;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.maprequestnotification.MapRequestBuilder;
22
23 /**
24  * Utilities to prepare MapRegister and MapRequest object for interaction with
25  * the IFlowMapping API.
26  *
27  * @author Lorand Jakab
28  *
29  */
30 public class MapServerMapResolverUtil {
31
32     public static MapRegister getMapRegister(EidToLocatorRecord mapping) {
33         MapRegisterBuilder mrb = new MapRegisterBuilder();
34         mrb.setEidToLocatorRecord(getEidToLocatorRecord(mapping));
35         return mrb.build();
36     }
37
38     public static MapRequest getMapRequest(LispAddressContainer address, short mask) {
39         MapRequestBuilder mrb = new MapRequestBuilder();
40         mrb.setPitr(false);
41         mrb.setEidRecord(getEidRecord(address, mask));
42         return mrb.build();
43     }
44
45     public static List<org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.eidtolocatorrecords.EidToLocatorRecord> getEidToLocatorRecord(EidToLocatorRecord mapping) {
46         EidToLocatorRecordBuilder etlrb = new EidToLocatorRecordBuilder();
47         etlrb.setRecordTtl(mapping.getRecordTtl());
48         etlrb.setMaskLength(mapping.getMaskLength());
49         etlrb.setMapVersion(mapping.getMapVersion());
50         etlrb.setAction(mapping.getAction());
51         etlrb.setAuthoritative(mapping.isAuthoritative());
52         etlrb.setLispAddressContainer(mapping.getLispAddressContainer());
53         etlrb.setLocatorRecord(mapping.getLocatorRecord());
54
55         List<org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.eidtolocatorrecords.EidToLocatorRecord> mappings =
56                 new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.eidtolocatorrecords.EidToLocatorRecord>();
57         mappings.add(etlrb.build());
58         return mappings;
59     }
60
61     public static List<EidRecord> getEidRecord(LispAddressContainer address, short mask) {
62         EidRecordBuilder erb = new EidRecordBuilder();
63         erb.setLispAddressContainer(address);
64         erb.setMask(mask);
65
66         List<EidRecord> records = new ArrayList<EidRecord>();
67         records.add(erb.build());
68         return records;
69     }
70 }