*/
package org.opendaylight.protocol.bgp.evpn.impl;
-import com.google.common.collect.ImmutableCollection;
-import com.google.common.collect.ImmutableSet;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import java.util.Collection;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.destination.DestinationType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.rib.tables.Routes;
-import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
return SINGLETON;
}
- @Override
- public ImmutableCollection<Class<? extends DataObject>> cacheableAttributeObjects() {
- return ImmutableSet.of();
- }
-
- @Override
- public ImmutableCollection<Class<? extends DataObject>> cacheableNlriObjects() {
- return ImmutableSet.of();
- }
-
- @Override
- public boolean isComplexRoute() {
- return true;
- }
-
@Override
protected DestinationType buildDestination(final Collection<MapEntryNode> routes) {
return new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.update
import static java.util.Objects.requireNonNull;
import com.google.common.annotations.Beta;
-import com.google.common.collect.ImmutableCollection;
-import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import java.util.Collection;
import java.util.Optional;
this.nlriParser = requireNonNull(nlriParser);
}
- @Override
- public final ImmutableCollection<Class<? extends DataObject>> cacheableAttributeObjects() {
- return ImmutableSet.of();
- }
-
- @Override
- public final ImmutableCollection<Class<? extends DataObject>> cacheableNlriObjects() {
- return ImmutableSet.of();
- }
-
- @Override
- public final boolean isComplexRoute() {
- return true;
- }
-
@Override
protected DestinationType buildDestination(final Collection<MapEntryNode> routes) {
final MapEntryNode routesCont = Iterables.getOnlyElement(routes);
return this.prefixNid;
}
- @Override
- public final ImmutableCollection<Class<? extends DataObject>> cacheableAttributeObjects() {
- return ImmutableSet.of();
- }
-
@Override
public final ImmutableCollection<Class<? extends DataObject>> cacheableNlriObjects() {
return this.cacheableNlriObjects;
}
- @Override
- public final boolean isComplexRoute() {
- return true;
- }
-
@Override
protected void processDestination(final DOMDataWriteTransaction tx, final YangInstanceIdentifier routesPath,
final ContainerNode destination, final ContainerNode attributes, final ApplyRoute function) {
package org.opendaylight.protocol.bgp.l3vpn;
import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableCollection;
-import com.google.common.collect.ImmutableSet;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import java.util.Collection;
return routes.stream().map(this::extractVpnDestination).collect(Collectors.toList());
}
- @Override
- public ImmutableCollection<Class<? extends DataObject>> cacheableAttributeObjects() {
- return ImmutableSet.of();
- }
-
- @Override
- public ImmutableCollection<Class<? extends DataObject>> cacheableNlriObjects() {
- return ImmutableSet.of();
- }
-
- @Override
- public boolean isComplexRoute() {
- return true;
- }
-
@Override
protected void processDestination(final DOMDataWriteTransaction tx, final YangInstanceIdentifier routesPath,
final ContainerNode destination, final ContainerNode attributes, final ApplyRoute function) {
package org.opendaylight.protocol.bgp.labeled.unicast;
-import com.google.common.collect.ImmutableCollection;
-import com.google.common.collect.ImmutableSet;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import java.util.ArrayList;
super(cazeClass, containerClass, listClass, addressFamilyClass, safiClass, destinationQname);
}
- @Override
- public ImmutableCollection<Class<? extends DataObject>> cacheableAttributeObjects() {
- return ImmutableSet.of();
- }
-
- @Override
- public ImmutableCollection<Class<? extends DataObject>> cacheableNlriObjects() {
- return ImmutableSet.of();
- }
-
- @Override
- public boolean isComplexRoute() {
- return true;
- }
-
@Override
protected void processDestination(final DOMDataWriteTransaction tx, final YangInstanceIdentifier routesPath,
final ContainerNode destination, final ContainerNode attributes, final ApplyRoute function) {
*/
package org.opendaylight.protocol.bgp.linkstate.impl;
-import com.google.common.collect.ImmutableCollection;
-import com.google.common.collect.ImmutableSet;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import java.util.Arrays;
return routes.stream().map(LinkstateNlriParser::extractLinkstateDestination).collect(Collectors.toList());
}
- @Override
- public ImmutableCollection<Class<? extends DataObject>> cacheableAttributeObjects() {
- return ImmutableSet.of();
- }
-
- @Override
- public ImmutableCollection<Class<? extends DataObject>> cacheableNlriObjects() {
- return ImmutableSet.of();
- }
-
- @Override
- public boolean isComplexRoute() {
- return true;
- }
-
@Override
protected void processDestination(final DOMDataWriteTransaction tx, final YangInstanceIdentifier routesPath,
final ContainerNode destination, final ContainerNode attributes, final ApplyRoute function) {
package org.opendaylight.protocol.bgp.rib.spi;
import com.google.common.collect.ImmutableCollection;
+import com.google.common.collect.ImmutableSet;
import java.util.Collection;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
Class<? extends Route> routesListClass();
@Nonnull
- ImmutableCollection<Class<? extends DataObject>> cacheableAttributeObjects();
+ default ImmutableCollection<Class<? extends DataObject>> cacheableAttributeObjects() {
+ return ImmutableSet.of();
+ }
@Nonnull
- ImmutableCollection<Class<? extends DataObject>> cacheableNlriObjects();
+ default ImmutableCollection<Class<? extends DataObject>> cacheableNlriObjects() {
+ return ImmutableSet.of();
+ }
/**
* Given the NLRI as ContainerNode, this method should extract withdrawn routes
* @deprecated All routes are complex.
*/
@Deprecated
- boolean isComplexRoute();
+ default boolean isComplexRoute() {
+ return true;
+ }
/**
* To send routes out, we'd need to transform the DOM representation of route to
.bgp.inet.rev180329.ipv4.routes.ipv4.routes.Ipv4Route.QNAME), PREFIX_NII, destination, attributes);
}
- @Override
- public ImmutableCollection<Class<? extends DataObject>> cacheableAttributeObjects() {
- return null;
- }
-
- @Override
- public ImmutableCollection<Class<? extends DataObject>> cacheableNlriObjects() {
- return null;
- }
-
- @Override
- public boolean isComplexRoute() {
- return false;
- }
-
@Override
public Route createRoute(final Route route, final String routeKey, final long pathId, final Attributes attributes) {
return null;