1 /******************************************************************
\r
3 * Copyright 2015 Samsung Electronics All Rights Reserved.
\r
7 * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * you may not use this file except in compliance with the License.
\r
9 * You may obtain a copy of the License at
\r
11 * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * Unless required by applicable law or agreed to in writing, software
\r
14 * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * See the License for the specific language governing permissions and
\r
17 * limitations under the License.
\r
19 ******************************************************************/
\r
21 #include "RequestResponseBody.h"
\r
26 std::string RequestResponseBody::getType() const
\r
30 void RequestResponseBody::setType(const std::string &type)
\r
34 SchemaPtr const &RequestResponseBody::getSchema() const
\r
38 void RequestResponseBody::setSchema(const SchemaPtr &schema)
\r
42 std::string RequestResponseBody::getExample() const
\r
46 void RequestResponseBody::setExample(const std::string &example)
\r
48 m_example = example;
\r
50 std::map<std::string, FormParameterPtr > const &RequestResponseBody::getFormParameters() const
\r
52 return m_formParameters ;
\r
54 void RequestResponseBody::setFormParameter(const std::string ¶mName,
\r
55 const FormParameterPtr &formParameter)
\r
57 m_formParameters[paramName] = formParameter;
\r
59 void RequestResponseBody::readRequestResponseBody(const std::string &type,
\r
60 const YAML::Node &yamlNode)
\r
63 for ( YAML::const_iterator it = yamlNode.begin(); it != yamlNode.end(); ++it )
\r
65 std::string key = READ_NODE_AS_STRING(it->first);
\r
67 if (key == Keys::Schema)
\r
69 IncludeResolver::FileType fileType = m_includeResolver->getFileType(it->second);
\r
70 if ((fileType == IncludeResolver::FileType::JSON) ||
\r
71 (fileType == IncludeResolver::FileType::FILE))
\r
73 setSchema(std::make_shared<Schema>(m_includeResolver->readFromFile(it->second),
\r
74 m_includeResolver));
\r
78 std::string value = READ_NODE_AS_STRING(it->second);
\r
79 setSchema(std::make_shared<Schema>(value, m_includeResolver));
\r
82 else if (key == Keys::Example)
\r
83 setExample(READ_NODE_AS_STRING(it->second));
\r
84 else if (key == Keys::FormParameters)
\r
86 YAML::Node paramNode = it->second;
\r
87 for ( YAML::const_iterator tt = paramNode.begin(); tt != paramNode.end(); ++tt )
\r
89 setFormParameter(READ_NODE_AS_STRING(tt->first),
\r
90 std::make_shared<FormParameter>(tt->second));
\r