From 3c6811a3225223463db0fdc86ecb252dac960570 Mon Sep 17 00:00:00 2001 From: Brias Date: Thu, 26 Oct 2023 15:44:51 +0200 Subject: [PATCH] [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` --- .../openapi/model/access_and_mobility_data.c | 11 +++- .../access_and_mobility_subscription_data.c | 55 +++++++++++----- .../access_and_mobility_subscription_data_1.c | 55 +++++++++++----- .../openapi/model/af_event_exposure_data.c | 11 +++- .../openapi/model/am_requested_value_rep.c | 22 +++++-- lib/sbi/openapi/model/amf_event_mode.c | 11 +++- lib/sbi/openapi/model/bsf_subscription.c | 11 +++- lib/sbi/openapi/model/bsf_subscription_resp.c | 11 +++- .../model/datalink_reporting_configuration.c | 11 +++- .../datalink_reporting_configuration_1.c | 11 +++- lib/sbi/openapi/model/dccf_cond.c | 11 +++- lib/sbi/openapi/model/dccf_info.c | 11 +++- .../model/dnn_route_selection_descriptor.c | 22 +++++-- lib/sbi/openapi/model/dnn_upf_info_item.c | 11 +++- .../downlink_data_notification_control.c | 22 +++++-- .../downlink_data_notification_control_rm.c | 22 +++++-- lib/sbi/openapi/model/error_report.c | 11 +++- lib/sbi/openapi/model/event_subscription.c | 11 +++- lib/sbi/openapi/model/events_subsc_put_data.c | 22 +++++-- lib/sbi/openapi/model/events_subsc_req_data.c | 22 +++++-- .../openapi/model/events_subsc_req_data_rm.c | 22 +++++-- lib/sbi/openapi/model/immediate_mdt_conf.c | 55 +++++++++++----- lib/sbi/openapi/model/lcs_mo_data.c | 11 +++- lib/sbi/openapi/model/lmf_info.c | 33 +++++++--- lib/sbi/openapi/model/mdt_configuration.c | 66 ++++++++++++++----- lib/sbi/openapi/model/mdt_configuration_1.c | 66 ++++++++++++++----- lib/sbi/openapi/model/mfaf_info.c | 11 +++- .../openapi/model/model_5_gvn_group_data.c | 11 +++- lib/sbi/openapi/model/nef_cond.c | 11 +++- lib/sbi/openapi/model/nf_profile.c | 11 +++- lib/sbi/openapi/model/nf_service.c | 11 +++- .../non_ue_n2_info_subscription_create_data.c | 11 +++- .../model/nrf_info_served_lmf_info_value.c | 33 +++++++--- .../model/nrf_info_served_nwdaf_info_value.c | 11 +++- ..._info_served_pcscf_info_list_value_value.c | 11 +++- .../nrf_info_served_scp_info_list_value.c | 11 +++- .../model/nrf_info_served_smf_info_value.c | 11 +++- .../model/nrf_info_served_udr_info_value.c | 11 +++- .../model/nrf_info_served_upf_info_value.c | 11 +++- lib/sbi/openapi/model/nwdaf_cond.c | 11 +++- lib/sbi/openapi/model/nwdaf_info.c | 11 +++- .../openapi/model/partial_success_report.c | 11 +++- lib/sbi/openapi/model/pcscf_info.c | 11 +++- lib/sbi/openapi/model/pdu_session_types.c | 11 +++- lib/sbi/openapi/model/pdu_session_types_1.c | 11 +++- lib/sbi/openapi/model/plmn_restriction.c | 44 +++++++++---- lib/sbi/openapi/model/plmn_restriction_1.c | 44 +++++++++---- lib/sbi/openapi/model/policy_association.c | 11 +++- .../model/policy_association_request.c | 22 +++++-- .../model/policy_association_update_request.c | 33 +++++++--- lib/sbi/openapi/model/policy_update.c | 11 +++- lib/sbi/openapi/model/pro_se_allowed_plmn.c | 11 +++- lib/sbi/openapi/model/protection_policy.c | 11 +++- lib/sbi/openapi/model/qos_monitoring_data.c | 22 +++++-- .../model/registration_location_info.c | 11 +++- lib/sbi/openapi/model/reporting_information.c | 11 +++- lib/sbi/openapi/model/requested_rule_data.c | 11 +++- lib/sbi/openapi/model/scp_domain_cond.c | 11 +++- lib/sbi/openapi/model/scp_info.c | 11 +++- .../openapi/model/sec_negotiate_req_data.c | 11 +++- lib/sbi/openapi/model/session_rule_report.c | 11 +++- lib/sbi/openapi/model/sm_policy_decision.c | 11 +++- .../model/sm_policy_update_context_data.c | 33 +++++++--- lib/sbi/openapi/model/smf_info.c | 11 +++- lib/sbi/openapi/model/ssc_modes.c | 11 +++- lib/sbi/openapi/model/ssc_modes_1.c | 11 +++- lib/sbi/openapi/model/subscription_data.c | 11 +++- lib/sbi/openapi/model/trust_af_info.c | 11 +++- lib/sbi/openapi/model/udr_info.c | 11 +++- lib/sbi/openapi/model/ue_context.c | 66 ++++++++++++++----- lib/sbi/openapi/model/upf_info.c | 11 +++- .../templates/model-body.mustache | 13 +++- 72 files changed, 978 insertions(+), 366 deletions(-) diff --git a/lib/sbi/openapi/model/access_and_mobility_data.c b/lib/sbi/openapi/model/access_and_mobility_data.c index 041cf9cec..458b459f8 100644 --- a/lib/sbi/openapi/model/access_and_mobility_data.c +++ b/lib/sbi/openapi/model/access_and_mobility_data.c @@ -586,10 +586,15 @@ OpenAPI_access_and_mobility_data_t *OpenAPI_access_and_mobility_data_parseFromJS } localEnum = OpenAPI_rat_type_FromString(rat_type_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(rat_type_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"rat_type\" is not supported. Ignoring it ...", + rat_type_local->valuestring); + } else { + OpenAPI_list_add(rat_typeList, (void *)localEnum); } - OpenAPI_list_add(rat_typeList, (void *)localEnum); + } + if (rat_typeList->count == 0) { + ogs_error("OpenAPI_access_and_mobility_data_parseFromJSON() failed: Expected rat_typeList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/access_and_mobility_subscription_data.c b/lib/sbi/openapi/model/access_and_mobility_subscription_data.c index a1e49c77f..a69a03561 100644 --- a/lib/sbi/openapi/model/access_and_mobility_subscription_data.c +++ b/lib/sbi/openapi/model/access_and_mobility_subscription_data.c @@ -1186,10 +1186,15 @@ OpenAPI_access_and_mobility_subscription_data_t *OpenAPI_access_and_mobility_sub } localEnum = OpenAPI_rat_type_FromString(rat_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(rat_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"rat_restrictions\" is not supported. Ignoring it ...", + rat_restrictions_local->valuestring); + } else { + OpenAPI_list_add(rat_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(rat_restrictionsList, (void *)localEnum); + } + if (rat_restrictionsList->count == 0) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_parseFromJSON() failed: Expected rat_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -1244,10 +1249,15 @@ OpenAPI_access_and_mobility_subscription_data_t *OpenAPI_access_and_mobility_sub } localEnum = OpenAPI_core_network_type_FromString(core_network_type_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_core_network_type_FromString(core_network_type_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"core_network_type_restrictions\" is not supported. Ignoring it ...", + core_network_type_restrictions_local->valuestring); + } else { + OpenAPI_list_add(core_network_type_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(core_network_type_restrictionsList, (void *)localEnum); + } + if (core_network_type_restrictionsList->count == 0) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_parseFromJSON() failed: Expected core_network_type_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -1348,10 +1358,15 @@ OpenAPI_access_and_mobility_subscription_data_t *OpenAPI_access_and_mobility_sub } localEnum = OpenAPI_sor_update_indicator_FromString(sor_update_indicator_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_sor_update_indicator_FromString(sor_update_indicator_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"sor_update_indicator_list\" is not supported. Ignoring it ...", + sor_update_indicator_list_local->valuestring); + } else { + OpenAPI_list_add(sor_update_indicator_listList, (void *)localEnum); } - OpenAPI_list_add(sor_update_indicator_listList, (void *)localEnum); + } + if (sor_update_indicator_listList->count == 0) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_parseFromJSON() failed: Expected sor_update_indicator_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -1561,10 +1576,15 @@ OpenAPI_access_and_mobility_subscription_data_t *OpenAPI_access_and_mobility_sub } localEnum = OpenAPI_rat_type_FromString(primary_rat_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(primary_rat_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"primary_rat_restrictions\" is not supported. Ignoring it ...", + primary_rat_restrictions_local->valuestring); + } else { + OpenAPI_list_add(primary_rat_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(primary_rat_restrictionsList, (void *)localEnum); + } + if (primary_rat_restrictionsList->count == 0) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_parseFromJSON() failed: Expected primary_rat_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -1586,10 +1606,15 @@ OpenAPI_access_and_mobility_subscription_data_t *OpenAPI_access_and_mobility_sub } localEnum = OpenAPI_rat_type_FromString(secondary_rat_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(secondary_rat_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"secondary_rat_restrictions\" is not supported. Ignoring it ...", + secondary_rat_restrictions_local->valuestring); + } else { + OpenAPI_list_add(secondary_rat_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(secondary_rat_restrictionsList, (void *)localEnum); + } + if (secondary_rat_restrictionsList->count == 0) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_parseFromJSON() failed: Expected secondary_rat_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/access_and_mobility_subscription_data_1.c b/lib/sbi/openapi/model/access_and_mobility_subscription_data_1.c index 15aa8d1d2..1c0c27484 100644 --- a/lib/sbi/openapi/model/access_and_mobility_subscription_data_1.c +++ b/lib/sbi/openapi/model/access_and_mobility_subscription_data_1.c @@ -1186,10 +1186,15 @@ OpenAPI_access_and_mobility_subscription_data_1_t *OpenAPI_access_and_mobility_s } localEnum = OpenAPI_rat_type_FromString(rat_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(rat_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"rat_restrictions\" is not supported. Ignoring it ...", + rat_restrictions_local->valuestring); + } else { + OpenAPI_list_add(rat_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(rat_restrictionsList, (void *)localEnum); + } + if (rat_restrictionsList->count == 0) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_1_parseFromJSON() failed: Expected rat_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -1244,10 +1249,15 @@ OpenAPI_access_and_mobility_subscription_data_1_t *OpenAPI_access_and_mobility_s } localEnum = OpenAPI_core_network_type_FromString(core_network_type_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_core_network_type_FromString(core_network_type_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"core_network_type_restrictions\" is not supported. Ignoring it ...", + core_network_type_restrictions_local->valuestring); + } else { + OpenAPI_list_add(core_network_type_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(core_network_type_restrictionsList, (void *)localEnum); + } + if (core_network_type_restrictionsList->count == 0) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_1_parseFromJSON() failed: Expected core_network_type_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -1348,10 +1358,15 @@ OpenAPI_access_and_mobility_subscription_data_1_t *OpenAPI_access_and_mobility_s } localEnum = OpenAPI_sor_update_indicator_FromString(sor_update_indicator_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_sor_update_indicator_FromString(sor_update_indicator_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"sor_update_indicator_list\" is not supported. Ignoring it ...", + sor_update_indicator_list_local->valuestring); + } else { + OpenAPI_list_add(sor_update_indicator_listList, (void *)localEnum); } - OpenAPI_list_add(sor_update_indicator_listList, (void *)localEnum); + } + if (sor_update_indicator_listList->count == 0) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_1_parseFromJSON() failed: Expected sor_update_indicator_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -1561,10 +1576,15 @@ OpenAPI_access_and_mobility_subscription_data_1_t *OpenAPI_access_and_mobility_s } localEnum = OpenAPI_rat_type_FromString(primary_rat_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(primary_rat_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"primary_rat_restrictions\" is not supported. Ignoring it ...", + primary_rat_restrictions_local->valuestring); + } else { + OpenAPI_list_add(primary_rat_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(primary_rat_restrictionsList, (void *)localEnum); + } + if (primary_rat_restrictionsList->count == 0) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_1_parseFromJSON() failed: Expected primary_rat_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -1586,10 +1606,15 @@ OpenAPI_access_and_mobility_subscription_data_1_t *OpenAPI_access_and_mobility_s } localEnum = OpenAPI_rat_type_FromString(secondary_rat_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(secondary_rat_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"secondary_rat_restrictions\" is not supported. Ignoring it ...", + secondary_rat_restrictions_local->valuestring); + } else { + OpenAPI_list_add(secondary_rat_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(secondary_rat_restrictionsList, (void *)localEnum); + } + if (secondary_rat_restrictionsList->count == 0) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_1_parseFromJSON() failed: Expected secondary_rat_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/af_event_exposure_data.c b/lib/sbi/openapi/model/af_event_exposure_data.c index 2f13b78ee..e6a04ecdc 100644 --- a/lib/sbi/openapi/model/af_event_exposure_data.c +++ b/lib/sbi/openapi/model/af_event_exposure_data.c @@ -138,10 +138,15 @@ OpenAPI_af_event_exposure_data_t *OpenAPI_af_event_exposure_data_parseFromJSON(c } localEnum = OpenAPI_af_event_FromString(af_events_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_af_event_FromString(af_events_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"af_events\" is not supported. Ignoring it ...", + af_events_local->valuestring); + } else { + OpenAPI_list_add(af_eventsList, (void *)localEnum); } - OpenAPI_list_add(af_eventsList, (void *)localEnum); + } + if (af_eventsList->count == 0) { + ogs_error("OpenAPI_af_event_exposure_data_parseFromJSON() failed: Expected af_eventsList to not be empty (after ignoring unsupported enum values)."); + goto end; } af_ids = cJSON_GetObjectItemCaseSensitive(af_event_exposure_dataJSON, "afIds"); diff --git a/lib/sbi/openapi/model/am_requested_value_rep.c b/lib/sbi/openapi/model/am_requested_value_rep.c index 79a8f9eed..2eb0ae6c9 100644 --- a/lib/sbi/openapi/model/am_requested_value_rep.c +++ b/lib/sbi/openapi/model/am_requested_value_rep.c @@ -259,10 +259,15 @@ OpenAPI_am_requested_value_rep_t *OpenAPI_am_requested_value_rep_parseFromJSON(c } localEnum = OpenAPI_access_type_FromString(access_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_access_type_FromString(access_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"access_types\" is not supported. Ignoring it ...", + access_types_local->valuestring); + } else { + OpenAPI_list_add(access_typesList, (void *)localEnum); } - OpenAPI_list_add(access_typesList, (void *)localEnum); + } + if (access_typesList->count == 0) { + ogs_error("OpenAPI_am_requested_value_rep_parseFromJSON() failed: Expected access_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -284,10 +289,15 @@ OpenAPI_am_requested_value_rep_t *OpenAPI_am_requested_value_rep_parseFromJSON(c } localEnum = OpenAPI_rat_type_FromString(rat_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(rat_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"rat_types\" is not supported. Ignoring it ...", + rat_types_local->valuestring); + } else { + OpenAPI_list_add(rat_typesList, (void *)localEnum); } - OpenAPI_list_add(rat_typesList, (void *)localEnum); + } + if (rat_typesList->count == 0) { + ogs_error("OpenAPI_am_requested_value_rep_parseFromJSON() failed: Expected rat_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/amf_event_mode.c b/lib/sbi/openapi/model/amf_event_mode.c index 83c1c3261..56cae43cd 100644 --- a/lib/sbi/openapi/model/amf_event_mode.c +++ b/lib/sbi/openapi/model/amf_event_mode.c @@ -210,10 +210,15 @@ OpenAPI_amf_event_mode_t *OpenAPI_amf_event_mode_parseFromJSON(cJSON *amf_event_ } localEnum = OpenAPI_partitioning_criteria_FromString(partitioning_criteria_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_partitioning_criteria_FromString(partitioning_criteria_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"partitioning_criteria\" is not supported. Ignoring it ...", + partitioning_criteria_local->valuestring); + } else { + OpenAPI_list_add(partitioning_criteriaList, (void *)localEnum); } - OpenAPI_list_add(partitioning_criteriaList, (void *)localEnum); + } + if (partitioning_criteriaList->count == 0) { + ogs_error("OpenAPI_amf_event_mode_parseFromJSON() failed: Expected partitioning_criteriaList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/bsf_subscription.c b/lib/sbi/openapi/model/bsf_subscription.c index da775d24d..c3d7b6fc1 100644 --- a/lib/sbi/openapi/model/bsf_subscription.c +++ b/lib/sbi/openapi/model/bsf_subscription.c @@ -212,10 +212,15 @@ OpenAPI_bsf_subscription_t *OpenAPI_bsf_subscription_parseFromJSON(cJSON *bsf_su } localEnum = OpenAPI_bsf_event_FromString(events_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_bsf_event_FromString(events_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"events\" is not supported. Ignoring it ...", + events_local->valuestring); + } else { + OpenAPI_list_add(eventsList, (void *)localEnum); } - OpenAPI_list_add(eventsList, (void *)localEnum); + } + if (eventsList->count == 0) { + ogs_error("OpenAPI_bsf_subscription_parseFromJSON() failed: Expected eventsList to not be empty (after ignoring unsupported enum values)."); + goto end; } notif_uri = cJSON_GetObjectItemCaseSensitive(bsf_subscriptionJSON, "notifUri"); diff --git a/lib/sbi/openapi/model/bsf_subscription_resp.c b/lib/sbi/openapi/model/bsf_subscription_resp.c index e3420734b..0027f7e5f 100644 --- a/lib/sbi/openapi/model/bsf_subscription_resp.c +++ b/lib/sbi/openapi/model/bsf_subscription_resp.c @@ -280,10 +280,15 @@ OpenAPI_bsf_subscription_resp_t *OpenAPI_bsf_subscription_resp_parseFromJSON(cJS } localEnum = OpenAPI_bsf_event_FromString(events_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_bsf_event_FromString(events_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"events\" is not supported. Ignoring it ...", + events_local->valuestring); + } else { + OpenAPI_list_add(eventsList, (void *)localEnum); } - OpenAPI_list_add(eventsList, (void *)localEnum); + } + if (eventsList->count == 0) { + ogs_error("OpenAPI_bsf_subscription_resp_parseFromJSON() failed: Expected eventsList to not be empty (after ignoring unsupported enum values)."); + goto end; } notif_uri = cJSON_GetObjectItemCaseSensitive(bsf_subscription_respJSON, "notifUri"); diff --git a/lib/sbi/openapi/model/datalink_reporting_configuration.c b/lib/sbi/openapi/model/datalink_reporting_configuration.c index ef6605404..712f3bb82 100644 --- a/lib/sbi/openapi/model/datalink_reporting_configuration.c +++ b/lib/sbi/openapi/model/datalink_reporting_configuration.c @@ -186,10 +186,15 @@ OpenAPI_datalink_reporting_configuration_t *OpenAPI_datalink_reporting_configura } localEnum = OpenAPI_dl_data_delivery_status_FromString(ddd_status_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_dl_data_delivery_status_FromString(ddd_status_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"ddd_status_list\" is not supported. Ignoring it ...", + ddd_status_list_local->valuestring); + } else { + OpenAPI_list_add(ddd_status_listList, (void *)localEnum); } - OpenAPI_list_add(ddd_status_listList, (void *)localEnum); + } + if (ddd_status_listList->count == 0) { + ogs_error("OpenAPI_datalink_reporting_configuration_parseFromJSON() failed: Expected ddd_status_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/datalink_reporting_configuration_1.c b/lib/sbi/openapi/model/datalink_reporting_configuration_1.c index e25ba6afc..ddb3be417 100644 --- a/lib/sbi/openapi/model/datalink_reporting_configuration_1.c +++ b/lib/sbi/openapi/model/datalink_reporting_configuration_1.c @@ -186,10 +186,15 @@ OpenAPI_datalink_reporting_configuration_1_t *OpenAPI_datalink_reporting_configu } localEnum = OpenAPI_dl_data_delivery_status_FromString(ddd_status_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_dl_data_delivery_status_FromString(ddd_status_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"ddd_status_list\" is not supported. Ignoring it ...", + ddd_status_list_local->valuestring); + } else { + OpenAPI_list_add(ddd_status_listList, (void *)localEnum); } - OpenAPI_list_add(ddd_status_listList, (void *)localEnum); + } + if (ddd_status_listList->count == 0) { + ogs_error("OpenAPI_datalink_reporting_configuration_1_parseFromJSON() failed: Expected ddd_status_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/dccf_cond.c b/lib/sbi/openapi/model/dccf_cond.c index 0f19382c0..b68c9befa 100644 --- a/lib/sbi/openapi/model/dccf_cond.c +++ b/lib/sbi/openapi/model/dccf_cond.c @@ -257,10 +257,15 @@ OpenAPI_dccf_cond_t *OpenAPI_dccf_cond_parseFromJSON(cJSON *dccf_condJSON) } localEnum = OpenAPI_nf_type_FromString(serving_nf_type_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_nf_type_FromString(serving_nf_type_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"serving_nf_type_list\" is not supported. Ignoring it ...", + serving_nf_type_list_local->valuestring); + } else { + OpenAPI_list_add(serving_nf_type_listList, (void *)localEnum); } - OpenAPI_list_add(serving_nf_type_listList, (void *)localEnum); + } + if (serving_nf_type_listList->count == 0) { + ogs_error("OpenAPI_dccf_cond_parseFromJSON() failed: Expected serving_nf_type_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/dccf_info.c b/lib/sbi/openapi/model/dccf_info.c index 59ebc65f5..9e49db46e 100644 --- a/lib/sbi/openapi/model/dccf_info.c +++ b/lib/sbi/openapi/model/dccf_info.c @@ -162,10 +162,15 @@ OpenAPI_dccf_info_t *OpenAPI_dccf_info_parseFromJSON(cJSON *dccf_infoJSON) } localEnum = OpenAPI_nf_type_FromString(serving_nf_type_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_nf_type_FromString(serving_nf_type_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"serving_nf_type_list\" is not supported. Ignoring it ...", + serving_nf_type_list_local->valuestring); + } else { + OpenAPI_list_add(serving_nf_type_listList, (void *)localEnum); } - OpenAPI_list_add(serving_nf_type_listList, (void *)localEnum); + } + if (serving_nf_type_listList->count == 0) { + ogs_error("OpenAPI_dccf_info_parseFromJSON() failed: Expected serving_nf_type_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/dnn_route_selection_descriptor.c b/lib/sbi/openapi/model/dnn_route_selection_descriptor.c index 7567efc08..84569271d 100644 --- a/lib/sbi/openapi/model/dnn_route_selection_descriptor.c +++ b/lib/sbi/openapi/model/dnn_route_selection_descriptor.c @@ -143,10 +143,15 @@ OpenAPI_dnn_route_selection_descriptor_t *OpenAPI_dnn_route_selection_descriptor } localEnum = OpenAPI_ssc_mode_FromString(ssc_modes_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_ssc_mode_FromString(ssc_modes_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"ssc_modes\" is not supported. Ignoring it ...", + ssc_modes_local->valuestring); + } else { + OpenAPI_list_add(ssc_modesList, (void *)localEnum); } - OpenAPI_list_add(ssc_modesList, (void *)localEnum); + } + if (ssc_modesList->count == 0) { + ogs_error("OpenAPI_dnn_route_selection_descriptor_parseFromJSON() failed: Expected ssc_modesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -168,10 +173,15 @@ OpenAPI_dnn_route_selection_descriptor_t *OpenAPI_dnn_route_selection_descriptor } localEnum = OpenAPI_pdu_session_type_FromString(pdu_sess_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_pdu_session_type_FromString(pdu_sess_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"pdu_sess_types\" is not supported. Ignoring it ...", + pdu_sess_types_local->valuestring); + } else { + OpenAPI_list_add(pdu_sess_typesList, (void *)localEnum); } - OpenAPI_list_add(pdu_sess_typesList, (void *)localEnum); + } + if (pdu_sess_typesList->count == 0) { + ogs_error("OpenAPI_dnn_route_selection_descriptor_parseFromJSON() failed: Expected pdu_sess_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/dnn_upf_info_item.c b/lib/sbi/openapi/model/dnn_upf_info_item.c index 39c6c53fb..eb6a5f4ba 100644 --- a/lib/sbi/openapi/model/dnn_upf_info_item.c +++ b/lib/sbi/openapi/model/dnn_upf_info_item.c @@ -303,10 +303,15 @@ OpenAPI_dnn_upf_info_item_t *OpenAPI_dnn_upf_info_item_parseFromJSON(cJSON *dnn_ } localEnum = OpenAPI_pdu_session_type_FromString(pdu_session_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_pdu_session_type_FromString(pdu_session_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"pdu_session_types\" is not supported. Ignoring it ...", + pdu_session_types_local->valuestring); + } else { + OpenAPI_list_add(pdu_session_typesList, (void *)localEnum); } - OpenAPI_list_add(pdu_session_typesList, (void *)localEnum); + } + if (pdu_session_typesList->count == 0) { + ogs_error("OpenAPI_dnn_upf_info_item_parseFromJSON() failed: Expected pdu_session_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/downlink_data_notification_control.c b/lib/sbi/openapi/model/downlink_data_notification_control.c index dbbed1163..ffba178c4 100644 --- a/lib/sbi/openapi/model/downlink_data_notification_control.c +++ b/lib/sbi/openapi/model/downlink_data_notification_control.c @@ -105,10 +105,15 @@ OpenAPI_downlink_data_notification_control_t *OpenAPI_downlink_data_notification } localEnum = OpenAPI_notification_control_indication_FromString(notif_ctrl_inds_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_notification_control_indication_FromString(notif_ctrl_inds_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"notif_ctrl_inds\" is not supported. Ignoring it ...", + notif_ctrl_inds_local->valuestring); + } else { + OpenAPI_list_add(notif_ctrl_indsList, (void *)localEnum); } - OpenAPI_list_add(notif_ctrl_indsList, (void *)localEnum); + } + if (notif_ctrl_indsList->count == 0) { + ogs_error("OpenAPI_downlink_data_notification_control_parseFromJSON() failed: Expected notif_ctrl_indsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -130,10 +135,15 @@ OpenAPI_downlink_data_notification_control_t *OpenAPI_downlink_data_notification } localEnum = OpenAPI_dl_data_delivery_status_FromString(types_of_notif_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_dl_data_delivery_status_FromString(types_of_notif_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"types_of_notif\" is not supported. Ignoring it ...", + types_of_notif_local->valuestring); + } else { + OpenAPI_list_add(types_of_notifList, (void *)localEnum); } - OpenAPI_list_add(types_of_notifList, (void *)localEnum); + } + if (types_of_notifList->count == 0) { + ogs_error("OpenAPI_downlink_data_notification_control_parseFromJSON() failed: Expected types_of_notifList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/downlink_data_notification_control_rm.c b/lib/sbi/openapi/model/downlink_data_notification_control_rm.c index c4696e3f2..9cd83adb6 100644 --- a/lib/sbi/openapi/model/downlink_data_notification_control_rm.c +++ b/lib/sbi/openapi/model/downlink_data_notification_control_rm.c @@ -120,10 +120,15 @@ OpenAPI_downlink_data_notification_control_rm_t *OpenAPI_downlink_data_notificat } localEnum = OpenAPI_notification_control_indication_FromString(notif_ctrl_inds_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_notification_control_indication_FromString(notif_ctrl_inds_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"notif_ctrl_inds\" is not supported. Ignoring it ...", + notif_ctrl_inds_local->valuestring); + } else { + OpenAPI_list_add(notif_ctrl_indsList, (void *)localEnum); } - OpenAPI_list_add(notif_ctrl_indsList, (void *)localEnum); + } + if (notif_ctrl_indsList->count == 0) { + ogs_error("OpenAPI_downlink_data_notification_control_rm_parseFromJSON() failed: Expected notif_ctrl_indsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } } @@ -147,10 +152,15 @@ OpenAPI_downlink_data_notification_control_rm_t *OpenAPI_downlink_data_notificat } localEnum = OpenAPI_dl_data_delivery_status_FromString(types_of_notif_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_dl_data_delivery_status_FromString(types_of_notif_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"types_of_notif\" is not supported. Ignoring it ...", + types_of_notif_local->valuestring); + } else { + OpenAPI_list_add(types_of_notifList, (void *)localEnum); } - OpenAPI_list_add(types_of_notifList, (void *)localEnum); + } + if (types_of_notifList->count == 0) { + ogs_error("OpenAPI_downlink_data_notification_control_rm_parseFromJSON() failed: Expected types_of_notifList to not be empty (after ignoring unsupported enum values)."); + goto end; } } } diff --git a/lib/sbi/openapi/model/error_report.c b/lib/sbi/openapi/model/error_report.c index 5705676e9..935f1dc82 100644 --- a/lib/sbi/openapi/model/error_report.c +++ b/lib/sbi/openapi/model/error_report.c @@ -242,10 +242,15 @@ OpenAPI_error_report_t *OpenAPI_error_report_parseFromJSON(cJSON *error_reportJS } localEnum = OpenAPI_policy_decision_failure_code_FromString(pol_dec_failure_reports_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_policy_decision_failure_code_FromString(pol_dec_failure_reports_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"pol_dec_failure_reports\" is not supported. Ignoring it ...", + pol_dec_failure_reports_local->valuestring); + } else { + OpenAPI_list_add(pol_dec_failure_reportsList, (void *)localEnum); } - OpenAPI_list_add(pol_dec_failure_reportsList, (void *)localEnum); + } + if (pol_dec_failure_reportsList->count == 0) { + ogs_error("OpenAPI_error_report_parseFromJSON() failed: Expected pol_dec_failure_reportsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/event_subscription.c b/lib/sbi/openapi/model/event_subscription.c index ebb0a2e3d..9bdd238a8 100644 --- a/lib/sbi/openapi/model/event_subscription.c +++ b/lib/sbi/openapi/model/event_subscription.c @@ -1195,10 +1195,15 @@ OpenAPI_event_subscription_t *OpenAPI_event_subscription_parseFromJSON(cJSON *ev } localEnum = OpenAPI_nf_type_FromString(nf_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_nf_type_FromString(nf_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"nf_types\" is not supported. Ignoring it ...", + nf_types_local->valuestring); + } else { + OpenAPI_list_add(nf_typesList, (void *)localEnum); } - OpenAPI_list_add(nf_typesList, (void *)localEnum); + } + if (nf_typesList->count == 0) { + ogs_error("OpenAPI_event_subscription_parseFromJSON() failed: Expected nf_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/events_subsc_put_data.c b/lib/sbi/openapi/model/events_subsc_put_data.c index cbaa6337e..16de28224 100644 --- a/lib/sbi/openapi/model/events_subsc_put_data.c +++ b/lib/sbi/openapi/model/events_subsc_put_data.c @@ -824,10 +824,15 @@ OpenAPI_events_subsc_put_data_t *OpenAPI_events_subsc_put_data_parseFromJSON(cJS } localEnum = OpenAPI_requested_qos_monitoring_parameter_FromString(req_qos_mon_params_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_requested_qos_monitoring_parameter_FromString(req_qos_mon_params_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"req_qos_mon_params\" is not supported. Ignoring it ...", + req_qos_mon_params_local->valuestring); + } else { + OpenAPI_list_add(req_qos_mon_paramsList, (void *)localEnum); } - OpenAPI_list_add(req_qos_mon_paramsList, (void *)localEnum); + } + if (req_qos_mon_paramsList->count == 0) { + ogs_error("OpenAPI_events_subsc_put_data_parseFromJSON() failed: Expected req_qos_mon_paramsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -858,10 +863,15 @@ OpenAPI_events_subsc_put_data_t *OpenAPI_events_subsc_put_data_parseFromJSON(cJS } localEnum = OpenAPI_required_access_info_FromString(req_anis_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_required_access_info_FromString(req_anis_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"req_anis\" is not supported. Ignoring it ...", + req_anis_local->valuestring); + } else { + OpenAPI_list_add(req_anisList, (void *)localEnum); } - OpenAPI_list_add(req_anisList, (void *)localEnum); + } + if (req_anisList->count == 0) { + ogs_error("OpenAPI_events_subsc_put_data_parseFromJSON() failed: Expected req_anisList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/events_subsc_req_data.c b/lib/sbi/openapi/model/events_subsc_req_data.c index 045b122dc..ed25359c6 100644 --- a/lib/sbi/openapi/model/events_subsc_req_data.c +++ b/lib/sbi/openapi/model/events_subsc_req_data.c @@ -275,10 +275,15 @@ OpenAPI_events_subsc_req_data_t *OpenAPI_events_subsc_req_data_parseFromJSON(cJS } localEnum = OpenAPI_requested_qos_monitoring_parameter_FromString(req_qos_mon_params_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_requested_qos_monitoring_parameter_FromString(req_qos_mon_params_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"req_qos_mon_params\" is not supported. Ignoring it ...", + req_qos_mon_params_local->valuestring); + } else { + OpenAPI_list_add(req_qos_mon_paramsList, (void *)localEnum); } - OpenAPI_list_add(req_qos_mon_paramsList, (void *)localEnum); + } + if (req_qos_mon_paramsList->count == 0) { + ogs_error("OpenAPI_events_subsc_req_data_parseFromJSON() failed: Expected req_qos_mon_paramsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -309,10 +314,15 @@ OpenAPI_events_subsc_req_data_t *OpenAPI_events_subsc_req_data_parseFromJSON(cJS } localEnum = OpenAPI_required_access_info_FromString(req_anis_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_required_access_info_FromString(req_anis_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"req_anis\" is not supported. Ignoring it ...", + req_anis_local->valuestring); + } else { + OpenAPI_list_add(req_anisList, (void *)localEnum); } - OpenAPI_list_add(req_anisList, (void *)localEnum); + } + if (req_anisList->count == 0) { + ogs_error("OpenAPI_events_subsc_req_data_parseFromJSON() failed: Expected req_anisList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/events_subsc_req_data_rm.c b/lib/sbi/openapi/model/events_subsc_req_data_rm.c index a62f066de..ecb3eda7c 100644 --- a/lib/sbi/openapi/model/events_subsc_req_data_rm.c +++ b/lib/sbi/openapi/model/events_subsc_req_data_rm.c @@ -271,10 +271,15 @@ OpenAPI_events_subsc_req_data_rm_t *OpenAPI_events_subsc_req_data_rm_parseFromJS } localEnum = OpenAPI_requested_qos_monitoring_parameter_FromString(req_qos_mon_params_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_requested_qos_monitoring_parameter_FromString(req_qos_mon_params_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"req_qos_mon_params\" is not supported. Ignoring it ...", + req_qos_mon_params_local->valuestring); + } else { + OpenAPI_list_add(req_qos_mon_paramsList, (void *)localEnum); } - OpenAPI_list_add(req_qos_mon_paramsList, (void *)localEnum); + } + if (req_qos_mon_paramsList->count == 0) { + ogs_error("OpenAPI_events_subsc_req_data_rm_parseFromJSON() failed: Expected req_qos_mon_paramsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -307,10 +312,15 @@ OpenAPI_events_subsc_req_data_rm_t *OpenAPI_events_subsc_req_data_rm_parseFromJS } localEnum = OpenAPI_required_access_info_FromString(req_anis_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_required_access_info_FromString(req_anis_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"req_anis\" is not supported. Ignoring it ...", + req_anis_local->valuestring); + } else { + OpenAPI_list_add(req_anisList, (void *)localEnum); } - OpenAPI_list_add(req_anisList, (void *)localEnum); + } + if (req_anisList->count == 0) { + ogs_error("OpenAPI_events_subsc_req_data_rm_parseFromJSON() failed: Expected req_anisList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/immediate_mdt_conf.c b/lib/sbi/openapi/model/immediate_mdt_conf.c index 775e6b7d8..0717951a6 100644 --- a/lib/sbi/openapi/model/immediate_mdt_conf.c +++ b/lib/sbi/openapi/model/immediate_mdt_conf.c @@ -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; } } diff --git a/lib/sbi/openapi/model/lcs_mo_data.c b/lib/sbi/openapi/model/lcs_mo_data.c index e912d84c1..188f6dcb4 100644 --- a/lib/sbi/openapi/model/lcs_mo_data.c +++ b/lib/sbi/openapi/model/lcs_mo_data.c @@ -109,10 +109,15 @@ OpenAPI_lcs_mo_data_t *OpenAPI_lcs_mo_data_parseFromJSON(cJSON *lcs_mo_dataJSON) } localEnum = OpenAPI_lcs_mo_service_class_FromString(allowed_service_classes_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_lcs_mo_service_class_FromString(allowed_service_classes_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"allowed_service_classes\" is not supported. Ignoring it ...", + allowed_service_classes_local->valuestring); + } else { + OpenAPI_list_add(allowed_service_classesList, (void *)localEnum); } - OpenAPI_list_add(allowed_service_classesList, (void *)localEnum); + } + if (allowed_service_classesList->count == 0) { + ogs_error("OpenAPI_lcs_mo_data_parseFromJSON() failed: Expected allowed_service_classesList to not be empty (after ignoring unsupported enum values)."); + goto end; } mo_assistance_data_types = cJSON_GetObjectItemCaseSensitive(lcs_mo_dataJSON, "moAssistanceDataTypes"); diff --git a/lib/sbi/openapi/model/lmf_info.c b/lib/sbi/openapi/model/lmf_info.c index e5955a6be..588944d7d 100644 --- a/lib/sbi/openapi/model/lmf_info.c +++ b/lib/sbi/openapi/model/lmf_info.c @@ -281,10 +281,15 @@ OpenAPI_lmf_info_t *OpenAPI_lmf_info_parseFromJSON(cJSON *lmf_infoJSON) } localEnum = OpenAPI_access_type_FromString(serving_access_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_access_type_FromString(serving_access_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"serving_access_types\" is not supported. Ignoring it ...", + serving_access_types_local->valuestring); + } else { + OpenAPI_list_add(serving_access_typesList, (void *)localEnum); } - OpenAPI_list_add(serving_access_typesList, (void *)localEnum); + } + if (serving_access_typesList->count == 0) { + ogs_error("OpenAPI_lmf_info_parseFromJSON() failed: Expected serving_access_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -306,10 +311,15 @@ OpenAPI_lmf_info_t *OpenAPI_lmf_info_parseFromJSON(cJSON *lmf_infoJSON) } localEnum = OpenAPI_an_node_type_FromString(serving_an_node_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_an_node_type_FromString(serving_an_node_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"serving_an_node_types\" is not supported. Ignoring it ...", + serving_an_node_types_local->valuestring); + } else { + OpenAPI_list_add(serving_an_node_typesList, (void *)localEnum); } - OpenAPI_list_add(serving_an_node_typesList, (void *)localEnum); + } + if (serving_an_node_typesList->count == 0) { + ogs_error("OpenAPI_lmf_info_parseFromJSON() failed: Expected serving_an_node_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -331,10 +341,15 @@ OpenAPI_lmf_info_t *OpenAPI_lmf_info_parseFromJSON(cJSON *lmf_infoJSON) } localEnum = OpenAPI_rat_type_FromString(serving_rat_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(serving_rat_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"serving_rat_types\" is not supported. Ignoring it ...", + serving_rat_types_local->valuestring); + } else { + OpenAPI_list_add(serving_rat_typesList, (void *)localEnum); } - OpenAPI_list_add(serving_rat_typesList, (void *)localEnum); + } + if (serving_rat_typesList->count == 0) { + ogs_error("OpenAPI_lmf_info_parseFromJSON() failed: Expected serving_rat_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/mdt_configuration.c b/lib/sbi/openapi/model/mdt_configuration.c index 2daa6eb4d..2379c4f57 100644 --- a/lib/sbi/openapi/model/mdt_configuration.c +++ b/lib/sbi/openapi/model/mdt_configuration.c @@ -517,10 +517,15 @@ OpenAPI_mdt_configuration_t *OpenAPI_mdt_configuration_parseFromJSON(cJSON *mdt_ } 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_mdt_configuration_parseFromJSON() failed: Expected measurement_lte_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -542,10 +547,15 @@ OpenAPI_mdt_configuration_t *OpenAPI_mdt_configuration_parseFromJSON(cJSON *mdt_ } 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_mdt_configuration_parseFromJSON() failed: Expected measurement_nr_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -567,10 +577,15 @@ OpenAPI_mdt_configuration_t *OpenAPI_mdt_configuration_parseFromJSON(cJSON *mdt_ } 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_mdt_configuration_parseFromJSON() failed: Expected sensor_measurement_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -592,10 +607,15 @@ OpenAPI_mdt_configuration_t *OpenAPI_mdt_configuration_parseFromJSON(cJSON *mdt_ } 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_mdt_configuration_parseFromJSON() failed: Expected reporting_trigger_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -676,10 +696,15 @@ OpenAPI_mdt_configuration_t *OpenAPI_mdt_configuration_parseFromJSON(cJSON *mdt_ } localEnum = OpenAPI_event_for_mdt_FromString(event_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_event_for_mdt_FromString(event_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"event_list\" is not supported. Ignoring it ...", + event_list_local->valuestring); + } else { + OpenAPI_list_add(event_listList, (void *)localEnum); } - OpenAPI_list_add(event_listList, (void *)localEnum); + } + if (event_listList->count == 0) { + ogs_error("OpenAPI_mdt_configuration_parseFromJSON() failed: Expected event_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -746,10 +771,15 @@ OpenAPI_mdt_configuration_t *OpenAPI_mdt_configuration_parseFromJSON(cJSON *mdt_ } 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_mdt_configuration_parseFromJSON() failed: Expected add_positioning_method_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/mdt_configuration_1.c b/lib/sbi/openapi/model/mdt_configuration_1.c index cd3861316..26eaab010 100644 --- a/lib/sbi/openapi/model/mdt_configuration_1.c +++ b/lib/sbi/openapi/model/mdt_configuration_1.c @@ -517,10 +517,15 @@ OpenAPI_mdt_configuration_1_t *OpenAPI_mdt_configuration_1_parseFromJSON(cJSON * } 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_mdt_configuration_1_parseFromJSON() failed: Expected measurement_lte_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -542,10 +547,15 @@ OpenAPI_mdt_configuration_1_t *OpenAPI_mdt_configuration_1_parseFromJSON(cJSON * } 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_mdt_configuration_1_parseFromJSON() failed: Expected measurement_nr_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -567,10 +577,15 @@ OpenAPI_mdt_configuration_1_t *OpenAPI_mdt_configuration_1_parseFromJSON(cJSON * } 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_mdt_configuration_1_parseFromJSON() failed: Expected sensor_measurement_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -592,10 +607,15 @@ OpenAPI_mdt_configuration_1_t *OpenAPI_mdt_configuration_1_parseFromJSON(cJSON * } 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_mdt_configuration_1_parseFromJSON() failed: Expected reporting_trigger_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -676,10 +696,15 @@ OpenAPI_mdt_configuration_1_t *OpenAPI_mdt_configuration_1_parseFromJSON(cJSON * } localEnum = OpenAPI_event_for_mdt_FromString(event_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_event_for_mdt_FromString(event_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"event_list\" is not supported. Ignoring it ...", + event_list_local->valuestring); + } else { + OpenAPI_list_add(event_listList, (void *)localEnum); } - OpenAPI_list_add(event_listList, (void *)localEnum); + } + if (event_listList->count == 0) { + ogs_error("OpenAPI_mdt_configuration_1_parseFromJSON() failed: Expected event_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -746,10 +771,15 @@ OpenAPI_mdt_configuration_1_t *OpenAPI_mdt_configuration_1_parseFromJSON(cJSON * } 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_mdt_configuration_1_parseFromJSON() failed: Expected add_positioning_method_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/mfaf_info.c b/lib/sbi/openapi/model/mfaf_info.c index e5daf0c47..6e6843999 100644 --- a/lib/sbi/openapi/model/mfaf_info.c +++ b/lib/sbi/openapi/model/mfaf_info.c @@ -162,10 +162,15 @@ OpenAPI_mfaf_info_t *OpenAPI_mfaf_info_parseFromJSON(cJSON *mfaf_infoJSON) } localEnum = OpenAPI_nf_type_FromString(serving_nf_type_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_nf_type_FromString(serving_nf_type_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"serving_nf_type_list\" is not supported. Ignoring it ...", + serving_nf_type_list_local->valuestring); + } else { + OpenAPI_list_add(serving_nf_type_listList, (void *)localEnum); } - OpenAPI_list_add(serving_nf_type_listList, (void *)localEnum); + } + if (serving_nf_type_listList->count == 0) { + ogs_error("OpenAPI_mfaf_info_parseFromJSON() failed: Expected serving_nf_type_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/model_5_gvn_group_data.c b/lib/sbi/openapi/model/model_5_gvn_group_data.c index 8014b7649..95dac8eab 100644 --- a/lib/sbi/openapi/model/model_5_gvn_group_data.c +++ b/lib/sbi/openapi/model/model_5_gvn_group_data.c @@ -256,10 +256,15 @@ OpenAPI_model_5_gvn_group_data_t *OpenAPI_model_5_gvn_group_data_parseFromJSON(c } localEnum = OpenAPI_pdu_session_type_FromString(pdu_session_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_pdu_session_type_FromString(pdu_session_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"pdu_session_types\" is not supported. Ignoring it ...", + pdu_session_types_local->valuestring); + } else { + OpenAPI_list_add(pdu_session_typesList, (void *)localEnum); } - OpenAPI_list_add(pdu_session_typesList, (void *)localEnum); + } + if (pdu_session_typesList->count == 0) { + ogs_error("OpenAPI_model_5_gvn_group_data_parseFromJSON() failed: Expected pdu_session_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/nef_cond.c b/lib/sbi/openapi/model/nef_cond.c index acab2d442..7430985d3 100644 --- a/lib/sbi/openapi/model/nef_cond.c +++ b/lib/sbi/openapi/model/nef_cond.c @@ -257,10 +257,15 @@ OpenAPI_nef_cond_t *OpenAPI_nef_cond_parseFromJSON(cJSON *nef_condJSON) } localEnum = OpenAPI_af_event_FromString(af_events_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_af_event_FromString(af_events_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"af_events\" is not supported. Ignoring it ...", + af_events_local->valuestring); + } else { + OpenAPI_list_add(af_eventsList, (void *)localEnum); } - OpenAPI_list_add(af_eventsList, (void *)localEnum); + } + if (af_eventsList->count == 0) { + ogs_error("OpenAPI_nef_cond_parseFromJSON() failed: Expected af_eventsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/nf_profile.c b/lib/sbi/openapi/model/nf_profile.c index 7920b7aef..c611d1276 100644 --- a/lib/sbi/openapi/model/nf_profile.c +++ b/lib/sbi/openapi/model/nf_profile.c @@ -2617,10 +2617,15 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) } localEnum = OpenAPI_nf_type_FromString(allowed_nf_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_nf_type_FromString(allowed_nf_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"allowed_nf_types\" is not supported. Ignoring it ...", + allowed_nf_types_local->valuestring); + } else { + OpenAPI_list_add(allowed_nf_typesList, (void *)localEnum); } - OpenAPI_list_add(allowed_nf_typesList, (void *)localEnum); + } + if (allowed_nf_typesList->count == 0) { + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed: Expected allowed_nf_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/nf_service.c b/lib/sbi/openapi/model/nf_service.c index a3b933ece..8e5043f5e 100644 --- a/lib/sbi/openapi/model/nf_service.c +++ b/lib/sbi/openapi/model/nf_service.c @@ -880,10 +880,15 @@ OpenAPI_nf_service_t *OpenAPI_nf_service_parseFromJSON(cJSON *nf_serviceJSON) } localEnum = OpenAPI_nf_type_FromString(allowed_nf_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_nf_type_FromString(allowed_nf_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"allowed_nf_types\" is not supported. Ignoring it ...", + allowed_nf_types_local->valuestring); + } else { + OpenAPI_list_add(allowed_nf_typesList, (void *)localEnum); } - OpenAPI_list_add(allowed_nf_typesList, (void *)localEnum); + } + if (allowed_nf_typesList->count == 0) { + ogs_error("OpenAPI_nf_service_parseFromJSON() failed: Expected allowed_nf_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/non_ue_n2_info_subscription_create_data.c b/lib/sbi/openapi/model/non_ue_n2_info_subscription_create_data.c index 8107f3b86..1047f5168 100644 --- a/lib/sbi/openapi/model/non_ue_n2_info_subscription_create_data.c +++ b/lib/sbi/openapi/model/non_ue_n2_info_subscription_create_data.c @@ -191,10 +191,15 @@ OpenAPI_non_ue_n2_info_subscription_create_data_t *OpenAPI_non_ue_n2_info_subscr } localEnum = OpenAPI_access_type_FromString(an_type_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_access_type_FromString(an_type_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"an_type_list\" is not supported. Ignoring it ...", + an_type_list_local->valuestring); + } else { + OpenAPI_list_add(an_type_listList, (void *)localEnum); } - OpenAPI_list_add(an_type_listList, (void *)localEnum); + } + if (an_type_listList->count == 0) { + ogs_error("OpenAPI_non_ue_n2_info_subscription_create_data_parseFromJSON() failed: Expected an_type_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/nrf_info_served_lmf_info_value.c b/lib/sbi/openapi/model/nrf_info_served_lmf_info_value.c index aefca28fa..ffbbdd75e 100644 --- a/lib/sbi/openapi/model/nrf_info_served_lmf_info_value.c +++ b/lib/sbi/openapi/model/nrf_info_served_lmf_info_value.c @@ -281,10 +281,15 @@ OpenAPI_nrf_info_served_lmf_info_value_t *OpenAPI_nrf_info_served_lmf_info_value } localEnum = OpenAPI_access_type_FromString(serving_access_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_access_type_FromString(serving_access_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"serving_access_types\" is not supported. Ignoring it ...", + serving_access_types_local->valuestring); + } else { + OpenAPI_list_add(serving_access_typesList, (void *)localEnum); } - OpenAPI_list_add(serving_access_typesList, (void *)localEnum); + } + if (serving_access_typesList->count == 0) { + ogs_error("OpenAPI_nrf_info_served_lmf_info_value_parseFromJSON() failed: Expected serving_access_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -306,10 +311,15 @@ OpenAPI_nrf_info_served_lmf_info_value_t *OpenAPI_nrf_info_served_lmf_info_value } localEnum = OpenAPI_an_node_type_FromString(serving_an_node_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_an_node_type_FromString(serving_an_node_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"serving_an_node_types\" is not supported. Ignoring it ...", + serving_an_node_types_local->valuestring); + } else { + OpenAPI_list_add(serving_an_node_typesList, (void *)localEnum); } - OpenAPI_list_add(serving_an_node_typesList, (void *)localEnum); + } + if (serving_an_node_typesList->count == 0) { + ogs_error("OpenAPI_nrf_info_served_lmf_info_value_parseFromJSON() failed: Expected serving_an_node_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -331,10 +341,15 @@ OpenAPI_nrf_info_served_lmf_info_value_t *OpenAPI_nrf_info_served_lmf_info_value } localEnum = OpenAPI_rat_type_FromString(serving_rat_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(serving_rat_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"serving_rat_types\" is not supported. Ignoring it ...", + serving_rat_types_local->valuestring); + } else { + OpenAPI_list_add(serving_rat_typesList, (void *)localEnum); } - OpenAPI_list_add(serving_rat_typesList, (void *)localEnum); + } + if (serving_rat_typesList->count == 0) { + ogs_error("OpenAPI_nrf_info_served_lmf_info_value_parseFromJSON() failed: Expected serving_rat_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/nrf_info_served_nwdaf_info_value.c b/lib/sbi/openapi/model/nrf_info_served_nwdaf_info_value.c index 56d4f47b4..ddc445985 100644 --- a/lib/sbi/openapi/model/nrf_info_served_nwdaf_info_value.c +++ b/lib/sbi/openapi/model/nrf_info_served_nwdaf_info_value.c @@ -410,10 +410,15 @@ OpenAPI_nrf_info_served_nwdaf_info_value_t *OpenAPI_nrf_info_served_nwdaf_info_v } localEnum = OpenAPI_nf_type_FromString(serving_nf_type_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_nf_type_FromString(serving_nf_type_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"serving_nf_type_list\" is not supported. Ignoring it ...", + serving_nf_type_list_local->valuestring); + } else { + OpenAPI_list_add(serving_nf_type_listList, (void *)localEnum); } - OpenAPI_list_add(serving_nf_type_listList, (void *)localEnum); + } + if (serving_nf_type_listList->count == 0) { + ogs_error("OpenAPI_nrf_info_served_nwdaf_info_value_parseFromJSON() failed: Expected serving_nf_type_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/nrf_info_served_pcscf_info_list_value_value.c b/lib/sbi/openapi/model/nrf_info_served_pcscf_info_list_value_value.c index 7f725c7eb..277f85cf4 100644 --- a/lib/sbi/openapi/model/nrf_info_served_pcscf_info_list_value_value.c +++ b/lib/sbi/openapi/model/nrf_info_served_pcscf_info_list_value_value.c @@ -290,10 +290,15 @@ OpenAPI_nrf_info_served_pcscf_info_list_value_value_t *OpenAPI_nrf_info_served_p } localEnum = OpenAPI_access_type_FromString(access_type_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_access_type_FromString(access_type_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"access_type\" is not supported. Ignoring it ...", + access_type_local->valuestring); + } else { + OpenAPI_list_add(access_typeList, (void *)localEnum); } - OpenAPI_list_add(access_typeList, (void *)localEnum); + } + if (access_typeList->count == 0) { + ogs_error("OpenAPI_nrf_info_served_pcscf_info_list_value_value_parseFromJSON() failed: Expected access_typeList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/nrf_info_served_scp_info_list_value.c b/lib/sbi/openapi/model/nrf_info_served_scp_info_list_value.c index 804f53333..14c5421cf 100644 --- a/lib/sbi/openapi/model/nrf_info_served_scp_info_list_value.c +++ b/lib/sbi/openapi/model/nrf_info_served_scp_info_list_value.c @@ -657,10 +657,15 @@ OpenAPI_nrf_info_served_scp_info_list_value_t *OpenAPI_nrf_info_served_scp_info_ } localEnum = OpenAPI_scp_capability_FromString(scp_capabilities_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_scp_capability_FromString(scp_capabilities_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"scp_capabilities\" is not supported. Ignoring it ...", + scp_capabilities_local->valuestring); + } else { + OpenAPI_list_add(scp_capabilitiesList, (void *)localEnum); } - OpenAPI_list_add(scp_capabilitiesList, (void *)localEnum); + } + if (scp_capabilitiesList->count == 0) { + ogs_error("OpenAPI_nrf_info_served_scp_info_list_value_parseFromJSON() failed: Expected scp_capabilitiesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/nrf_info_served_smf_info_value.c b/lib/sbi/openapi/model/nrf_info_served_smf_info_value.c index c2347b899..1a159a738 100644 --- a/lib/sbi/openapi/model/nrf_info_served_smf_info_value.c +++ b/lib/sbi/openapi/model/nrf_info_served_smf_info_value.c @@ -398,10 +398,15 @@ OpenAPI_nrf_info_served_smf_info_value_t *OpenAPI_nrf_info_served_smf_info_value } localEnum = OpenAPI_access_type_FromString(access_type_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_access_type_FromString(access_type_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"access_type\" is not supported. Ignoring it ...", + access_type_local->valuestring); + } else { + OpenAPI_list_add(access_typeList, (void *)localEnum); } - OpenAPI_list_add(access_typeList, (void *)localEnum); + } + if (access_typeList->count == 0) { + ogs_error("OpenAPI_nrf_info_served_smf_info_value_parseFromJSON() failed: Expected access_typeList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/nrf_info_served_udr_info_value.c b/lib/sbi/openapi/model/nrf_info_served_udr_info_value.c index d56992cea..33d30e4fa 100644 --- a/lib/sbi/openapi/model/nrf_info_served_udr_info_value.c +++ b/lib/sbi/openapi/model/nrf_info_served_udr_info_value.c @@ -285,10 +285,15 @@ OpenAPI_nrf_info_served_udr_info_value_t *OpenAPI_nrf_info_served_udr_info_value } localEnum = OpenAPI_data_set_id_FromString(supported_data_sets_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_data_set_id_FromString(supported_data_sets_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"supported_data_sets\" is not supported. Ignoring it ...", + supported_data_sets_local->valuestring); + } else { + OpenAPI_list_add(supported_data_setsList, (void *)localEnum); } - OpenAPI_list_add(supported_data_setsList, (void *)localEnum); + } + if (supported_data_setsList->count == 0) { + ogs_error("OpenAPI_nrf_info_served_udr_info_value_parseFromJSON() failed: Expected supported_data_setsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/nrf_info_served_upf_info_value.c b/lib/sbi/openapi/model/nrf_info_served_upf_info_value.c index ef5af6f8f..f91b33cd8 100644 --- a/lib/sbi/openapi/model/nrf_info_served_upf_info_value.c +++ b/lib/sbi/openapi/model/nrf_info_served_upf_info_value.c @@ -467,10 +467,15 @@ OpenAPI_nrf_info_served_upf_info_value_t *OpenAPI_nrf_info_served_upf_info_value } localEnum = OpenAPI_pdu_session_type_FromString(pdu_session_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_pdu_session_type_FromString(pdu_session_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"pdu_session_types\" is not supported. Ignoring it ...", + pdu_session_types_local->valuestring); + } else { + OpenAPI_list_add(pdu_session_typesList, (void *)localEnum); } - OpenAPI_list_add(pdu_session_typesList, (void *)localEnum); + } + if (pdu_session_typesList->count == 0) { + ogs_error("OpenAPI_nrf_info_served_upf_info_value_parseFromJSON() failed: Expected pdu_session_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/nwdaf_cond.c b/lib/sbi/openapi/model/nwdaf_cond.c index e05913a25..f84988ce6 100644 --- a/lib/sbi/openapi/model/nwdaf_cond.c +++ b/lib/sbi/openapi/model/nwdaf_cond.c @@ -381,10 +381,15 @@ OpenAPI_nwdaf_cond_t *OpenAPI_nwdaf_cond_parseFromJSON(cJSON *nwdaf_condJSON) } localEnum = OpenAPI_nf_type_FromString(serving_nf_type_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_nf_type_FromString(serving_nf_type_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"serving_nf_type_list\" is not supported. Ignoring it ...", + serving_nf_type_list_local->valuestring); + } else { + OpenAPI_list_add(serving_nf_type_listList, (void *)localEnum); } - OpenAPI_list_add(serving_nf_type_listList, (void *)localEnum); + } + if (serving_nf_type_listList->count == 0) { + ogs_error("OpenAPI_nwdaf_cond_parseFromJSON() failed: Expected serving_nf_type_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/nwdaf_info.c b/lib/sbi/openapi/model/nwdaf_info.c index 6d30dec09..359b1728b 100644 --- a/lib/sbi/openapi/model/nwdaf_info.c +++ b/lib/sbi/openapi/model/nwdaf_info.c @@ -410,10 +410,15 @@ OpenAPI_nwdaf_info_t *OpenAPI_nwdaf_info_parseFromJSON(cJSON *nwdaf_infoJSON) } localEnum = OpenAPI_nf_type_FromString(serving_nf_type_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_nf_type_FromString(serving_nf_type_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"serving_nf_type_list\" is not supported. Ignoring it ...", + serving_nf_type_list_local->valuestring); + } else { + OpenAPI_list_add(serving_nf_type_listList, (void *)localEnum); } - OpenAPI_list_add(serving_nf_type_listList, (void *)localEnum); + } + if (serving_nf_type_listList->count == 0) { + ogs_error("OpenAPI_nwdaf_info_parseFromJSON() failed: Expected serving_nf_type_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/partial_success_report.c b/lib/sbi/openapi/model/partial_success_report.c index 3ea295ee7..265857292 100644 --- a/lib/sbi/openapi/model/partial_success_report.c +++ b/lib/sbi/openapi/model/partial_success_report.c @@ -266,10 +266,15 @@ OpenAPI_partial_success_report_t *OpenAPI_partial_success_report_parseFromJSON(c } localEnum = OpenAPI_policy_decision_failure_code_FromString(policy_dec_failure_reports_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_policy_decision_failure_code_FromString(policy_dec_failure_reports_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"policy_dec_failure_reports\" is not supported. Ignoring it ...", + policy_dec_failure_reports_local->valuestring); + } else { + OpenAPI_list_add(policy_dec_failure_reportsList, (void *)localEnum); } - OpenAPI_list_add(policy_dec_failure_reportsList, (void *)localEnum); + } + if (policy_dec_failure_reportsList->count == 0) { + ogs_error("OpenAPI_partial_success_report_parseFromJSON() failed: Expected policy_dec_failure_reportsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/pcscf_info.c b/lib/sbi/openapi/model/pcscf_info.c index 736f925f1..afa578795 100644 --- a/lib/sbi/openapi/model/pcscf_info.c +++ b/lib/sbi/openapi/model/pcscf_info.c @@ -290,10 +290,15 @@ OpenAPI_pcscf_info_t *OpenAPI_pcscf_info_parseFromJSON(cJSON *pcscf_infoJSON) } localEnum = OpenAPI_access_type_FromString(access_type_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_access_type_FromString(access_type_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"access_type\" is not supported. Ignoring it ...", + access_type_local->valuestring); + } else { + OpenAPI_list_add(access_typeList, (void *)localEnum); } - OpenAPI_list_add(access_typeList, (void *)localEnum); + } + if (access_typeList->count == 0) { + ogs_error("OpenAPI_pcscf_info_parseFromJSON() failed: Expected access_typeList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/pdu_session_types.c b/lib/sbi/openapi/model/pdu_session_types.c index ba5724333..dc912bd23 100644 --- a/lib/sbi/openapi/model/pdu_session_types.c +++ b/lib/sbi/openapi/model/pdu_session_types.c @@ -103,10 +103,15 @@ OpenAPI_pdu_session_types_t *OpenAPI_pdu_session_types_parseFromJSON(cJSON *pdu_ } localEnum = OpenAPI_pdu_session_type_FromString(allowed_session_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_pdu_session_type_FromString(allowed_session_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"allowed_session_types\" is not supported. Ignoring it ...", + allowed_session_types_local->valuestring); + } else { + OpenAPI_list_add(allowed_session_typesList, (void *)localEnum); } - OpenAPI_list_add(allowed_session_typesList, (void *)localEnum); + } + if (allowed_session_typesList->count == 0) { + ogs_error("OpenAPI_pdu_session_types_parseFromJSON() failed: Expected allowed_session_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/pdu_session_types_1.c b/lib/sbi/openapi/model/pdu_session_types_1.c index fcc4a0aab..99fdc2ed0 100644 --- a/lib/sbi/openapi/model/pdu_session_types_1.c +++ b/lib/sbi/openapi/model/pdu_session_types_1.c @@ -103,10 +103,15 @@ OpenAPI_pdu_session_types_1_t *OpenAPI_pdu_session_types_1_parseFromJSON(cJSON * } localEnum = OpenAPI_pdu_session_type_FromString(allowed_session_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_pdu_session_type_FromString(allowed_session_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"allowed_session_types\" is not supported. Ignoring it ...", + allowed_session_types_local->valuestring); + } else { + OpenAPI_list_add(allowed_session_typesList, (void *)localEnum); } - OpenAPI_list_add(allowed_session_typesList, (void *)localEnum); + } + if (allowed_session_typesList->count == 0) { + ogs_error("OpenAPI_pdu_session_types_1_parseFromJSON() failed: Expected allowed_session_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/plmn_restriction.c b/lib/sbi/openapi/model/plmn_restriction.c index 74b8b081c..526b28bce 100644 --- a/lib/sbi/openapi/model/plmn_restriction.c +++ b/lib/sbi/openapi/model/plmn_restriction.c @@ -197,10 +197,15 @@ OpenAPI_plmn_restriction_t *OpenAPI_plmn_restriction_parseFromJSON(cJSON *plmn_r } localEnum = OpenAPI_rat_type_FromString(rat_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(rat_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"rat_restrictions\" is not supported. Ignoring it ...", + rat_restrictions_local->valuestring); + } else { + OpenAPI_list_add(rat_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(rat_restrictionsList, (void *)localEnum); + } + if (rat_restrictionsList->count == 0) { + ogs_error("OpenAPI_plmn_restriction_parseFromJSON() failed: Expected rat_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -255,10 +260,15 @@ OpenAPI_plmn_restriction_t *OpenAPI_plmn_restriction_parseFromJSON(cJSON *plmn_r } localEnum = OpenAPI_core_network_type_FromString(core_network_type_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_core_network_type_FromString(core_network_type_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"core_network_type_restrictions\" is not supported. Ignoring it ...", + core_network_type_restrictions_local->valuestring); + } else { + OpenAPI_list_add(core_network_type_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(core_network_type_restrictionsList, (void *)localEnum); + } + if (core_network_type_restrictionsList->count == 0) { + ogs_error("OpenAPI_plmn_restriction_parseFromJSON() failed: Expected core_network_type_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -280,10 +290,15 @@ OpenAPI_plmn_restriction_t *OpenAPI_plmn_restriction_parseFromJSON(cJSON *plmn_r } localEnum = OpenAPI_rat_type_FromString(primary_rat_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(primary_rat_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"primary_rat_restrictions\" is not supported. Ignoring it ...", + primary_rat_restrictions_local->valuestring); + } else { + OpenAPI_list_add(primary_rat_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(primary_rat_restrictionsList, (void *)localEnum); + } + if (primary_rat_restrictionsList->count == 0) { + ogs_error("OpenAPI_plmn_restriction_parseFromJSON() failed: Expected primary_rat_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -305,10 +320,15 @@ OpenAPI_plmn_restriction_t *OpenAPI_plmn_restriction_parseFromJSON(cJSON *plmn_r } localEnum = OpenAPI_rat_type_FromString(secondary_rat_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(secondary_rat_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"secondary_rat_restrictions\" is not supported. Ignoring it ...", + secondary_rat_restrictions_local->valuestring); + } else { + OpenAPI_list_add(secondary_rat_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(secondary_rat_restrictionsList, (void *)localEnum); + } + if (secondary_rat_restrictionsList->count == 0) { + ogs_error("OpenAPI_plmn_restriction_parseFromJSON() failed: Expected secondary_rat_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/plmn_restriction_1.c b/lib/sbi/openapi/model/plmn_restriction_1.c index 808e185ee..41267079f 100644 --- a/lib/sbi/openapi/model/plmn_restriction_1.c +++ b/lib/sbi/openapi/model/plmn_restriction_1.c @@ -197,10 +197,15 @@ OpenAPI_plmn_restriction_1_t *OpenAPI_plmn_restriction_1_parseFromJSON(cJSON *pl } localEnum = OpenAPI_rat_type_FromString(rat_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(rat_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"rat_restrictions\" is not supported. Ignoring it ...", + rat_restrictions_local->valuestring); + } else { + OpenAPI_list_add(rat_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(rat_restrictionsList, (void *)localEnum); + } + if (rat_restrictionsList->count == 0) { + ogs_error("OpenAPI_plmn_restriction_1_parseFromJSON() failed: Expected rat_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -255,10 +260,15 @@ OpenAPI_plmn_restriction_1_t *OpenAPI_plmn_restriction_1_parseFromJSON(cJSON *pl } localEnum = OpenAPI_core_network_type_FromString(core_network_type_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_core_network_type_FromString(core_network_type_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"core_network_type_restrictions\" is not supported. Ignoring it ...", + core_network_type_restrictions_local->valuestring); + } else { + OpenAPI_list_add(core_network_type_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(core_network_type_restrictionsList, (void *)localEnum); + } + if (core_network_type_restrictionsList->count == 0) { + ogs_error("OpenAPI_plmn_restriction_1_parseFromJSON() failed: Expected core_network_type_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -280,10 +290,15 @@ OpenAPI_plmn_restriction_1_t *OpenAPI_plmn_restriction_1_parseFromJSON(cJSON *pl } localEnum = OpenAPI_rat_type_FromString(primary_rat_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(primary_rat_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"primary_rat_restrictions\" is not supported. Ignoring it ...", + primary_rat_restrictions_local->valuestring); + } else { + OpenAPI_list_add(primary_rat_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(primary_rat_restrictionsList, (void *)localEnum); + } + if (primary_rat_restrictionsList->count == 0) { + ogs_error("OpenAPI_plmn_restriction_1_parseFromJSON() failed: Expected primary_rat_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -305,10 +320,15 @@ OpenAPI_plmn_restriction_1_t *OpenAPI_plmn_restriction_1_parseFromJSON(cJSON *pl } localEnum = OpenAPI_rat_type_FromString(secondary_rat_restrictions_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(secondary_rat_restrictions_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"secondary_rat_restrictions\" is not supported. Ignoring it ...", + secondary_rat_restrictions_local->valuestring); + } else { + OpenAPI_list_add(secondary_rat_restrictionsList, (void *)localEnum); } - OpenAPI_list_add(secondary_rat_restrictionsList, (void *)localEnum); + } + if (secondary_rat_restrictionsList->count == 0) { + ogs_error("OpenAPI_plmn_restriction_1_parseFromJSON() failed: Expected secondary_rat_restrictionsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/policy_association.c b/lib/sbi/openapi/model/policy_association.c index d8a3d4ea9..a1257adb0 100644 --- a/lib/sbi/openapi/model/policy_association.c +++ b/lib/sbi/openapi/model/policy_association.c @@ -405,10 +405,15 @@ OpenAPI_policy_association_t *OpenAPI_policy_association_parseFromJSON(cJSON *po } localEnum = OpenAPI_request_trigger_FromString(triggers_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_request_trigger_FromString(triggers_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"triggers\" is not supported. Ignoring it ...", + triggers_local->valuestring); + } else { + OpenAPI_list_add(triggersList, (void *)localEnum); } - OpenAPI_list_add(triggersList, (void *)localEnum); + } + if (triggersList->count == 0) { + ogs_error("OpenAPI_policy_association_parseFromJSON() failed: Expected triggersList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/policy_association_request.c b/lib/sbi/openapi/model/policy_association_request.c index e04072a2f..22e663803 100644 --- a/lib/sbi/openapi/model/policy_association_request.c +++ b/lib/sbi/openapi/model/policy_association_request.c @@ -759,10 +759,15 @@ OpenAPI_policy_association_request_t *OpenAPI_policy_association_request_parseFr } localEnum = OpenAPI_access_type_FromString(access_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_access_type_FromString(access_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"access_types\" is not supported. Ignoring it ...", + access_types_local->valuestring); + } else { + OpenAPI_list_add(access_typesList, (void *)localEnum); } - OpenAPI_list_add(access_typesList, (void *)localEnum); + } + if (access_typesList->count == 0) { + ogs_error("OpenAPI_policy_association_request_parseFromJSON() failed: Expected access_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -827,10 +832,15 @@ OpenAPI_policy_association_request_t *OpenAPI_policy_association_request_parseFr } localEnum = OpenAPI_rat_type_FromString(rat_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(rat_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"rat_types\" is not supported. Ignoring it ...", + rat_types_local->valuestring); + } else { + OpenAPI_list_add(rat_typesList, (void *)localEnum); } - OpenAPI_list_add(rat_typesList, (void *)localEnum); + } + if (rat_typesList->count == 0) { + ogs_error("OpenAPI_policy_association_request_parseFromJSON() failed: Expected rat_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/policy_association_update_request.c b/lib/sbi/openapi/model/policy_association_update_request.c index 9029827f4..da0e60989 100644 --- a/lib/sbi/openapi/model/policy_association_update_request.c +++ b/lib/sbi/openapi/model/policy_association_update_request.c @@ -673,10 +673,15 @@ OpenAPI_policy_association_update_request_t *OpenAPI_policy_association_update_r } localEnum = OpenAPI_request_trigger_FromString(triggers_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_request_trigger_FromString(triggers_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"triggers\" is not supported. Ignoring it ...", + triggers_local->valuestring); + } else { + OpenAPI_list_add(triggersList, (void *)localEnum); } - OpenAPI_list_add(triggersList, (void *)localEnum); + } + if (triggersList->count == 0) { + ogs_error("OpenAPI_policy_association_update_request_parseFromJSON() failed: Expected triggersList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -875,10 +880,15 @@ OpenAPI_policy_association_update_request_t *OpenAPI_policy_association_update_r } localEnum = OpenAPI_access_type_FromString(access_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_access_type_FromString(access_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"access_types\" is not supported. Ignoring it ...", + access_types_local->valuestring); + } else { + OpenAPI_list_add(access_typesList, (void *)localEnum); } - OpenAPI_list_add(access_typesList, (void *)localEnum); + } + if (access_typesList->count == 0) { + ogs_error("OpenAPI_policy_association_update_request_parseFromJSON() failed: Expected access_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -900,10 +910,15 @@ OpenAPI_policy_association_update_request_t *OpenAPI_policy_association_update_r } localEnum = OpenAPI_rat_type_FromString(rat_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(rat_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"rat_types\" is not supported. Ignoring it ...", + rat_types_local->valuestring); + } else { + OpenAPI_list_add(rat_typesList, (void *)localEnum); } - OpenAPI_list_add(rat_typesList, (void *)localEnum); + } + if (rat_typesList->count == 0) { + ogs_error("OpenAPI_policy_association_update_request_parseFromJSON() failed: Expected rat_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/policy_update.c b/lib/sbi/openapi/model/policy_update.c index fe30730fe..9a9df9cd7 100644 --- a/lib/sbi/openapi/model/policy_update.c +++ b/lib/sbi/openapi/model/policy_update.c @@ -400,10 +400,15 @@ OpenAPI_policy_update_t *OpenAPI_policy_update_parseFromJSON(cJSON *policy_updat } localEnum = OpenAPI_request_trigger_FromString(triggers_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_request_trigger_FromString(triggers_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"triggers\" is not supported. Ignoring it ...", + triggers_local->valuestring); + } else { + OpenAPI_list_add(triggersList, (void *)localEnum); } - OpenAPI_list_add(triggersList, (void *)localEnum); + } + if (triggersList->count == 0) { + ogs_error("OpenAPI_policy_update_parseFromJSON() failed: Expected triggersList to not be empty (after ignoring unsupported enum values)."); + goto end; } } } diff --git a/lib/sbi/openapi/model/pro_se_allowed_plmn.c b/lib/sbi/openapi/model/pro_se_allowed_plmn.c index 5b9728749..c7d13fd4d 100644 --- a/lib/sbi/openapi/model/pro_se_allowed_plmn.c +++ b/lib/sbi/openapi/model/pro_se_allowed_plmn.c @@ -117,10 +117,15 @@ OpenAPI_pro_se_allowed_plmn_t *OpenAPI_pro_se_allowed_plmn_parseFromJSON(cJSON * } localEnum = OpenAPI_prose_direct_allowed_FromString(prose_direct_allowed_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_prose_direct_allowed_FromString(prose_direct_allowed_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"prose_direct_allowed\" is not supported. Ignoring it ...", + prose_direct_allowed_local->valuestring); + } else { + OpenAPI_list_add(prose_direct_allowedList, (void *)localEnum); } - OpenAPI_list_add(prose_direct_allowedList, (void *)localEnum); + } + if (prose_direct_allowedList->count == 0) { + ogs_error("OpenAPI_pro_se_allowed_plmn_parseFromJSON() failed: Expected prose_direct_allowedList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/protection_policy.c b/lib/sbi/openapi/model/protection_policy.c index 988a996ae..6bfae868b 100644 --- a/lib/sbi/openapi/model/protection_policy.c +++ b/lib/sbi/openapi/model/protection_policy.c @@ -138,10 +138,15 @@ OpenAPI_protection_policy_t *OpenAPI_protection_policy_parseFromJSON(cJSON *prot } localEnum = OpenAPI_ie_type_FromString(data_type_enc_policy_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_ie_type_FromString(data_type_enc_policy_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"data_type_enc_policy\" is not supported. Ignoring it ...", + data_type_enc_policy_local->valuestring); + } else { + OpenAPI_list_add(data_type_enc_policyList, (void *)localEnum); } - OpenAPI_list_add(data_type_enc_policyList, (void *)localEnum); + } + if (data_type_enc_policyList->count == 0) { + ogs_error("OpenAPI_protection_policy_parseFromJSON() failed: Expected data_type_enc_policyList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/qos_monitoring_data.c b/lib/sbi/openapi/model/qos_monitoring_data.c index 3afc261d3..ac4a4dbfd 100644 --- a/lib/sbi/openapi/model/qos_monitoring_data.c +++ b/lib/sbi/openapi/model/qos_monitoring_data.c @@ -287,10 +287,15 @@ OpenAPI_qos_monitoring_data_t *OpenAPI_qos_monitoring_data_parseFromJSON(cJSON * } localEnum = OpenAPI_requested_qos_monitoring_parameter_FromString(req_qos_mon_params_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_requested_qos_monitoring_parameter_FromString(req_qos_mon_params_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"req_qos_mon_params\" is not supported. Ignoring it ...", + req_qos_mon_params_local->valuestring); + } else { + OpenAPI_list_add(req_qos_mon_paramsList, (void *)localEnum); } - OpenAPI_list_add(req_qos_mon_paramsList, (void *)localEnum); + } + if (req_qos_mon_paramsList->count == 0) { + ogs_error("OpenAPI_qos_monitoring_data_parseFromJSON() failed: Expected req_qos_mon_paramsList to not be empty (after ignoring unsupported enum values)."); + goto end; } rep_freqs = cJSON_GetObjectItemCaseSensitive(qos_monitoring_dataJSON, "repFreqs"); @@ -314,10 +319,15 @@ OpenAPI_qos_monitoring_data_t *OpenAPI_qos_monitoring_data_parseFromJSON(cJSON * } localEnum = OpenAPI_reporting_frequency_FromString(rep_freqs_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_reporting_frequency_FromString(rep_freqs_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"rep_freqs\" is not supported. Ignoring it ...", + rep_freqs_local->valuestring); + } else { + OpenAPI_list_add(rep_freqsList, (void *)localEnum); } - OpenAPI_list_add(rep_freqsList, (void *)localEnum); + } + if (rep_freqsList->count == 0) { + ogs_error("OpenAPI_qos_monitoring_data_parseFromJSON() failed: Expected rep_freqsList to not be empty (after ignoring unsupported enum values)."); + goto end; } rep_thresh_dl = cJSON_GetObjectItemCaseSensitive(qos_monitoring_dataJSON, "repThreshDl"); diff --git a/lib/sbi/openapi/model/registration_location_info.c b/lib/sbi/openapi/model/registration_location_info.c index 2bd7944b0..62339d307 100644 --- a/lib/sbi/openapi/model/registration_location_info.c +++ b/lib/sbi/openapi/model/registration_location_info.c @@ -204,10 +204,15 @@ OpenAPI_registration_location_info_t *OpenAPI_registration_location_info_parseFr } localEnum = OpenAPI_access_type_FromString(access_type_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_access_type_FromString(access_type_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"access_type_list\" is not supported. Ignoring it ...", + access_type_list_local->valuestring); + } else { + OpenAPI_list_add(access_type_listList, (void *)localEnum); } - OpenAPI_list_add(access_type_listList, (void *)localEnum); + } + if (access_type_listList->count == 0) { + ogs_error("OpenAPI_registration_location_info_parseFromJSON() failed: Expected access_type_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } registration_location_info_local_var = OpenAPI_registration_location_info_create ( diff --git a/lib/sbi/openapi/model/reporting_information.c b/lib/sbi/openapi/model/reporting_information.c index 99e2e8716..dbe53d7dd 100644 --- a/lib/sbi/openapi/model/reporting_information.c +++ b/lib/sbi/openapi/model/reporting_information.c @@ -238,10 +238,15 @@ OpenAPI_reporting_information_t *OpenAPI_reporting_information_parseFromJSON(cJS } localEnum = OpenAPI_partitioning_criteria_FromString(partition_criteria_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_partitioning_criteria_FromString(partition_criteria_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"partition_criteria\" is not supported. Ignoring it ...", + partition_criteria_local->valuestring); + } else { + OpenAPI_list_add(partition_criteriaList, (void *)localEnum); } - OpenAPI_list_add(partition_criteriaList, (void *)localEnum); + } + if (partition_criteriaList->count == 0) { + ogs_error("OpenAPI_reporting_information_parseFromJSON() failed: Expected partition_criteriaList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/requested_rule_data.c b/lib/sbi/openapi/model/requested_rule_data.c index 3c807c951..0c73b53e6 100644 --- a/lib/sbi/openapi/model/requested_rule_data.c +++ b/lib/sbi/openapi/model/requested_rule_data.c @@ -138,10 +138,15 @@ OpenAPI_requested_rule_data_t *OpenAPI_requested_rule_data_parseFromJSON(cJSON * } localEnum = OpenAPI_requested_rule_data_type_FromString(req_data_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_requested_rule_data_type_FromString(req_data_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"req_data\" is not supported. Ignoring it ...", + req_data_local->valuestring); + } else { + OpenAPI_list_add(req_dataList, (void *)localEnum); } - OpenAPI_list_add(req_dataList, (void *)localEnum); + } + if (req_dataList->count == 0) { + ogs_error("OpenAPI_requested_rule_data_parseFromJSON() failed: Expected req_dataList to not be empty (after ignoring unsupported enum values)."); + goto end; } requested_rule_data_local_var = OpenAPI_requested_rule_data_create ( diff --git a/lib/sbi/openapi/model/scp_domain_cond.c b/lib/sbi/openapi/model/scp_domain_cond.c index f6df84f0d..ec43a26d4 100644 --- a/lib/sbi/openapi/model/scp_domain_cond.c +++ b/lib/sbi/openapi/model/scp_domain_cond.c @@ -133,10 +133,15 @@ OpenAPI_scp_domain_cond_t *OpenAPI_scp_domain_cond_parseFromJSON(cJSON *scp_doma } localEnum = OpenAPI_nf_type_FromString(nf_type_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_nf_type_FromString(nf_type_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"nf_type_list\" is not supported. Ignoring it ...", + nf_type_list_local->valuestring); + } else { + OpenAPI_list_add(nf_type_listList, (void *)localEnum); } - OpenAPI_list_add(nf_type_listList, (void *)localEnum); + } + if (nf_type_listList->count == 0) { + ogs_error("OpenAPI_scp_domain_cond_parseFromJSON() failed: Expected nf_type_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/scp_info.c b/lib/sbi/openapi/model/scp_info.c index ef9a7df33..f46a34acc 100644 --- a/lib/sbi/openapi/model/scp_info.c +++ b/lib/sbi/openapi/model/scp_info.c @@ -657,10 +657,15 @@ OpenAPI_scp_info_t *OpenAPI_scp_info_parseFromJSON(cJSON *scp_infoJSON) } localEnum = OpenAPI_scp_capability_FromString(scp_capabilities_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_scp_capability_FromString(scp_capabilities_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"scp_capabilities\" is not supported. Ignoring it ...", + scp_capabilities_local->valuestring); + } else { + OpenAPI_list_add(scp_capabilitiesList, (void *)localEnum); } - OpenAPI_list_add(scp_capabilitiesList, (void *)localEnum); + } + if (scp_capabilitiesList->count == 0) { + ogs_error("OpenAPI_scp_info_parseFromJSON() failed: Expected scp_capabilitiesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/sec_negotiate_req_data.c b/lib/sbi/openapi/model/sec_negotiate_req_data.c index ec029d640..157bfc61a 100644 --- a/lib/sbi/openapi/model/sec_negotiate_req_data.c +++ b/lib/sbi/openapi/model/sec_negotiate_req_data.c @@ -263,10 +263,15 @@ OpenAPI_sec_negotiate_req_data_t *OpenAPI_sec_negotiate_req_data_parseFromJSON(c } localEnum = OpenAPI_security_capability_FromString(supported_sec_capability_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_security_capability_FromString(supported_sec_capability_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"supported_sec_capability_list\" is not supported. Ignoring it ...", + supported_sec_capability_list_local->valuestring); + } else { + OpenAPI_list_add(supported_sec_capability_listList, (void *)localEnum); } - OpenAPI_list_add(supported_sec_capability_listList, (void *)localEnum); + } + if (supported_sec_capability_listList->count == 0) { + ogs_error("OpenAPI_sec_negotiate_req_data_parseFromJSON() failed: Expected supported_sec_capability_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } _3_gpp_sbi_target_api_root_supported = cJSON_GetObjectItemCaseSensitive(sec_negotiate_req_dataJSON, "3GppSbiTargetApiRootSupported"); diff --git a/lib/sbi/openapi/model/session_rule_report.c b/lib/sbi/openapi/model/session_rule_report.c index e2ed92e9d..806043eb6 100644 --- a/lib/sbi/openapi/model/session_rule_report.c +++ b/lib/sbi/openapi/model/session_rule_report.c @@ -177,10 +177,15 @@ OpenAPI_session_rule_report_t *OpenAPI_session_rule_report_parseFromJSON(cJSON * } localEnum = OpenAPI_policy_decision_failure_code_FromString(policy_dec_failure_reports_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_policy_decision_failure_code_FromString(policy_dec_failure_reports_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"policy_dec_failure_reports\" is not supported. Ignoring it ...", + policy_dec_failure_reports_local->valuestring); + } else { + OpenAPI_list_add(policy_dec_failure_reportsList, (void *)localEnum); } - OpenAPI_list_add(policy_dec_failure_reportsList, (void *)localEnum); + } + if (policy_dec_failure_reportsList->count == 0) { + ogs_error("OpenAPI_session_rule_report_parseFromJSON() failed: Expected policy_dec_failure_reportsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/sm_policy_decision.c b/lib/sbi/openapi/model/sm_policy_decision.c index 52e1c1a94..9336958bc 100644 --- a/lib/sbi/openapi/model/sm_policy_decision.c +++ b/lib/sbi/openapi/model/sm_policy_decision.c @@ -1158,10 +1158,15 @@ OpenAPI_sm_policy_decision_t *OpenAPI_sm_policy_decision_parseFromJSON(cJSON *sm } localEnum = OpenAPI_policy_control_request_trigger_FromString(policy_ctrl_req_triggers_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_policy_control_request_trigger_FromString(policy_ctrl_req_triggers_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"policy_ctrl_req_triggers\" is not supported. Ignoring it ...", + policy_ctrl_req_triggers_local->valuestring); + } else { + OpenAPI_list_add(policy_ctrl_req_triggersList, (void *)localEnum); } - OpenAPI_list_add(policy_ctrl_req_triggersList, (void *)localEnum); + } + if (policy_ctrl_req_triggersList->count == 0) { + ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed: Expected policy_ctrl_req_triggersList to not be empty (after ignoring unsupported enum values)."); + goto end; } } } diff --git a/lib/sbi/openapi/model/sm_policy_update_context_data.c b/lib/sbi/openapi/model/sm_policy_update_context_data.c index 89b3563bb..7c33bbb1b 100644 --- a/lib/sbi/openapi/model/sm_policy_update_context_data.c +++ b/lib/sbi/openapi/model/sm_policy_update_context_data.c @@ -1154,10 +1154,15 @@ OpenAPI_sm_policy_update_context_data_t *OpenAPI_sm_policy_update_context_data_p } localEnum = OpenAPI_policy_control_request_trigger_FromString(rep_policy_ctrl_req_triggers_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_policy_control_request_trigger_FromString(rep_policy_ctrl_req_triggers_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"rep_policy_ctrl_req_triggers\" is not supported. Ignoring it ...", + rep_policy_ctrl_req_triggers_local->valuestring); + } else { + OpenAPI_list_add(rep_policy_ctrl_req_triggersList, (void *)localEnum); } - OpenAPI_list_add(rep_policy_ctrl_req_triggersList, (void *)localEnum); + } + if (rep_policy_ctrl_req_triggersList->count == 0) { + ogs_error("OpenAPI_sm_policy_update_context_data_parseFromJSON() failed: Expected rep_policy_ctrl_req_triggersList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -1722,10 +1727,15 @@ OpenAPI_sm_policy_update_context_data_t *OpenAPI_sm_policy_update_context_data_p } localEnum = OpenAPI_policy_decision_failure_code_FromString(policy_dec_failure_reports_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_policy_decision_failure_code_FromString(policy_dec_failure_reports_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"policy_dec_failure_reports\" is not supported. Ignoring it ...", + policy_dec_failure_reports_local->valuestring); + } else { + OpenAPI_list_add(policy_dec_failure_reportsList, (void *)localEnum); } - OpenAPI_list_add(policy_dec_failure_reportsList, (void *)localEnum); + } + if (policy_dec_failure_reportsList->count == 0) { + ogs_error("OpenAPI_sm_policy_update_context_data_parseFromJSON() failed: Expected policy_dec_failure_reportsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -1803,10 +1813,15 @@ OpenAPI_sm_policy_update_context_data_t *OpenAPI_sm_policy_update_context_data_p } localEnum = OpenAPI_dl_data_delivery_status_FromString(types_of_notif_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_dl_data_delivery_status_FromString(types_of_notif_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"types_of_notif\" is not supported. Ignoring it ...", + types_of_notif_local->valuestring); + } else { + OpenAPI_list_add(types_of_notifList, (void *)localEnum); } - OpenAPI_list_add(types_of_notifList, (void *)localEnum); + } + if (types_of_notifList->count == 0) { + ogs_error("OpenAPI_sm_policy_update_context_data_parseFromJSON() failed: Expected types_of_notifList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/smf_info.c b/lib/sbi/openapi/model/smf_info.c index 02808d4c0..2866a5c48 100644 --- a/lib/sbi/openapi/model/smf_info.c +++ b/lib/sbi/openapi/model/smf_info.c @@ -398,10 +398,15 @@ OpenAPI_smf_info_t *OpenAPI_smf_info_parseFromJSON(cJSON *smf_infoJSON) } localEnum = OpenAPI_access_type_FromString(access_type_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_access_type_FromString(access_type_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"access_type\" is not supported. Ignoring it ...", + access_type_local->valuestring); + } else { + OpenAPI_list_add(access_typeList, (void *)localEnum); } - OpenAPI_list_add(access_typeList, (void *)localEnum); + } + if (access_typeList->count == 0) { + ogs_error("OpenAPI_smf_info_parseFromJSON() failed: Expected access_typeList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/ssc_modes.c b/lib/sbi/openapi/model/ssc_modes.c index 31911b178..4311562e5 100644 --- a/lib/sbi/openapi/model/ssc_modes.c +++ b/lib/sbi/openapi/model/ssc_modes.c @@ -107,10 +107,15 @@ OpenAPI_ssc_modes_t *OpenAPI_ssc_modes_parseFromJSON(cJSON *ssc_modesJSON) } localEnum = OpenAPI_ssc_mode_FromString(allowed_ssc_modes_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_ssc_mode_FromString(allowed_ssc_modes_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"allowed_ssc_modes\" is not supported. Ignoring it ...", + allowed_ssc_modes_local->valuestring); + } else { + OpenAPI_list_add(allowed_ssc_modesList, (void *)localEnum); } - OpenAPI_list_add(allowed_ssc_modesList, (void *)localEnum); + } + if (allowed_ssc_modesList->count == 0) { + ogs_error("OpenAPI_ssc_modes_parseFromJSON() failed: Expected allowed_ssc_modesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/ssc_modes_1.c b/lib/sbi/openapi/model/ssc_modes_1.c index d51db3fdd..245bab4cb 100644 --- a/lib/sbi/openapi/model/ssc_modes_1.c +++ b/lib/sbi/openapi/model/ssc_modes_1.c @@ -107,10 +107,15 @@ OpenAPI_ssc_modes_1_t *OpenAPI_ssc_modes_1_parseFromJSON(cJSON *ssc_modes_1JSON) } localEnum = OpenAPI_ssc_mode_FromString(allowed_ssc_modes_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_ssc_mode_FromString(allowed_ssc_modes_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"allowed_ssc_modes\" is not supported. Ignoring it ...", + allowed_ssc_modes_local->valuestring); + } else { + OpenAPI_list_add(allowed_ssc_modesList, (void *)localEnum); } - OpenAPI_list_add(allowed_ssc_modesList, (void *)localEnum); + } + if (allowed_ssc_modesList->count == 0) { + ogs_error("OpenAPI_ssc_modes_1_parseFromJSON() failed: Expected allowed_ssc_modesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/subscription_data.c b/lib/sbi/openapi/model/subscription_data.c index 0de19498e..81859f2b0 100644 --- a/lib/sbi/openapi/model/subscription_data.c +++ b/lib/sbi/openapi/model/subscription_data.c @@ -501,10 +501,15 @@ OpenAPI_subscription_data_t *OpenAPI_subscription_data_parseFromJSON(cJSON *subs } localEnum = OpenAPI_notification_event_type_FromString(req_notif_events_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_notification_event_type_FromString(req_notif_events_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"req_notif_events\" is not supported. Ignoring it ...", + req_notif_events_local->valuestring); + } else { + OpenAPI_list_add(req_notif_eventsList, (void *)localEnum); } - OpenAPI_list_add(req_notif_eventsList, (void *)localEnum); + } + if (req_notif_eventsList->count == 0) { + ogs_error("OpenAPI_subscription_data_parseFromJSON() failed: Expected req_notif_eventsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/trust_af_info.c b/lib/sbi/openapi/model/trust_af_info.c index b5d3278c9..73535ab4b 100644 --- a/lib/sbi/openapi/model/trust_af_info.c +++ b/lib/sbi/openapi/model/trust_af_info.c @@ -196,10 +196,15 @@ OpenAPI_trust_af_info_t *OpenAPI_trust_af_info_parseFromJSON(cJSON *trust_af_inf } localEnum = OpenAPI_af_event_FromString(af_events_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_af_event_FromString(af_events_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"af_events\" is not supported. Ignoring it ...", + af_events_local->valuestring); + } else { + OpenAPI_list_add(af_eventsList, (void *)localEnum); } - OpenAPI_list_add(af_eventsList, (void *)localEnum); + } + if (af_eventsList->count == 0) { + ogs_error("OpenAPI_trust_af_info_parseFromJSON() failed: Expected af_eventsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/udr_info.c b/lib/sbi/openapi/model/udr_info.c index a7aefdb12..a950f1adc 100644 --- a/lib/sbi/openapi/model/udr_info.c +++ b/lib/sbi/openapi/model/udr_info.c @@ -285,10 +285,15 @@ OpenAPI_udr_info_t *OpenAPI_udr_info_parseFromJSON(cJSON *udr_infoJSON) } localEnum = OpenAPI_data_set_id_FromString(supported_data_sets_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_data_set_id_FromString(supported_data_sets_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"supported_data_sets\" is not supported. Ignoring it ...", + supported_data_sets_local->valuestring); + } else { + OpenAPI_list_add(supported_data_setsList, (void *)localEnum); } - OpenAPI_list_add(supported_data_setsList, (void *)localEnum); + } + if (supported_data_setsList->count == 0) { + ogs_error("OpenAPI_udr_info_parseFromJSON() failed: Expected supported_data_setsList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/ue_context.c b/lib/sbi/openapi/model/ue_context.c index 626847a0e..f8e1ce46a 100644 --- a/lib/sbi/openapi/model/ue_context.c +++ b/lib/sbi/openapi/model/ue_context.c @@ -1774,10 +1774,15 @@ OpenAPI_ue_context_t *OpenAPI_ue_context_parseFromJSON(cJSON *ue_contextJSON) } localEnum = OpenAPI_policy_req_trigger_FromString(am_policy_req_trigger_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_policy_req_trigger_FromString(am_policy_req_trigger_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"am_policy_req_trigger_list\" is not supported. Ignoring it ...", + am_policy_req_trigger_list_local->valuestring); + } else { + OpenAPI_list_add(am_policy_req_trigger_listList, (void *)localEnum); } - OpenAPI_list_add(am_policy_req_trigger_listList, (void *)localEnum); + } + if (am_policy_req_trigger_listList->count == 0) { + ogs_error("OpenAPI_ue_context_parseFromJSON() failed: Expected am_policy_req_trigger_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -1807,10 +1812,15 @@ OpenAPI_ue_context_t *OpenAPI_ue_context_parseFromJSON(cJSON *ue_contextJSON) } localEnum = OpenAPI_policy_req_trigger_FromString(ue_policy_req_trigger_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_policy_req_trigger_FromString(ue_policy_req_trigger_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"ue_policy_req_trigger_list\" is not supported. Ignoring it ...", + ue_policy_req_trigger_list_local->valuestring); + } else { + OpenAPI_list_add(ue_policy_req_trigger_listList, (void *)localEnum); } - OpenAPI_list_add(ue_policy_req_trigger_listList, (void *)localEnum); + } + if (ue_policy_req_trigger_listList->count == 0) { + ogs_error("OpenAPI_ue_context_parseFromJSON() failed: Expected ue_policy_req_trigger_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -1848,10 +1858,15 @@ OpenAPI_ue_context_t *OpenAPI_ue_context_parseFromJSON(cJSON *ue_contextJSON) } localEnum = OpenAPI_rat_type_FromString(restricted_rat_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(restricted_rat_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"restricted_rat_list\" is not supported. Ignoring it ...", + restricted_rat_list_local->valuestring); + } else { + OpenAPI_list_add(restricted_rat_listList, (void *)localEnum); } - OpenAPI_list_add(restricted_rat_listList, (void *)localEnum); + } + if (restricted_rat_listList->count == 0) { + ogs_error("OpenAPI_ue_context_parseFromJSON() failed: Expected restricted_rat_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -1906,10 +1921,15 @@ OpenAPI_ue_context_t *OpenAPI_ue_context_parseFromJSON(cJSON *ue_contextJSON) } localEnum = OpenAPI_core_network_type_FromString(restricted_core_nw_type_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_core_network_type_FromString(restricted_core_nw_type_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"restricted_core_nw_type_list\" is not supported. Ignoring it ...", + restricted_core_nw_type_list_local->valuestring); + } else { + OpenAPI_list_add(restricted_core_nw_type_listList, (void *)localEnum); } - OpenAPI_list_add(restricted_core_nw_type_listList, (void *)localEnum); + } + if (restricted_core_nw_type_listList->count == 0) { + ogs_error("OpenAPI_ue_context_parseFromJSON() failed: Expected restricted_core_nw_type_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -2100,10 +2120,15 @@ OpenAPI_ue_context_t *OpenAPI_ue_context_parseFromJSON(cJSON *ue_contextJSON) } localEnum = OpenAPI_rat_type_FromString(restricted_primary_rat_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(restricted_primary_rat_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"restricted_primary_rat_list\" is not supported. Ignoring it ...", + restricted_primary_rat_list_local->valuestring); + } else { + OpenAPI_list_add(restricted_primary_rat_listList, (void *)localEnum); } - OpenAPI_list_add(restricted_primary_rat_listList, (void *)localEnum); + } + if (restricted_primary_rat_listList->count == 0) { + ogs_error("OpenAPI_ue_context_parseFromJSON() failed: Expected restricted_primary_rat_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } @@ -2125,10 +2150,15 @@ OpenAPI_ue_context_t *OpenAPI_ue_context_parseFromJSON(cJSON *ue_contextJSON) } localEnum = OpenAPI_rat_type_FromString(restricted_secondary_rat_list_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_rat_type_FromString(restricted_secondary_rat_list_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"restricted_secondary_rat_list\" is not supported. Ignoring it ...", + restricted_secondary_rat_list_local->valuestring); + } else { + OpenAPI_list_add(restricted_secondary_rat_listList, (void *)localEnum); } - OpenAPI_list_add(restricted_secondary_rat_listList, (void *)localEnum); + } + if (restricted_secondary_rat_listList->count == 0) { + ogs_error("OpenAPI_ue_context_parseFromJSON() failed: Expected restricted_secondary_rat_listList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/openapi/model/upf_info.c b/lib/sbi/openapi/model/upf_info.c index bf8fd951f..c3592e4bc 100644 --- a/lib/sbi/openapi/model/upf_info.c +++ b/lib/sbi/openapi/model/upf_info.c @@ -467,10 +467,15 @@ OpenAPI_upf_info_t *OpenAPI_upf_info_parseFromJSON(cJSON *upf_infoJSON) } localEnum = OpenAPI_pdu_session_type_FromString(pdu_session_types_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_pdu_session_type_FromString(pdu_session_types_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"pdu_session_types\" is not supported. Ignoring it ...", + pdu_session_types_local->valuestring); + } else { + OpenAPI_list_add(pdu_session_typesList, (void *)localEnum); } - OpenAPI_list_add(pdu_session_typesList, (void *)localEnum); + } + if (pdu_session_typesList->count == 0) { + ogs_error("OpenAPI_upf_info_parseFromJSON() failed: Expected pdu_session_typesList to not be empty (after ignoring unsupported enum values)."); + goto end; } } diff --git a/lib/sbi/support/r17-20230301-openapitools-6.4.0/openapi-generator/templates/model-body.mustache b/lib/sbi/support/r17-20230301-openapitools-6.4.0/openapi-generator/templates/model-body.mustache index 1018ec07a..3159ec4be 100644 --- a/lib/sbi/support/r17-20230301-openapitools-6.4.0/openapi-generator/templates/model-body.mustache +++ b/lib/sbi/support/r17-20230301-openapitools-6.4.0/openapi-generator/templates/model-body.mustache @@ -789,10 +789,11 @@ OpenAPI_{{classname}}_t *OpenAPI_{{classname}}_parseFromJSON(cJSON *{{classname} } localEnum = OpenAPI_{{{complexType}}}_FromString({{{name}}}_local->valuestring); if (!localEnum) { - ogs_error("OpenAPI_{{{complexType}}}_FromString({{{name}}}_local->valuestring) failed"); - goto end; + ogs_info("Enum value \"%s\" for field \"{{{name}}}\" is not supported. Ignoring it ...", + {{{name}}}_local->valuestring); + } else { + OpenAPI_list_add({{{name}}}List, (void *)localEnum); } - OpenAPI_list_add({{{name}}}List, (void *)localEnum); {{/isEnum}} {{^isEnum}} {{#isPrimitiveType}} @@ -857,6 +858,12 @@ OpenAPI_{{classname}}_t *OpenAPI_{{classname}}_parseFromJSON(cJSON *{{classname} {{/items}} {{/isEnum}} } + {{#isEnum}} + if ({{{name}}}List->count == 0) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed: Expected {{{name}}}List to not be empty (after ignoring unsupported enum values)."); + goto end; + } + {{/isEnum}} {{/isArray}} {{#isMap}} cJSON *{{{name}}}_local_map = NULL;