final String discriminator = definitionNames.getDiscriminator(node);
final String nodeName = node.getQName().getLocalName();
- final String defName = parentName + "_" + nodeName + TOP + discriminator;
- final Operation get = buildGet(node, moduleName, deviceName, pathParams, defName, isConfig);
+ final String defName = parentName + "_" + nodeName + discriminator;
+ final String defNameTop = parentName + "_" + nodeName + TOP + discriminator;
+ final Operation get = buildGet(node, moduleName, deviceName, pathParams, defName, defNameTop, isConfig);
operationsBuilder.get(get);
if (isConfig) {
public static Operation buildGet(final DataSchemaNode node, final String moduleName,
final Optional<String> deviceName, final ArrayNode pathParams, final String defName,
- final boolean isConfig) {
+ final String defNameTop, final boolean isConfig) {
final String description = node.getDescription().orElse("");
final String summary = buildSummaryValue(HttpMethod.GET, moduleName, deviceName,
node.getQName().getLocalName());
addQueryParameters(parameters, isConfig);
final ObjectNode responses = JsonNodeFactory.instance.objectNode();
final ObjectNode schema = JsonNodeFactory.instance.objectNode();
- schema.put(REF_KEY, COMPONENTS_PREFIX + defName);
+ final ObjectNode xmlSchema = JsonNodeFactory.instance.objectNode();
+ schema.put(REF_KEY, COMPONENTS_PREFIX + defNameTop);
+ xmlSchema.put(REF_KEY, COMPONENTS_PREFIX + defName);
+
responses.set(String.valueOf(Response.Status.OK.getStatusCode()),
- buildResponse(Response.Status.OK.getReasonPhrase(), Optional.of(schema)));
+ buildResponse(Response.Status.OK.getReasonPhrase(), schema, xmlSchema));
return new Operation.Builder()
.tags(tags)
return mimeTypeValue;
}
+ public static ObjectNode buildResponse(final String description, final ObjectNode schema,
+ final ObjectNode xmlSchema) {
+ final ObjectNode response = JsonNodeFactory.instance.objectNode();
+
+ final ObjectNode content = JsonNodeFactory.instance.objectNode();
+ final ObjectNode body = JsonNodeFactory.instance.objectNode();
+ final ObjectNode xmlBody = JsonNodeFactory.instance.objectNode();
+
+ body.set(SCHEMA_KEY, schema);
+ xmlBody.set(SCHEMA_KEY, xmlSchema);
+ content.set(MediaType.APPLICATION_JSON, body);
+ content.set(MediaType.APPLICATION_XML, xmlBody);
+
+ response.set(CONTENT_KEY, content);
+
+ response.put(DESCRIPTION_KEY, description);
+ return response;
+ }
+
public static ObjectNode buildResponse(final String description, final Optional<ObjectNode> schema) {
final ObjectNode response = JsonNodeFactory.instance.objectNode();
verifyRequestRef(JsonNodeMyYangData.put(), "#/components/schemas/my-yang_config_data_TOP",
"#/components/schemas/my-yang_config_data");
verifyRequestRef(JsonNodeMyYangData.get(), "#/components/schemas/my-yang_data_TOP",
- "#/components/schemas/my-yang_data_TOP");
+ "#/components/schemas/my-yang_data");
// Test `components/schemas` objects
final var definitions = doc.components().schemas();
verifyRequestRef(jsonNodeToaster.put(), "#/components/schemas/toaster2_config_toaster_TOP",
"#/components/schemas/toaster2_config_toaster");
verifyRequestRef(jsonNodeToaster.get(), "#/components/schemas/toaster2_toaster_TOP",
- "#/components/schemas/toaster2_toaster_TOP");
+ "#/components/schemas/toaster2_toaster");
final var jsonNodeToasterSlot = doc.paths().get("/rests/data/toaster2:toaster/toasterSlot={slotId}");
verifyRequestRef(jsonNodeToasterSlot.post(), "#/components/schemas/toaster2_toaster_config_toasterSlot",
verifyRequestRef(jsonNodeToasterSlot.put(), "#/components/schemas/toaster2_toaster_config_toasterSlot_TOP",
"#/components/schemas/toaster2_toaster_config_toasterSlot");
verifyRequestRef(jsonNodeToasterSlot.get(), "#/components/schemas/toaster2_toaster_toasterSlot_TOP",
- "#/components/schemas/toaster2_toaster_toasterSlot_TOP");
+ "#/components/schemas/toaster2_toaster_toasterSlot");
final var jsonNodeSlotInfo = doc.paths().get(
"/rests/data/toaster2:toaster/toasterSlot={slotId}/toaster-augmented:slotInfo");
"#/components/schemas/toaster2_toaster_toasterSlot_config_slotInfo_TOP",
"#/components/schemas/toaster2_toaster_toasterSlot_config_slotInfo");
verifyRequestRef(jsonNodeSlotInfo.get(), "#/components/schemas/toaster2_toaster_toasterSlot_slotInfo_TOP",
- "#/components/schemas/toaster2_toaster_toasterSlot_slotInfo_TOP");
+ "#/components/schemas/toaster2_toaster_toasterSlot_slotInfo");
final var jsonNodeLst = doc.paths().get("/rests/data/toaster2:lst");
verifyRequestRef(jsonNodeLst.post(), "#/components/schemas/toaster2_config_lst",
verifyRequestRef(jsonNodeLst.put(), "#/components/schemas/toaster2_config_lst_TOP",
"#/components/schemas/toaster2_config_lst");
verifyRequestRef(jsonNodeLst.get(), "#/components/schemas/toaster2_lst_TOP",
- "#/components/schemas/toaster2_lst_TOP");
+ "#/components/schemas/toaster2_lst");
final var jsonNodeLst1 = doc.paths().get("/rests/data/toaster2:lst/lst1={key1},{key2}");
verifyRequestRef(jsonNodeLst1.post(), "#/components/schemas/toaster2_lst_config_lst1",
verifyRequestRef(jsonNodeLst1.put(), "#/components/schemas/toaster2_lst_config_lst1_TOP",
"#/components/schemas/toaster2_lst_config_lst1");
verifyRequestRef(jsonNodeLst1.get(), "#/components/schemas/toaster2_lst_lst1_TOP",
- "#/components/schemas/toaster2_lst_lst1_TOP");
+ "#/components/schemas/toaster2_lst_lst1");
final var jsonNodeMakeToast = doc.paths().get("/rests/operations/toaster2:make-toast");
assertNull(jsonNodeMakeToast.get());