summaryrefslogtreecommitdiffstats
path: root/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfacesstate/span/MirroredInterfacesCustomizer.java
diff options
context:
space:
mode:
authorJan Srnicek <jsrnicek@cisco.com>2016-12-14 09:54:19 +0100
committerMarek Gradzki <mgradzki@cisco.com>2016-12-14 11:29:15 +0000
commita5defc544b5664b138ecb51340c375bb664d6b52 (patch)
tree7d223bdfb85c14e3c93a89721342768f794f9566 /v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfacesstate/span/MirroredInterfacesCustomizer.java
parent179623414d44d6d85ced60b0e99a2c47a7e0bbf6 (diff)
Span model update reflecting api changes
Allows use of Rx/Tx/Both Span states Allows setting state per src-interface Change-Id: I07346bf3976be34aa85336bdeedff94f83a3173c Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Diffstat (limited to 'v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfacesstate/span/MirroredInterfacesCustomizer.java')
-rw-r--r--v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfacesstate/span/MirroredInterfacesCustomizer.java18
1 files changed, 16 insertions, 2 deletions
diff --git a/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfacesstate/span/MirroredInterfacesCustomizer.java b/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfacesstate/span/MirroredInterfacesCustomizer.java
index 2396bcfb7..f6aa4982c 100644
--- a/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfacesstate/span/MirroredInterfacesCustomizer.java
+++ b/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfacesstate/span/MirroredInterfacesCustomizer.java
@@ -32,11 +32,15 @@ import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev161214.SpanState;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev161214.VppInterfaceAugmentation;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev161214.interfaces._interface.Span;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev161214.interfaces.state._interface.SpanBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev161214.span.attributes.MirroredInterfaces;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev161214.span.attributes.MirroredInterfacesBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev161214.span.attributes.mirrored.interfaces.MirroredInterface;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev161214.span.attributes.mirrored.interfaces.MirroredInterfaceBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev161214.span.attributes.mirrored.interfaces.MirroredInterfaceKey;
import org.opendaylight.yangtools.concepts.Builder;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
@@ -79,10 +83,20 @@ public final class MirroredInterfacesCustomizer
ctx.getModificationCache().put(getCacheKey(), replyForRead);
}
- final List<String> mirroredInterfaces =
+ final List<MirroredInterface> mirroredInterfaces =
replyForRead.swInterfaceSpanDetails.stream()
.filter(detail -> detail.swIfIndexTo == dstId)
- .map(detail -> ifcContext.getName(detail.swIfIndexFrom, ctx.getMappingContext()))
+ .filter(detail -> detail.state != 0) // filters disabled(we use disabled as delete)
+ .map(detail -> {
+ final String interfaceName =
+ ifcContext.getName(detail.swIfIndexFrom, ctx.getMappingContext());
+ return new MirroredInterfaceBuilder()
+ .setIfaceRef(interfaceName)
+ .setKey(new MirroredInterfaceKey(interfaceName))
+ .setState(SpanState.forValue(detail.state))
+ .build();
+ }
+ )
.collect(Collectors.toList());
LOG.debug("Mirrored interfaces for: {} read as: {}", id, mirroredInterfaces);