Move integration tests to mdsal-it-parent
[lispflowmapping.git] / mappingservice / implementation / src / main / java / org / opendaylight / lispflowmapping / implementation / dao / MappingKeyUtil.java
1 /*
2  * Copyright (c) 2014 Contextream, Inc. and others.  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.dao;
9
10 import org.opendaylight.lispflowmapping.implementation.util.MaskUtil;
11 import org.opendaylight.lispflowmapping.interfaces.dao.IMappingKey;
12 import org.opendaylight.lispflowmapping.lisp.util.LispAFIConvertor;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.LispAFIAddress;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.LispAddressContainer;
15
16 public class MappingKeyUtil {
17
18     public static IMappingKey generateMappingKey(LispAddressContainer lispAddressContainer, int mask) {
19         LispAFIAddress address = LispAFIConvertor.toAFI(lispAddressContainer);
20         if (MaskUtil.isMaskable(address)) {
21             LispAddressContainer normalizedAddress = LispAFIConvertor.toContainer(MaskUtil.normalize(address, mask));
22             return new MappingKey(normalizedAddress, mask);
23         } else {
24             return new MappingNoMaskKey(lispAddressContainer);
25         }
26     }
27
28     public static IMappingKey generateMappingKey(LispAFIAddress address, int mask) {
29         if (MaskUtil.isMaskable(address)) {
30             LispAddressContainer normalizedAddress = LispAFIConvertor.toContainer(MaskUtil.normalize(address, mask));
31             return new MappingKey(normalizedAddress, mask);
32         } else {
33             return new MappingNoMaskKey(LispAFIConvertor.toContainer(address));
34         }
35     }
36
37     public static IMappingKey generateMappingKey(LispAddressContainer lispAddressContainer) {
38         LispAFIAddress address = LispAFIConvertor.toAFI(lispAddressContainer);
39         if (MaskUtil.isMaskable(address)) {
40             return generateMappingKey(lispAddressContainer, MaskUtil.getMaxMask(address));
41         } else
42             return generateMappingKey(lispAddressContainer, 0);
43     }
44 }