Skip to content
Snippets Groups Projects
Commit 7fc8df07 authored by Raphael Defosseux's avatar Raphael Defosseux
Browse files

Merge branch 'fix_udm_models' into 'add_curl_timeout_parameter'

Fix UDM common models

See merge request !29
parents 0d1c5a36 46eb98b9
No related branches found
No related tags found
2 merge requests!29Fix UDM common models,!27Add curl timeout parameter
This commit is part of merge request !27. Comments created here will be created in the context of that merge request.
......@@ -141,6 +141,35 @@ bool fromStringValue(const std::string& inStr, double& value) {
return true;
}
bool fromStringValue(
const std::string& inStr, oai::model::common::PlmnId& value) {
nlohmann::json json_value = nlohmann::json::parse(inStr);
from_json(json_value, value);
return true;
}
bool fromStringValue(
const std::string& inStr, oai::model::common::Snssai& value) {
nlohmann::json json_value = nlohmann::json::parse(inStr);
from_json(json_value, value);
return true;
}
bool fromStringValue(
const std::string& inStr, oai::model::common::NFType& value) {
nlohmann::json json_value = nlohmann::json::parse(inStr);
from_json(json_value, value);
if (value.getEnumValue() ==
NFType_anyOf::eNFType_anyOf::INVALID_VALUE_OPENAPI_GENERATED)
return false;
return true;
}
bool fromStringValue(const std::string& inStr, oai::model::common::Tai& value) {
nlohmann::json::parse(inStr.c_str()).get_to(value);
return true;
}
bool validate_regex(
const std::string& regex, const std::string& value, std::stringstream& msg,
const std::string& pathPrefix) {
......
......@@ -25,6 +25,10 @@
#include <vector>
#include <map>
#include <nlohmann/json.hpp>
#include "PlmnId.h"
#include "Snssai.h"
#include "NFType.h"
#include "Tai.h"
namespace oai::model::common::helpers {
......@@ -105,6 +109,14 @@ bool fromStringValue(const std::string& inStr, int64_t& value);
bool fromStringValue(const std::string& inStr, bool& value);
bool fromStringValue(const std::string& inStr, float& value);
bool fromStringValue(const std::string& inStr, double& value);
bool fromStringValue(
const std::string& inStr, oai::model::common::PlmnId& value);
bool fromStringValue(
const std::string& inStr, oai::model::common::Snssai& value);
bool fromStringValue(
const std::string& inStr, oai::model::common::NFType& value);
bool fromStringValue(const std::string& inStr, oai::model::common::Tai& value);
template<typename T>
bool fromStringValue(
const std::vector<std::string>& inStr, std::vector<T>& value) {
......
......@@ -96,7 +96,7 @@ void to_json(nlohmann::json& j, const LoggingIntervalNrMdt_anyOf& o) {
case LoggingIntervalNrMdt_anyOf::eLoggingIntervalNrMdt_anyOf::_640:
j = "640";
break;
case LoggingIntervalNrMdt_anyOf::eLoggingIntervalNrMdt_anyOf::INFINITY:
case LoggingIntervalNrMdt_anyOf::eLoggingIntervalNrMdt_anyOf::_INFINITY:
j = "infinity";
break;
}
......@@ -126,7 +126,7 @@ void from_json(const nlohmann::json& j, LoggingIntervalNrMdt_anyOf& o) {
o.setValue(LoggingIntervalNrMdt_anyOf::eLoggingIntervalNrMdt_anyOf::_640);
} else if (s == "infinity") {
o.setValue(
LoggingIntervalNrMdt_anyOf::eLoggingIntervalNrMdt_anyOf::INFINITY);
LoggingIntervalNrMdt_anyOf::eLoggingIntervalNrMdt_anyOf::_INFINITY);
} else {
std::stringstream ss;
ss << "Unexpected value " << s << " in json"
......
......@@ -46,7 +46,7 @@ class LoggingIntervalNrMdt_anyOf {
_6144,
_320,
_640,
INFINITY
_INFINITY
};
/// <summary>
......
......@@ -37,13 +37,16 @@ bool OdbPacketServices::validate(
const std::string _pathPrefix =
pathPrefix.empty() ? "OdbPacketServices" : pathPrefix;
if (!m_value.validate(msg)) {
success = false;
msg << _pathPrefix << ": has no value;";
}
return success;
}
bool OdbPacketServices::operator==(const OdbPacketServices& rhs) const {
return
;
return getValue() == rhs.getValue();
}
bool OdbPacketServices::operator!=(const OdbPacketServices& rhs) const {
......@@ -56,4 +59,22 @@ void to_json(nlohmann::json& j, const OdbPacketServices& o) {
void from_json(const nlohmann::json& j, OdbPacketServices& o) {}
OdbPacketServices_anyOf OdbPacketServices::getValue() const {
return m_value;
}
void OdbPacketServices::setValue(OdbPacketServices_anyOf value) {
m_value = value;
}
OdbPacketServices_anyOf::eOdbPacketServices_anyOf
OdbPacketServices::getEnumValue() const {
return m_value.getValue();
}
void OdbPacketServices::setEnumValue(
OdbPacketServices_anyOf::eOdbPacketServices_anyOf value) {
m_value.setValue(value);
}
} // namespace oai::model::common
......@@ -19,6 +19,7 @@
#ifndef OdbPacketServices_H_
#define OdbPacketServices_H_
#include "OdbPacketServices_anyOf.h"
#include "NullValue.h"
#include <nlohmann/json.hpp>
......@@ -59,7 +60,13 @@ class OdbPacketServices {
friend void to_json(nlohmann::json& j, const OdbPacketServices& o);
friend void from_json(const nlohmann::json& j, OdbPacketServices& o);
OdbPacketServices_anyOf getValue() const;
void setValue(OdbPacketServices_anyOf value);
OdbPacketServices_anyOf::eOdbPacketServices_anyOf getEnumValue() const;
void setEnumValue(OdbPacketServices_anyOf::eOdbPacketServices_anyOf value);
protected:
OdbPacketServices_anyOf m_value;
};
} // namespace oai::model::common
......
/**
* Common Data Types
* Common Data Types for Service Based Interfaces. © 2022, 3GPP Organizational
* Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.2.7
*
*
* NOTE: This class is auto generated by OpenAPI Generator
* (https://openapi-generator.tech). https://openapi-generator.tech Do not edit
* the class manually.
*/
#include "OdbPacketServices_anyOf.h"
#include "Helpers.h"
#include <stdexcept>
#include <sstream>
namespace oai::model::common {
OdbPacketServices_anyOf::OdbPacketServices_anyOf() {}
void OdbPacketServices_anyOf::validate() const {
std::stringstream msg;
if (!validate(msg)) {
throw oai::model::common::helpers::ValidationException(msg.str());
}
}
bool OdbPacketServices_anyOf::validate(std::stringstream& msg) const {
return validate(msg, "");
}
bool OdbPacketServices_anyOf::validate(
std::stringstream& msg, const std::string& pathPrefix) const {
bool success = true;
const std::string _pathPrefix =
pathPrefix.empty() ? "OdbPacketServices_anyOf" : pathPrefix;
if (m_value == OdbPacketServices_anyOf::eOdbPacketServices_anyOf::
INVALID_VALUE_OPENAPI_GENERATED) {
success = false;
msg << _pathPrefix << ": has no value;";
}
return success;
}
bool OdbPacketServices_anyOf::operator==(
const OdbPacketServices_anyOf& rhs) const {
return getValue() == rhs.getValue();
}
bool OdbPacketServices_anyOf::operator!=(
const OdbPacketServices_anyOf& rhs) const {
return !(*this == rhs);
}
void to_json(nlohmann::json& j, const OdbPacketServices_anyOf& o) {
j = nlohmann::json();
switch (o.getValue()) {
case OdbPacketServices_anyOf::eOdbPacketServices_anyOf::
INVALID_VALUE_OPENAPI_GENERATED:
j = "INVALID_VALUE_OPENAPI_GENERATED";
break;
case OdbPacketServices_anyOf::eOdbPacketServices_anyOf::ALL_PACKET_SERVICES:
j = "ALL_PACKET_SERVICES";
break;
case OdbPacketServices_anyOf::eOdbPacketServices_anyOf::
ROAMER_ACCESS_HPLMN_AP:
j = "ROAMER_ACCESS_HPLMN_AP";
break;
case OdbPacketServices_anyOf::eOdbPacketServices_anyOf::
ROAMER_ACCESS_VPLMN_AP:
j = "ROAMER_ACCESS_VPLMN_AP";
break;
case OdbPacketServices_anyOf::eOdbPacketServices_anyOf::NULL_VALUE:
j = nullptr;
break;
}
}
void from_json(const nlohmann::json& j, OdbPacketServices_anyOf& o) {
if (j.is_null()) {
o.setValue(OdbPacketServices_anyOf::eOdbPacketServices_anyOf::NULL_VALUE);
return;
}
auto s = j.get<std::string>();
if (s == "ALL_PACKET_SERVICES") {
o.setValue(
OdbPacketServices_anyOf::eOdbPacketServices_anyOf::ALL_PACKET_SERVICES);
} else if (s == "ROAMER_ACCESS_HPLMN_AP") {
o.setValue(OdbPacketServices_anyOf::eOdbPacketServices_anyOf::
ROAMER_ACCESS_HPLMN_AP);
} else if (s == "ROAMER_ACCESS_VPLMN_AP") {
o.setValue(OdbPacketServices_anyOf::eOdbPacketServices_anyOf::
ROAMER_ACCESS_VPLMN_AP);
} else if (s == "null") {
o.setValue(OdbPacketServices_anyOf::eOdbPacketServices_anyOf::NULL_VALUE);
}
else {
std::stringstream ss;
ss << "Unexpected value " << s << " in json"
<< " cannot be converted to enum of type"
<< " OdbPacketServices_anyOf::eOdbPacketServices_anyOf";
throw std::invalid_argument(ss.str());
}
}
OdbPacketServices_anyOf::eOdbPacketServices_anyOf
OdbPacketServices_anyOf::getValue() const {
return m_value;
}
void OdbPacketServices_anyOf::setValue(
OdbPacketServices_anyOf::eOdbPacketServices_anyOf value) {
m_value = value;
}
} // namespace oai::model::common
/**
* Common Data Types
* Common Data Types for Service Based Interfaces. © 2022, 3GPP Organizational
* Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.2.7
*
*
* NOTE: This class is auto generated by OpenAPI Generator
* (https://openapi-generator.tech). https://openapi-generator.tech Do not edit
* the class manually.
*/
/*
* OdbPacketServices_anyOf.h
*
*
*/
#ifndef OdbPacketServices_anyOf_H_
#define OdbPacketServices_anyOf_H_
#include <nlohmann/json.hpp>
namespace oai::model::common {
/// <summary>
///
/// </summary>
class OdbPacketServices_anyOf {
public:
OdbPacketServices_anyOf();
virtual ~OdbPacketServices_anyOf() = default;
enum class eOdbPacketServices_anyOf {
// To have a valid default value.
// Avoiding name clashes with user defined
// enum values
INVALID_VALUE_OPENAPI_GENERATED = 0,
ALL_PACKET_SERVICES,
NULL_VALUE,
ROAMER_ACCESS_HPLMN_AP,
ROAMER_ACCESS_VPLMN_AP
};
/// <summary>
/// Validate the current data in the model. Throws a ValidationException on
/// failure.
/// </summary>
void validate() const;
/// <summary>
/// Validate the current data in the model. Returns false on error and writes
/// an error message into the given stringstream.
/// </summary>
bool validate(std::stringstream& msg) const;
/// <summary>
/// Helper overload for validate. Used when one model stores another model and
/// calls it's validate. Not meant to be called outside that case.
/// </summary>
bool validate(std::stringstream& msg, const std::string& pathPrefix) const;
bool operator==(const OdbPacketServices_anyOf& rhs) const;
bool operator!=(const OdbPacketServices_anyOf& rhs) const;
/////////////////////////////////////////////
/// OdbPacketServices_anyOf members
OdbPacketServices_anyOf::eOdbPacketServices_anyOf getValue() const;
void setValue(OdbPacketServices_anyOf::eOdbPacketServices_anyOf value);
friend void to_json(nlohmann::json& j, const OdbPacketServices_anyOf& o);
friend void from_json(const nlohmann::json& j, OdbPacketServices_anyOf& o);
protected:
OdbPacketServices_anyOf::eOdbPacketServices_anyOf m_value =
OdbPacketServices_anyOf::eOdbPacketServices_anyOf::
INVALID_VALUE_OPENAPI_GENERATED;
};
} // namespace oai::model::common
#endif /* OdbPacketServices_anyOf_H_ */
......@@ -110,10 +110,10 @@ bool PatchItem::fromIsSet() const {
void PatchItem::unsetFrom() {
m_FromIsSet = false;
}
nlohmann::json PatchItem::getValue() const {
std::string PatchItem::getValue() const {
return m_Value;
}
void PatchItem::setValue(nlohmann::json const& value) {
void PatchItem::setValue(std::string const& value) {
m_Value = value;
m_ValueIsSet = true;
}
......
......@@ -78,8 +78,8 @@ class PatchItem {
/// <summary>
///
/// </summary>
nlohmann::json getValue() const;
void setValue(nlohmann::json const& value);
std::string getValue() const;
void setValue(std::string const& value);
bool valueIsSet() const;
void unsetValue();
......@@ -93,7 +93,7 @@ class PatchItem {
std::string m_From;
bool m_FromIsSet;
nlohmann::json m_Value;
std::string m_Value;
bool m_ValueIsSet;
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment