Use YANG java files instead of the old model TELSDN-474 #close
[lispflowmapping.git] / mappingservice / implementation / src / main / java / org / opendaylight / lispflowmapping / implementation / dao / MappingServiceKeyUtil.java
1 package org.opendaylight.lispflowmapping.implementation.dao;
2
3 import org.opendaylight.lispflowmapping.implementation.util.MaskUtil;
4 import org.opendaylight.lispflowmapping.interfaces.dao.IMappingServiceKey;
5 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.LispAddressContainer;
6 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.LispAddressContainerBuilder;
7 import org.slf4j.Logger;
8 import org.slf4j.LoggerFactory;
9
10 public class MappingServiceKeyUtil {
11
12     protected static final Logger logger = LoggerFactory.getLogger(MappingServiceKeyUtil.class);
13
14     public static IMappingServiceKey generateMappingServiceKey(LispAddressContainer lispAddressContainer, int mask) {
15         if (MaskUtil.isMaskable(lispAddressContainer.getAddress())) {
16             LispAddressContainerBuilder normalizedBuilder = new LispAddressContainerBuilder();
17             normalizedBuilder.setAddress(MaskUtil.normalize(lispAddressContainer.getAddress(), mask));
18             return new MappingServiceKey(normalizedBuilder.build(), mask);
19         } else {
20             return new MappingServiceNoMaskKey(lispAddressContainer);
21         }
22     }
23
24     public static IMappingServiceKey generateMappingServiceKey(LispAddressContainer prefix) {
25         if (MaskUtil.isMaskable(prefix.getAddress())) {
26             return generateMappingServiceKey(prefix, MaskUtil.getMaxMask(prefix.getAddress()));
27         } else
28             return generateMappingServiceKey(prefix, 0);
29     }
30 }