1 package org.opendaylight.lispflowmapping.implementation.dao;
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;
10 public class MappingServiceKeyUtil {
12 protected static final Logger logger = LoggerFactory.getLogger(MappingServiceKeyUtil.class);
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);
20 return new MappingServiceNoMaskKey(lispAddressContainer);
24 public static IMappingServiceKey generateMappingServiceKey(LispAddressContainer prefix) {
25 if (MaskUtil.isMaskable(prefix.getAddress())) {
26 return generateMappingServiceKey(prefix, MaskUtil.getMaxMask(prefix.getAddress()));
28 return generateMappingServiceKey(prefix, 0);