2 * Copyright (c) 2014 Contextream, Inc. and others. All rights reserved.
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
8 package org.opendaylight.lispflowmapping.implementation.dao;
10 import org.opendaylight.lispflowmapping.implementation.util.MaskUtil;
11 import org.opendaylight.lispflowmapping.interfaces.dao.IMappingServiceKey;
12 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.LispAddressContainer;
13 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.LispAddressContainerBuilder;
15 public class MappingServiceKeyUtil {
17 public static IMappingServiceKey generateMappingServiceKey(LispAddressContainer lispAddressContainer, int mask) {
18 if (MaskUtil.isMaskable(lispAddressContainer.getAddress())) {
19 LispAddressContainerBuilder normalizedBuilder = new LispAddressContainerBuilder();
20 normalizedBuilder.setAddress(MaskUtil.normalize(lispAddressContainer.getAddress(), mask));
21 return new MappingServiceKey(normalizedBuilder.build(), mask);
23 return new MappingServiceNoMaskKey(lispAddressContainer);
27 public static IMappingServiceKey generateMappingServiceKey(LispAddressContainer lispAddressContainer) {
28 if (MaskUtil.isMaskable(lispAddressContainer.getAddress())) {
29 return generateMappingServiceKey(lispAddressContainer, MaskUtil.getMaxMask(lispAddressContainer.getAddress()));
31 return generateMappingServiceKey(lispAddressContainer, 0);