]> SALOME platform Git repositories - modules/gde.git/blob - projects/GDE_API_CPP/api/src/Attribute.cpp
Salome HOME
FileService
[modules/gde.git] / projects / GDE_API_CPP / api / src / Attribute.cpp
1 #include "Attribute.hpp"
2 #include "JsonFormatter.hpp"
3
4 const std::string
5 gde::Attribute::toJson() const
6 {
7   std::string json = "{";
8   json += JsonFormatter::format("\"id\":", getId());
9   json += JsonFormatter::format(",\"name\":", getName());
10   json += JsonFormatter::format(",\"type\":", getType());
11   json += JsonFormatter::format(",\"value\":", getValue());
12   json += JsonFormatter::format(",\"groupId\":", getGroupId());
13   json += JsonFormatter::format(",\"mandatory\":", getMandatory());
14   json += "}";
15   return json;
16 }
17
18 gde::Attribute
19 gde::Attribute::fromJson(const std::string& json)
20 {
21   Poco::JSON::Object::Ptr object = JsonFormatter::parse(json);
22
23   int id = JsonFormatter::extract<int>(object, "id");
24   std::string name = JsonFormatter::extract<std::string>(object, "name");
25   std::string type = JsonFormatter::extract<std::string>(object, "type");
26   std::string value = JsonFormatter::extract<std::string>(object, "value");
27   int groupId = JsonFormatter::extract<int>(object, "groupId");
28   bool mandatory = JsonFormatter::extract<bool>(object, "mandatory");
29
30   return gde::Attribute(id, name, type, value, groupId, mandatory);
31 }