import static com.google.common.base.Preconditions.checkArgument;
import java.util.Optional;
+import javax.inject.Inject;
import javax.inject.Singleton;
import org.eclipse.jdt.annotation.NonNull;
import org.kohsuke.MetaInfServices;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
import org.opendaylight.yangtools.yang.data.util.DataSchemaContextNode;
import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree;
+import org.opendaylight.yangtools.yang.model.api.ContainerLike;
import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
private static final @NonNull NormalizedNode<?, ?> ROOT_CONTAINER =
ImmutableNodes.containerNode(SchemaContext.NAME);
+ @Inject
+ public InMemoryDataTreeFactory() {
+ // Exposed for DI
+ }
+
@Override
public DataTree create(final DataTreeConfiguration treeConfig) {
return new InMemoryDataTree(TreeNodeFactory.createTreeNode(createRoot(treeConfig.getRootPath()),
private static @NonNull NormalizedNode<?, ?> createRoot(final DataNodeContainer schemaNode,
final YangInstanceIdentifier path) {
if (path.isEmpty()) {
- checkArgument(schemaNode instanceof ContainerSchemaNode,
+ checkArgument(schemaNode instanceof ContainerLike,
"Conceptual tree root has to be a container, not %s", schemaNode);
return ROOT_CONTAINER;
}