@Override public NodeIdentifier getIdentifier() { return delegate().getIdentifier(); }
@Override public Esi parseEsiModel(final ChoiceNode esiChoice) { Preconditions.checkArgument(esiChoice != null && !esiChoice.getValue().isEmpty(), "ESI is mandatory. Can't be null or empty."); final ContainerNode cont = (ContainerNode) Iterables.getOnlyElement(esiChoice.getValue()); final EsiSerializer serializer = this.modelHandlers.get(cont.getIdentifier()); if (serializer != null) { return serializer.serializeEsi(cont); } LOG.warn("Unrecognized ESI {}", esiChoice); return null; }
private EvpnChoice getEvpnCase(final ChoiceNode evpnChoice, final SerializerInterface serializerInterface) { Preconditions.checkArgument(evpnChoice != null && !evpnChoice.getValue().isEmpty(), "Evpn case is mandatory. Can't be null or empty."); final ContainerNode cont = (ContainerNode) Iterables.getOnlyElement(evpnChoice.getValue()); final EvpnSerializer serializer = this.modelHandlers.get(cont.getIdentifier()); if (serializer == null) { return null; } return serializerInterface.check(serializer, cont); } }
@Override protected NormalizedNode<?, ?> createEmptyValue(final NormalizedNode<?, ?> original) { Preconditions.checkArgument(original instanceof ContainerNode); return ImmutableContainerNodeBuilder.create().withNodeIdentifier(((ContainerNode) original).getIdentifier()) .build(); } }
@Override protected NormalizedNode<?, ?> createEmptyValue(final NormalizedNode<?, ?> original) { Preconditions.checkArgument(original instanceof ContainerNode); return ImmutableContainerNodeBuilder.create().withNodeIdentifier(((ContainerNode) original).getIdentifier()) .build(); } }
private DataContainerChild<?, ?> processContainerNode(final NormalizedNode<?, ?> node, final Integer depth) { final ContainerNode containerNode = (ContainerNode) node; DataContainerNodeAttrBuilder<NodeIdentifier, ContainerNode> newContainerBuilder = Builders.containerBuilder() .withNodeIdentifier(containerNode.getIdentifier()); if (depth > 1) { processDataContainerChild((DataContainerNode<?>) node, depth, newContainerBuilder); } return newContainerBuilder.build(); }
/** * Filter out all non-transitive attributes. * * @param attributes Input attributes * @return Output attributes, transitive only. */ ContainerNode transitiveAttributes(final ContainerNode attributes) { final DataContainerNodeAttrBuilder<NodeIdentifier, ContainerNode> b = Builders.containerBuilder(); b.withNodeIdentifier(attributes.getIdentifier()); final boolean modified = spliceTransitives(b, attributes); return modified ? b.build() : attributes; }
private void installAdjRibsOutTables(final YangInstanceIdentifier newPeerPath, final RIBSupportContext rs, final NodeIdentifierWithPredicates instanceIdentifierKey, final TablesKey tableKey, final SendReceive sendReceive, final DOMDataWriteTransaction tx) { if (!isAnnounceNone(this.simpleRoutingPolicy)) { final NodeIdentifierWithPredicates supTablesKey = RibSupportUtils.toYangKey(SupportedTables.QNAME, tableKey); final DataContainerNodeAttrBuilder<NodeIdentifierWithPredicates, MapEntryNode> tt = Builders.mapEntryBuilder().withNodeIdentifier(supTablesKey); for (final Entry<QName, Object> e : supTablesKey.getKeyValues().entrySet()) { tt.withChild(ImmutableNodes.leafNode(e.getKey(), e.getValue())); } if(sendReceive != null) { tt.withChild(ImmutableNodes.leafNode(SEND_RECEIVE, sendReceive.toString().toLowerCase())); } tx.put(LogicalDatastoreType.OPERATIONAL, newPeerPath.node(PEER_TABLES).node(supTablesKey), tt.build()); rs.createEmptyTableStructure(tx, newPeerPath.node(EMPTY_ADJRIBOUT.getIdentifier()).node(TABLES).node(instanceIdentifierKey)); } }
private void installAdjRibInTables(final YangInstanceIdentifier newPeerPath, final TablesKey tableKey, final RIBSupportContext rs, final NodeIdentifierWithPredicates instanceIdentifierKey, final DOMDataWriteTransaction tx, final Builder<TablesKey, TableContext> tb) { // We will use table keys very often, make sure they are optimized final InstanceIdentifierBuilder idb = YangInstanceIdentifier.builder(newPeerPath.node(EMPTY_ADJRIBIN.getIdentifier()).node(TABLES)); idb.nodeWithKey(instanceIdentifierKey.getNodeType(), instanceIdentifierKey.getKeyValues()); final TableContext ctx = new TableContext(rs, idb.build()); ctx.createEmptyTableStructure(tx); tx.merge(LogicalDatastoreType.OPERATIONAL, ctx.getTableId().node(Attributes.QNAME).node(ATTRIBUTES_UPTODATE_FALSE.getNodeType()), ATTRIBUTES_UPTODATE_FALSE); LOG.debug("Created table instance {}", ctx.getTableId()); tb.put(tableKey, ctx); }
ContainerNode exportedAttributes(final ContainerNode attributes, final Long localAs) { final DataContainerNodeAttrBuilder<NodeIdentifier, ContainerNode> containerBuilder = Builders.containerBuilder(); containerBuilder.withNodeIdentifier(attributes.getIdentifier());
final ContainerNode n = (ContainerNode) node; if(writer instanceof NormalizedNodeStreamAttributeWriter) { ((NormalizedNodeStreamAttributeWriter) writer).startContainerNode(n.getIdentifier(), OrderedNormalizedNodeWriter.childSizeHint(n.getValue()), n.getAttributes()); } else { writer.startContainerNode(n.getIdentifier(), OrderedNormalizedNodeWriter.childSizeHint(n.getValue()));
final ContainerNode n = (ContainerNode) node; if(writer instanceof NormalizedNodeStreamAttributeWriter) { ((NormalizedNodeStreamAttributeWriter) writer).startContainerNode(n.getIdentifier(), childSizeHint(n.getValue()), n.getAttributes()); } else { writer.startContainerNode(n.getIdentifier(), childSizeHint(n.getValue()));
final ContainerNode n = (ContainerNode) node; if (writer instanceof NormalizedNodeStreamAttributeWriter) { ((NormalizedNodeStreamAttributeWriter) writer).startContainerNode(n.getIdentifier(), childSizeHint(n.getValue()), n.getAttributes()); } else { writer.startContainerNode(n.getIdentifier(), childSizeHint(n.getValue()));
final ContainerNode n = (ContainerNode) node; if (writer instanceof NormalizedNodeStreamAttributeWriter) { ((NormalizedNodeStreamAttributeWriter) writer).startContainerNode(n.getIdentifier(), childSizeHint(n.getValue()), n.getAttributes()); } else { writer.startContainerNode(n.getIdentifier(), childSizeHint(n.getValue()));