import org.w3c.dom.Node;
// FIXME: seal when we have JDK17+
-public abstract class AbstractGet extends AbstractSingletonNetconfOperation {
+abstract class AbstractGet extends AbstractSingletonNetconfOperation {
private static final XMLOutputFactory XML_OUTPUT_FACTORY;
private static final String FILTER = "filter";
XML_OUTPUT_FACTORY.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, true);
}
- // FIXME: hide this field
- protected final CurrentSchemaContext schemaContext;
+ private final CurrentSchemaContext schemaContext;
private final FilterContentValidator validator;
- // FIXME: package-private
- protected AbstractGet(final String netconfSessionIdForReporting, final CurrentSchemaContext schemaContext) {
+ AbstractGet(final String netconfSessionIdForReporting, final CurrentSchemaContext schemaContext) {
super(netconfSessionIdForReporting);
this.schemaContext = schemaContext;
validator = new FilterContentValidator(schemaContext);
}
- // FIXME: hide this method
// FIXME: throw a DocumentedException
- protected Node transformNormalizedNode(final Document document, final NormalizedNode data,
- final YangInstanceIdentifier dataRoot) {
+ private Node transformNormalizedNode(final Document document, final NormalizedNode data,
+ final YangInstanceIdentifier dataRoot) {
final DOMResult result = new DOMResult(document.createElement(XmlNetconfConstants.DATA_KEY));
final XMLStreamWriter xmlWriter = getXmlStreamWriter(result);
final EffectiveModelContext currentContext = schemaContext.getCurrentContext();
}
}
- protected Element serializeNodeWithParentStructure(final Document document, final YangInstanceIdentifier dataRoot,
- final NormalizedNode node) {
+ final Element serializeNodeWithParentStructure(final Document document, final YangInstanceIdentifier dataRoot,
+ final NormalizedNode node) {
return (Element) transformNormalizedNode(document, node, dataRoot);
}
* container in the response. If filter is not present we want to read the entire datastore - return ROOT.
* @throws DocumentedException if not possible to get identifier from filter
*/
- protected Optional<YangInstanceIdentifier> getDataRootFromFilter(final XmlElement operationElement)
+ final Optional<YangInstanceIdentifier> getDataRootFromFilter(final XmlElement operationElement)
throws DocumentedException {
final Optional<XmlElement> filterElement = operationElement.getOnlyChildElementOptionally(FILTER);
if (filterElement.isPresent()) {
}
@VisibleForTesting
- protected YangInstanceIdentifier getInstanceIdentifierFromFilter(final XmlElement filterElement)
+ protected final YangInstanceIdentifier getInstanceIdentifierFromFilter(final XmlElement filterElement)
throws DocumentedException {
if (filterElement.getChildElements().size() != 1) {
import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
private TransactionProvider transactionProvider;
@Test
- public void transformNormalizedNodeTest_mapNodeTest() throws Exception {
-
- final SchemaContext context = YangParserTestUtils.parseYangResources(Netconf538Test.class,
- "/yang/simple-list.yang");
+ public void testRootMap() throws Exception {
+ final var context = YangParserTestUtils.parseYangResources(Netconf538Test.class, "/yang/simple-list.yang");
final CurrentSchemaContext currentContext = mock(CurrentSchemaContext.class);
doReturn(context).when(currentContext).getCurrentContext();
.build())
.build();
- final Node node = getConfig.transformNormalizedNode(document, data, YangInstanceIdentifier.of(BASE));
+ final Node node = getConfig.serializeNodeWithParentStructure(document, YangInstanceIdentifier.of(BASE), data);
assertNotNull(node);
Node nodeUser = node.getFirstChild();