protected RoutedStrategy(final SchemaPath path, final Method rpcMethod, final QName leafName) { super(path); final Optional<Class<? extends Instantiable<?>>> maybeInputType = BindingReflections.resolveOperationInputClass(rpcMethod); Preconditions.checkState(maybeInputType.isPresent(), "RPC method %s has no input", rpcMethod.getName()); final Class<? extends Instantiable<?>> inputType = maybeInputType.get(); refExtractor = ContextReferenceExtractor.from(inputType); this.contextName = new NodeIdentifier(leafName); }
@Override public NodeIdentifier load(@Nonnull final QName key) { return new NodeIdentifier(key); } });
@Override public NodeIdentifier load(@Nonnull final QName key) { return new NodeIdentifier(key); } });
private static Collection<RegistrationTreeNode<DataChangeListenerRegistration<?>>> getListenerChildrenWildcarded(final Collection<RegistrationTreeNode<DataChangeListenerRegistration<?>>> parentNodes, final PathArgument child) { if (parentNodes.isEmpty()) { return Collections.emptyList(); } final List<RegistrationTreeNode<DataChangeListenerRegistration<?>>> result = new ArrayList<>(); if (child instanceof NodeWithValue || child instanceof NodeIdentifierWithPredicates) { NodeIdentifier wildcardedIdentifier = new NodeIdentifier(child.getNodeType()); addChildNodes(result, parentNodes, wildcardedIdentifier); } addChildNodes(result, parentNodes, child); return result; }
public ImmutableOrderedLeafSetNodeSchemaAwareBuilder(final LeafListSchemaNode schema, final ImmutableOrderedLeafSetNode<T> node) { super(node); this.schema = requireNonNull(schema); // FIXME: Preconditions.checkArgument(schema.getQName().equals(node.getIdentifier())); super.withNodeIdentifier(new NodeIdentifier(schema.getQName())); }
@Test public void testLeafSetEntryNodePrunedWhenHasParentAndSchemaMissing() throws IOException { NormalizedNodePruner pruner = prunerFullSchema(TestModel.TEST_PATH.node(TestModel.INVALID_QNAME)); LeafSetEntryNode<Object> child = Builders.leafSetEntryBuilder().withValue("test").withNodeIdentifier( new NodeWithValue<>(TestModel.INVALID_QNAME, "test")).build(); NormalizedNode<?, ?> input = Builders.leafSetBuilder().withNodeIdentifier( new NodeIdentifier(TestModel.INVALID_QNAME)).withChild(child).build(); NormalizedNodeWriter.forStreamWriter(pruner).write(input); NormalizedNode<?, ?> actual = pruner.normalizedNode(); assertNull(actual); }
@Test public void testLeafSetEntryNodeNotPrunedWhenHasParent() throws IOException { NormalizedNodePruner pruner = prunerFullSchema(TestModel.TEST_PATH.node(TestModel.SHOE_QNAME)); LeafSetEntryNode<Object> child = Builders.leafSetEntryBuilder().withValue("puma").withNodeIdentifier( new NodeWithValue<>(TestModel.SHOE_QNAME, "puma")).build(); NormalizedNode<?, ?> input = Builders.leafSetBuilder().withNodeIdentifier( new NodeIdentifier(TestModel.SHOE_QNAME)).withChild(child).build(); NormalizedNodeWriter.forStreamWriter(pruner).write(input); NormalizedNode<?, ?> actual = pruner.normalizedNode(); assertEquals("normalizedNode", input, actual); }
@Test public void testLeafNodePrunedWhenHasNoParentAndSchemaMissing() throws IOException { NormalizedNodePruner pruner = prunerFullSchema(TestModel.TEST_PATH.node(TestModel.INVALID_QNAME)); NormalizedNode<?, ?> input = Builders.leafBuilder().withNodeIdentifier( new NodeIdentifier(TestModel.INVALID_QNAME)).withValue("test").build(); NormalizedNodeWriter.forStreamWriter(pruner).write(input); NormalizedNode<?, ?> actual = pruner.normalizedNode(); assertNull(actual); }
@Test public void testLeafNodeNotPrunedWhenHasNoParent() throws IOException { NormalizedNodePruner pruner = prunerFullSchema(TestModel.TEST_PATH.node(TestModel.DESC_QNAME)); NormalizedNode<?, ?> input = Builders.leafBuilder().withNodeIdentifier( new NodeIdentifier(TestModel.DESC_QNAME)).withValue("test").build(); NormalizedNodeWriter.forStreamWriter(pruner).write(input); NormalizedNode<?, ?> actual = pruner.normalizedNode(); assertEquals("normalizedNode", input, actual); }
LeafNodeCodecContext(final DataSchemaNode schema, final Codec<Object, Object> codec, final Method getter, final SchemaContext schemaContext) { this.yangIdentifier = new YangInstanceIdentifier.NodeIdentifier(schema.getQName()); this.valueCodec = Preconditions.checkNotNull(codec); this.getter = Preconditions.checkNotNull(getter); this.schema = Preconditions.checkNotNull(schema); this.defaultObject = createDefaultObject(schema, valueCodec, schemaContext); }
private Optional<UnkeyedListNode> build(ListSchemaNode schema, List<UnkeyedListEntryNode> resultNodes) { if (resultNodes.isEmpty()) { return Optional.absent(); } CollectionNodeBuilder<UnkeyedListEntryNode, UnkeyedListNode> b = Builders.unkeyedListBuilder(); b.withNodeIdentifier(new NodeIdentifier(schema.getQName())); for (UnkeyedListEntryNode child : resultNodes) { b.withChild(child); } return Optional.of(b.build()); }
@Override public NodeCodecContext<?> yangPathArgumentChild(final YangInstanceIdentifier.PathArgument arg) { final DataContainerCodecPrototype<?> cazeProto; if (arg instanceof YangInstanceIdentifier.NodeIdentifierWithPredicates) { cazeProto = byYangCaseChild.get(new NodeIdentifier(arg.getNodeType())); } else { cazeProto = byYangCaseChild.get(arg); } return childNonNull(cazeProto, arg, "Argument %s is not valid child of %s", arg, getSchema()).get() .yangPathArgumentChild(arg); }
private LazySerializedContainerNode(final QName identifier, final DataObject binding, final BindingNormalizedNodeSerializer registry) { this.identifier = new NodeIdentifier(identifier); this.bindingData = binding; this.registry = registry; this.domData = null; }
protected RoutedStrategy(final SchemaPath path, final Method rpcMethod, final QName leafName) { super(path); final Class<? extends DataContainer> inputType = BindingReflections.resolveRpcInputClass(rpcMethod).get(); refExtractor = ContextReferenceExtractor.from(inputType); this.contextName = new NodeIdentifier(leafName); }
@Test public void testLeafNodePrunedWhenHasAugmentationParentAndSchemaMissing() throws IOException { AugmentationIdentifier augId = new AugmentationIdentifier(Sets.newHashSet(TestModel.AUG_CONT_QNAME)); NormalizedNodePruner pruner = prunerFullSchema(YangInstanceIdentifier.builder() .node(TestModel.TEST_QNAME).node(TestModel.AUGMENTED_LIST_QNAME) .node(TestModel.AUGMENTED_LIST_QNAME).node(augId).build()); LeafNode<Object> child = Builders.leafBuilder().withNodeIdentifier( new NodeIdentifier(TestModel.INVALID_QNAME)).withValue("test").build(); NormalizedNode<?, ?> input = Builders.augmentationBuilder().withNodeIdentifier(augId).withChild(child).build(); NormalizedNodeWriter.forStreamWriter(pruner).write(input); NormalizedNode<?, ?> actual = pruner.normalizedNode(); assertEquals("normalizedNode", Builders.augmentationBuilder().withNodeIdentifier(augId).build(), actual); }
/** * Constructs a new Instance Identifier with new {@link NodeIdentifier} added to the end of path arguments. * * @param name QName of {@link NodeIdentifier} * @return Instance Identifier with additional path argument added to the end. */ public final YangInstanceIdentifier node(final QName name) { return node(new NodeIdentifier(name)); }
public ImmutableLeafSetNodeSchemaAwareBuilder(final LeafListSchemaNode schema, final ImmutableLeafSetNode<T> node) { super(node); this.schema = requireNonNull(schema); // FIXME: Preconditions.checkArgument(schema.getQName().equals(node.getIdentifier())); super.withNodeIdentifier(new NodeIdentifier(schema.getQName())); }
@Test public void testAnyXMLNodeNotPrunedWhenHasNoParent() throws IOException { NormalizedNodePruner pruner = prunerFullSchema(TestModel.TEST_PATH.node(TestModel.ANY_XML_QNAME)); NormalizedNode<?, ?> input = Builders.anyXmlBuilder().withNodeIdentifier( new NodeIdentifier(TestModel.ANY_XML_QNAME)).withValue(mock(DOMSource.class)).build(); NormalizedNodeWriter.forStreamWriter(pruner).write(input); NormalizedNode<?, ?> actual = pruner.normalizedNode(); assertEquals("normalizedNode", input, actual); }
@Test public void testAnyXmlNodePrunedWhenHasNoParentAndSchemaMissing() throws IOException { NormalizedNodePruner pruner = prunerNoTestSchema(TestModel.TEST_PATH.node(TestModel.ANY_XML_QNAME)); NormalizedNode<?, ?> input = Builders.anyXmlBuilder().withNodeIdentifier( new NodeIdentifier(TestModel.ANY_XML_QNAME)).withValue(mock(DOMSource.class)).build(); NormalizedNodeWriter.forStreamWriter(pruner).write(input); NormalizedNode<?, ?> actual = pruner.normalizedNode(); assertNull(actual); }
UnorderedMapMixinNormalization(final ListSchemaNode list) { super(new NodeIdentifier(list.getQName()),list); this.innerNode = new ListItemNormalization(new NodeIdentifierWithPredicates(list.getQName(), Collections.<QName, Object>emptyMap()), list); }