OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ConfigJsonParser Class Reference

#include <config_json_parser.h>

Inheritance diagram for ConfigJsonParser:
Collaboration diagram for ConfigJsonParser:

Public Types

typedef boost::function< bool(const
contrail_rapidjson::Value
&, std::unique_ptr
< AutogenProperty > *) > 
MetadataParseFn
 
typedef std::map< std::string,
MetadataParseFn
MetadataParseMap
 
typedef std::list< struct
DBRequest * > 
RequestList
 
- Public Types inherited from ConfigJsonParserBase
typedef std::set< std::string > ObjectTypeList
 
typedef std::pair< std::string,
std::string > 
LinkMemberPair
 
typedef std::pair< std::string,
bool > 
LinkDataPair
 
typedef std::map
< LinkMemberPair, std::string > 
ParentNameMap
 
typedef std::map
< LinkMemberPair, LinkDataPair
LinkNameMap
 
typedef std::map< std::string,
std::string > 
WrapperFieldMap
 

Public Member Functions

 ConfigJsonParser ()
 
 ~ConfigJsonParser ()
 
virtual void SetupGraphFilter ()
 
virtual void EndOfConfig ()
 
void MetadataRegister (const std::string &metadata, MetadataParseFn parser)
 
void MetadataClear (const std::string &module)
 
virtual bool Receive (const ConfigCass2JsonAdapter &adapter, bool add_change)
 
void ifmap_server_set (IFMapServer *ifmap_server)
 
- Public Member Functions inherited from ConfigJsonParserBase
 ConfigJsonParserBase ()
 
virtual ~ConfigJsonParserBase ()
 
const ObjectTypeListObjectTypeListToRead () const
 
std::string GetParentName (const std::string &left, const std::string &right) const
 
std::string GetLinkName (const std::string &left, const std::string &right) const
 
std::string GetWrapperFieldName (const std::string &type_name, const std::string &property_name) const
 
bool IsLinkWithAttr (const std::string &left, const std::string &right) const
 
void Init (ConfigClientManager *mgr)
 
uint64_t GetGenerationNumber () const
 
void AddLinkName (LinkMemberPair member_pair, LinkDataPair data_pair)
 
void AddParentName (LinkMemberPair member_pair, std::string s)
 
void AddWrapperField (std::string key, std::string value)
 
void AddObjectType (std::string object)
 
const bool IsReadObjectType (std::string objectType)
 
bool IsListOrMapPropEmpty (const std::string &uuid_key, const std::string &lookup_key) const
 

Private Member Functions

void SetupObjectFilter ()
 
void SetupSchemaGraphFilter ()
 
void SetupSchemaWrapperPropertyInfo ()
 
bool ParseDocument (const ConfigCass2JsonAdapter &adapter, IFMapOrigin::Origin origin, RequestList *req_list, IFMapTable::RequestKey *key, bool add_change) const
 
bool ParseNameType (const ConfigCass2JsonAdapter &adapter, IFMapTable::RequestKey *key) const
 
bool ParseProperties (const ConfigCass2JsonAdapter &adapter, const IFMapTable::RequestKey &key, IFMapOrigin::Origin origin, RequestList *req_list, bool add_change) const
 
bool ParseOneProperty (const ConfigCass2JsonAdapter &adapter, const contrail_rapidjson::Value &key_node, const contrail_rapidjson::Value &value_node, const IFMapTable::RequestKey &key, IFMapOrigin::Origin origin, RequestList *req_list, bool add_change) const
 
bool ParseLinks (const ConfigCass2JsonAdapter &adapter, const IFMapTable::RequestKey &key, IFMapOrigin::Origin origin, RequestList *req_list, bool add_change) const
 
bool ParseRef (const ConfigCass2JsonAdapter &adapter, const contrail_rapidjson::Value &ref_entry, IFMapOrigin::Origin origin, const std::string &refer, const IFMapTable::RequestKey &key, RequestList *req_list, bool add_change) const
 
bool ParseOneRef (const ConfigCass2JsonAdapter &adapter, const contrail_rapidjson::Value &arr, const IFMapTable::RequestKey &key, IFMapOrigin::Origin origin, RequestList *req_list, const std::string &key_str, size_t pos, bool add_change) const
 
void EnqueueListToTables (RequestList *req_list) const
 
void InsertRequestIntoQ (IFMapOrigin::Origin origin, const std::string &neigh_type, const std::string &neigh_name, const std::string &metaname, std::unique_ptr< AutogenProperty > &pvalue, const IFMapTable::RequestKey &key, bool add_change, RequestList *req_list) const
 
IFMapTable::RequestKeyCloneKey (const IFMapTable::RequestKey &src) const
 

Private Attributes

IFMapServerifmap_server_
 
MetadataParseMap metadata_map_
 

Detailed Description

Definition at line 27 of file config_json_parser.h.

Member Typedef Documentation

typedef boost::function< bool(const contrail_rapidjson::Value &, std::unique_ptr<AutogenProperty> *) > ConfigJsonParser::MetadataParseFn

Definition at line 31 of file config_json_parser.h.

typedef std::map<std::string, MetadataParseFn> ConfigJsonParser::MetadataParseMap

Definition at line 32 of file config_json_parser.h.

typedef std::list<struct DBRequest *> ConfigJsonParser::RequestList

Definition at line 33 of file config_json_parser.h.

Constructor & Destructor Documentation

ConfigJsonParser::ConfigJsonParser ( )

Definition at line 44 of file config_json_parser.cc.

ConfigJsonParser::~ConfigJsonParser ( )

Definition at line 47 of file config_json_parser.cc.

Member Function Documentation

IFMapTable::RequestKey * ConfigJsonParser::CloneKey ( const IFMapTable::RequestKey src) const
private

Definition at line 120 of file config_json_parser.cc.

Here is the call graph for this function:

void ConfigJsonParser::EndOfConfig ( )
virtual

Reimplemented from ConfigJsonParserBase.

Definition at line 105 of file config_json_parser.cc.

Here is the call graph for this function:

void ConfigJsonParser::EnqueueListToTables ( RequestList req_list) const
private

Definition at line 337 of file config_json_parser.cc.

Here is the call graph for this function:

void ConfigJsonParser::ifmap_server_set ( IFMapServer ifmap_server)
inline

Definition at line 45 of file config_json_parser.h.

void ConfigJsonParser::InsertRequestIntoQ ( IFMapOrigin::Origin  origin,
const std::string &  neigh_type,
const std::string &  neigh_name,
const std::string &  metaname,
std::unique_ptr< AutogenProperty > &  pvalue,
const IFMapTable::RequestKey key,
bool  add_change,
RequestList req_list 
) const
private

Definition at line 317 of file config_json_parser.cc.

Here is the call graph for this function:

void ConfigJsonParser::MetadataClear ( const std::string &  module)

Definition at line 116 of file config_json_parser.cc.

void ConfigJsonParser::MetadataRegister ( const std::string &  metadata,
MetadataParseFn  parser 
)

Definition at line 109 of file config_json_parser.cc.

bool ConfigJsonParser::ParseDocument ( const ConfigCass2JsonAdapter adapter,
IFMapOrigin::Origin  origin,
RequestList req_list,
IFMapTable::RequestKey key,
bool  add_change 
) const
private

Definition at line 296 of file config_json_parser.cc.

Here is the call graph for this function:

bool ConfigJsonParser::ParseLinks ( const ConfigCass2JsonAdapter adapter,
const IFMapTable::RequestKey key,
IFMapOrigin::Origin  origin,
RequestList req_list,
bool  add_change 
) const
private

Definition at line 253 of file config_json_parser.cc.

Here is the call graph for this function:

bool ConfigJsonParser::ParseNameType ( const ConfigCass2JsonAdapter adapter,
IFMapTable::RequestKey key 
) const
private

Definition at line 130 of file config_json_parser.cc.

Here is the call graph for this function:

bool ConfigJsonParser::ParseOneProperty ( const ConfigCass2JsonAdapter adapter,
const contrail_rapidjson::Value &  key_node,
const contrail_rapidjson::Value &  value_node,
const IFMapTable::RequestKey key,
IFMapOrigin::Origin  origin,
RequestList req_list,
bool  add_change 
) const
private

Definition at line 161 of file config_json_parser.cc.

Here is the call graph for this function:

bool ConfigJsonParser::ParseOneRef ( const ConfigCass2JsonAdapter adapter,
const contrail_rapidjson::Value &  arr,
const IFMapTable::RequestKey key,
IFMapOrigin::Origin  origin,
RequestList req_list,
const std::string &  key_str,
size_t  pos,
bool  add_change 
) const
private

Definition at line 242 of file config_json_parser.cc.

Here is the call graph for this function:

bool ConfigJsonParser::ParseProperties ( const ConfigCass2JsonAdapter adapter,
const IFMapTable::RequestKey key,
IFMapOrigin::Origin  origin,
RequestList req_list,
bool  add_change 
) const
private

Definition at line 191 of file config_json_parser.cc.

Here is the call graph for this function:

bool ConfigJsonParser::ParseRef ( const ConfigCass2JsonAdapter adapter,
const contrail_rapidjson::Value &  ref_entry,
IFMapOrigin::Origin  origin,
const std::string &  refer,
const IFMapTable::RequestKey key,
RequestList req_list,
bool  add_change 
) const
private

Definition at line 206 of file config_json_parser.cc.

Here is the call graph for this function:

bool ConfigJsonParser::Receive ( const ConfigCass2JsonAdapter adapter,
bool  add_change 
)
virtual

Implements ConfigJsonParserBase.

Definition at line 354 of file config_json_parser.cc.

Here is the call graph for this function:

void ConfigJsonParser::SetupGraphFilter ( )
virtual

Implements ConfigJsonParserBase.

Definition at line 100 of file config_json_parser.cc.

Here is the call graph for this function:

void ConfigJsonParser::SetupObjectFilter ( )
private

Definition at line 50 of file config_json_parser.cc.

Here is the call graph for this function:

void ConfigJsonParser::SetupSchemaGraphFilter ( )
private

Definition at line 60 of file config_json_parser.cc.

Here is the call graph for this function:

void ConfigJsonParser::SetupSchemaWrapperPropertyInfo ( )
private

Definition at line 90 of file config_json_parser.cc.

Here is the call graph for this function:

Member Data Documentation

IFMapServer* ConfigJsonParser::ifmap_server_
private

Definition at line 87 of file config_json_parser.h.

MetadataParseMap ConfigJsonParser::metadata_map_
private

Definition at line 88 of file config_json_parser.h.


The documentation for this class was generated from the following files: