1 package org.opendaylight.lispflowmapping.interfaces.dao;
3 import org.opendaylight.lispflowmapping.type.lisp.address.IMaskable;
4 import org.opendaylight.lispflowmapping.type.lisp.address.LispAddress;
5 import org.slf4j.Logger;
6 import org.slf4j.LoggerFactory;
8 public class MappingServiceKeyUtil {
10 protected static final Logger logger = LoggerFactory.getLogger(MappingServiceKeyUtil.class);
12 public static IMappingServiceKey generateMappingServiceKey(LispAddress prefix, int mask) {
13 if (shouldNormalize(prefix, mask)) {
14 ((IMaskable) prefix).normalize(mask);
15 return new MappingServiceKey(prefix, (byte) mask);
17 return new MappingServiceNoMaskKey(prefix);
21 private static boolean shouldNormalize(LispAddress prefix, int mask) {
22 if (!(prefix instanceof IMaskable)) {
25 IMaskable maskablePrefix = (IMaskable) prefix;
26 if (mask >= 0 && mask < maskablePrefix.getMaxMask()) {
33 public static IMappingServiceKey generateMappingServiceKey(LispAddress prefix) {
34 if (prefix instanceof IMaskable) {
35 return generateMappingServiceKey(prefix, ((IMaskable) prefix).getMaxMask());
37 return generateMappingServiceKey(prefix, 0);