import org.opendaylight.yangtools.yang.model.api.OperationDefinition;
import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.BinaryTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition;
private static String processInstanceIdentifierType(final DataSchemaNode node, final ObjectNode property,
final EffectiveModelContext schemaContext) {
- SchemaPath path = node.getPath();
-
- while (path.getParent() != null && path.getParent().getPathFromRoot().iterator().hasNext()) {
- path = path.getParent();
+ // create example instance-identifier to the first container of node's module if exists or leave it empty
+ final var module = schemaContext.findModule(node.getQName().getModule());
+ if (module.isPresent()) {
+ final var container = module.get().getChildNodes().stream()
+ .filter(n -> n instanceof ContainerSchemaNode)
+ .findFirst();
+ container.ifPresent(c -> setDefaultValue(property, String.format("/%s:%s", module.get().getPrefix(),
+ c.getQName().getLocalName())));
}
- final QName rootContainer = path.getLastComponent();
- final String rootContainerName = rootContainer.getLocalName();
- final String prefix = schemaContext.findModule(rootContainer.getModule()).get().getPrefix();
- setDefaultValue(property, String.format("/%s:%s", prefix, rootContainerName));
return STRING_TYPE;
}