package org.opendaylight.protocol.bgp.rib.spi;
-import com.google.common.base.Optional;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev171207.PeerRole;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev171207.bgp.rib.rib.Peer;
-import org.opendaylight.yangtools.yang.binding.BindingMapping;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
public final class PeerRoleUtil {
- public static final NodeIdentifier PEER_ROLE_NID = new NodeIdentifier(QName.create(Peer.QNAME,
- "peer-role").intern());
private PeerRoleUtil() {
throw new UnsupportedOperationException();
}
- public static PeerRole roleForChange(final Optional<NormalizedNode<?, ?>> maybePeerRole) {
- if (maybePeerRole.isPresent()) {
- final LeafNode<?> peerRoleLeaf = (LeafNode<?>) maybePeerRole.get();
- return PeerRole.valueOf(BindingMapping.getClassName((String) peerRoleLeaf.getValue()));
- }
- return null;
- }
-
public static String roleForString(final PeerRole role) {
switch (role) {
case Ebgp:
package org.opendaylight.protocol.bgp.rib.spi;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import com.google.common.base.Optional;
import org.junit.Test;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev171207.PeerRole;
-import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafNodeBuilder;
public class PeerRoleUtilTest {
- @Test
- public void roleForChange() {
- assertNull(PeerRoleUtil.roleForChange(Optional.fromNullable(null)));
- assertEquals(PeerRole.Ebgp, PeerRoleUtil.roleForChange(Optional.of(new ImmutableLeafNodeBuilder<>()
- .withNodeIdentifier(PeerRoleUtil.PEER_ROLE_NID).withValue("ebgp").build())));
- }
-
@Test
public void roleForString() {
assertEquals("ebgp", PeerRoleUtil.roleForString(PeerRole.Ebgp));