23 #ifndef CIBERNATECONNPOOLS_H_
24 #define CIBERNATECONNPOOLS_H_
25 #include "CibernateConnectionPool.h"
28 typedef map<string,string> strMap;
29 typedef map<string,strMap> smstrMap;
40 typedef map<string,vector<DBRel> > relMap;
43 smstrMap appTableColMapping;
44 smstrMap tableAppColMapping;
45 strMap appTableClassMapping;
46 relMap appTableRelMapping;
48 string getAppTableColMapping(
string table,
string propertyName)
50 if(this->appTableColMapping.find(table)!=this->appTableColMapping.end())
52 if(this->appTableColMapping[table].find(propertyName)!=this->appTableColMapping[table].end())
53 return this->appTableColMapping[table][propertyName];
60 string getTableAppColMapping(
string table,
string columnName)
62 if(this->tableAppColMapping.find(table)!=this->tableAppColMapping.end())
64 if(this->tableAppColMapping[table].find(columnName)!=this->tableAppColMapping[table].end())
65 return this->tableAppColMapping[table][columnName];
72 strMap getAppTableColMapping(
string table)
74 if(this->appTableColMapping.find(table)!=this->appTableColMapping.end())
76 return this->appTableColMapping[table];
82 strMap getTableAppColMapping(
string table)
84 if(this->tableAppColMapping.find(table)!=this->tableAppColMapping.end())
86 return this->tableAppColMapping[table];
92 void setAppTableColMapping(smstrMap appTableColMapping)
94 this->appTableColMapping = appTableColMapping;
95 smstrMap::iterator it;
96 for(it=appTableColMapping.begin();it!=appTableColMapping.end();it++) {
99 for(ite=it->second.begin();ite!=it->second.end();ite++) {
100 tempo[ite->second] = ite->first;
102 this->tableAppColMapping[appTableClassMapping[it->first]] = tempo;
106 string getAppTableClassMapping(
string claz)
108 if(this->appTableClassMapping.find(claz)!=this->appTableClassMapping.end())
109 return this->appTableClassMapping[claz];
114 void setAppTableClassMapping(strMap appTableClassMapping)
116 this->appTableClassMapping = appTableClassMapping;
117 smstrMap::iterator it;
118 for(it=appTableColMapping.begin();it!=appTableColMapping.end();it++) {
120 strMap::iterator ite;
121 for(ite=it->second.begin();ite!=it->second.end();ite++) {
122 tempo[ite->second] = ite->first;
124 this->tableAppColMapping[appTableClassMapping[it->first]] = tempo;
128 vector<DBRel> getAppTablerelMapping(
string claz)
130 if(this->appTableRelMapping.find(claz)!=this->appTableRelMapping.end())
131 return this->appTableRelMapping[claz];
139 void setAppTableRelMapping(relMap appTableRelMapping)
141 this->appTableRelMapping = appTableRelMapping;
147 map<string,CibernateConnectionPool*> cpools;
148 map<string,Mapping*> mappings;
154 static void addPool(
int,
string,
string,
string,
string);
155 static void addMapping(
string,
Mapping*);
156 static bool isInitialized();
158 static Mapping* getMapping(
string);
159 static map<string,Mapping*> getMappings()
161 map<string,Mapping*> temp;
163 return get()->mappings;
166 static void destroy();