BUG-6650: ep-ip/sgt, update/rename models and yangs for sxp-ise-adapter
[groupbasedpolicy.git] / sxp-mapper / src / main / java / org / opendaylight / groupbasedpolicy / sxp / mapper / impl / util / IpPrefixEqualCommandSubnetImpl.java
1 /*
2  * Copyright (c) 2016 Cisco Systems, 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.groupbasedpolicy.sxp.mapper.impl.util;
9
10 import javax.annotation.Nonnull;
11 import org.apache.commons.net.util.SubnetUtils;
12 import org.opendaylight.groupbasedpolicy.sxp.mapper.api.IpPrefixEqualCommand;
13 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
14
15 /**
16  * Purpose: provide equal using {@link SubnetUtils.SubnetInfo#isInRange(String)} method
17  */
18 public class IpPrefixEqualCommandSubnetImpl implements IpPrefixEqualCommand {
19     private final SubnetUtils.SubnetInfo myValue;
20
21     public IpPrefixEqualCommandSubnetImpl(@Nonnull final IpPrefix myValue) {
22         this.myValue = new SubnetUtils(stripToCidr(myValue)).getInfo();
23     }
24
25     @Override
26     public boolean isEqualTo(final IpPrefix value) {
27         return myValue.isInRange(stripToCidr(value));
28     }
29
30     private String stripToCidr(final IpPrefix value) {
31         return value.getIpv4Prefix().getValue();
32     }
33 }