[SBI] Ignore unknown enum values and continue parsing (#2622) (#2649)

* [SBI] Ignore unknown enum values and continue parsing (#2622)

* [SBI] Reject empty enum lists (#2622)

Enum lists that are empty due to ignoring
unsupported enum values are also rejected.

* Revert changing `generator.sh`
This commit is contained in:
Brias 2023-10-26 15:44:51 +02:00 committed by GitHub
parent e3c2fd00d9
commit 3c6811a322
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
72 changed files with 978 additions and 366 deletions

View file

@ -368,10 +368,15 @@ OpenAPI_immediate_mdt_conf_t *OpenAPI_immediate_mdt_conf_parseFromJSON(cJSON *im
}
localEnum = OpenAPI_measurement_lte_for_mdt_FromString(measurement_lte_list_local->valuestring);
if (!localEnum) {
ogs_error("OpenAPI_measurement_lte_for_mdt_FromString(measurement_lte_list_local->valuestring) failed");
goto end;
ogs_info("Enum value \"%s\" for field \"measurement_lte_list\" is not supported. Ignoring it ...",
measurement_lte_list_local->valuestring);
} else {
OpenAPI_list_add(measurement_lte_listList, (void *)localEnum);
}
OpenAPI_list_add(measurement_lte_listList, (void *)localEnum);
}
if (measurement_lte_listList->count == 0) {
ogs_error("OpenAPI_immediate_mdt_conf_parseFromJSON() failed: Expected measurement_lte_listList to not be empty (after ignoring unsupported enum values).");
goto end;
}
}
@ -393,10 +398,15 @@ OpenAPI_immediate_mdt_conf_t *OpenAPI_immediate_mdt_conf_parseFromJSON(cJSON *im
}
localEnum = OpenAPI_measurement_nr_for_mdt_FromString(measurement_nr_list_local->valuestring);
if (!localEnum) {
ogs_error("OpenAPI_measurement_nr_for_mdt_FromString(measurement_nr_list_local->valuestring) failed");
goto end;
ogs_info("Enum value \"%s\" for field \"measurement_nr_list\" is not supported. Ignoring it ...",
measurement_nr_list_local->valuestring);
} else {
OpenAPI_list_add(measurement_nr_listList, (void *)localEnum);
}
OpenAPI_list_add(measurement_nr_listList, (void *)localEnum);
}
if (measurement_nr_listList->count == 0) {
ogs_error("OpenAPI_immediate_mdt_conf_parseFromJSON() failed: Expected measurement_nr_listList to not be empty (after ignoring unsupported enum values).");
goto end;
}
}
@ -418,10 +428,15 @@ OpenAPI_immediate_mdt_conf_t *OpenAPI_immediate_mdt_conf_parseFromJSON(cJSON *im
}
localEnum = OpenAPI_reporting_trigger_FromString(reporting_trigger_list_local->valuestring);
if (!localEnum) {
ogs_error("OpenAPI_reporting_trigger_FromString(reporting_trigger_list_local->valuestring) failed");
goto end;
ogs_info("Enum value \"%s\" for field \"reporting_trigger_list\" is not supported. Ignoring it ...",
reporting_trigger_list_local->valuestring);
} else {
OpenAPI_list_add(reporting_trigger_listList, (void *)localEnum);
}
OpenAPI_list_add(reporting_trigger_listList, (void *)localEnum);
}
if (reporting_trigger_listList->count == 0) {
ogs_error("OpenAPI_immediate_mdt_conf_parseFromJSON() failed: Expected reporting_trigger_listList to not be empty (after ignoring unsupported enum values).");
goto end;
}
}
@ -547,10 +562,15 @@ OpenAPI_immediate_mdt_conf_t *OpenAPI_immediate_mdt_conf_parseFromJSON(cJSON *im
}
localEnum = OpenAPI_positioning_method_mdt_FromString(add_positioning_method_list_local->valuestring);
if (!localEnum) {
ogs_error("OpenAPI_positioning_method_mdt_FromString(add_positioning_method_list_local->valuestring) failed");
goto end;
ogs_info("Enum value \"%s\" for field \"add_positioning_method_list\" is not supported. Ignoring it ...",
add_positioning_method_list_local->valuestring);
} else {
OpenAPI_list_add(add_positioning_method_listList, (void *)localEnum);
}
OpenAPI_list_add(add_positioning_method_listList, (void *)localEnum);
}
if (add_positioning_method_listList->count == 0) {
ogs_error("OpenAPI_immediate_mdt_conf_parseFromJSON() failed: Expected add_positioning_method_listList to not be empty (after ignoring unsupported enum values).");
goto end;
}
}
@ -596,10 +616,15 @@ OpenAPI_immediate_mdt_conf_t *OpenAPI_immediate_mdt_conf_parseFromJSON(cJSON *im
}
localEnum = OpenAPI_sensor_measurement_FromString(sensor_measurement_list_local->valuestring);
if (!localEnum) {
ogs_error("OpenAPI_sensor_measurement_FromString(sensor_measurement_list_local->valuestring) failed");
goto end;
ogs_info("Enum value \"%s\" for field \"sensor_measurement_list\" is not supported. Ignoring it ...",
sensor_measurement_list_local->valuestring);
} else {
OpenAPI_list_add(sensor_measurement_listList, (void *)localEnum);
}
OpenAPI_list_add(sensor_measurement_listList, (void *)localEnum);
}
if (sensor_measurement_listList->count == 0) {
ogs_error("OpenAPI_immediate_mdt_conf_parseFromJSON() failed: Expected sensor_measurement_listList to not be empty (after ignoring unsupported enum values).");
goto end;
}
}