Как исключить имя модуля в листовом значении Identityref во время проверки ODL?

У меня есть модель YANG и объект JSON, которые будут проверены ODL (см. Ниже).

Мне нужно исключить имя модуля из JSON для проверки.

Когда я исключаю имя модуля из identityref ("type": "center-car-sale-type:sedan") и отправляю только имя identityref ("type": "sedan"), исключение ODL выдает, что этот identityref не найден.

Я хочу отправить объект без имени модуля, потому что "имя модуля" + "имя удостоверения личности" приводит к смешению метаданных и экземпляра.

Как я могу настроить проверку ODL, чтобы избежать имени модуля в листовом значении для identityref?

Я анализирую JSON с помощью JsonParserStream.parse(JsonReader) из модуля org.opendaylight.yangtools.yang.data.codec.gson.

Заранее спасибо!

Модель ЯНГ:

identity car-type {
    description
      "Car type.";
  }

  identity sedan {
    base car-type;
  }
  identity minivan {
    base car-type;
  }

grouping car {
    uses main-properties;
    leaf type {
      type identityref {
        base car-type;
      }
 }  
 leaf max-speed {
      type string;
 }
} 
grouping main-properties {
    leaf id {
      type string;
 }  
 leaf name {
      type string;
 } 
}
 
list car {
 uses car;
 key "id";
}

JSON:

{
 "car": [
     {
    "id": "1",
    "name": "Toyota",
    "description": "Toyota car",
    "type": "center-car-sale-type:sedan",
    "max-speed": "300"
     },
     {
    "id": "2",
    "name": "Honda",
    "description": "Honda car",
    "type": "center-car-sale-type:minivan",
    "max-speed": "250"
     }
   ]
}

0 ответов

Другие вопросы по тегам