Changeset 3337
- Timestamp:
- 01/30/10 16:21:14 (7 weeks ago)
- Location:
- Enterprise/branches/0075_TR_SCRIPTING/AppServer/src
- Files:
-
- 2 modified
-
ApplicationServer.cpp (modified) (6 diffs)
-
ApplicationServer.hpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Enterprise/branches/0075_TR_SCRIPTING/AppServer/src/ApplicationServer.cpp
r3336 r3337 481 481 : public Zen::Plugins::I_ConfigurationElement::I_ConfigurationElementVisitor 482 482 { 483 class DatabaseVisitor 484 : public Zen::Plugins::I_ConfigurationElement::I_ConfigurationElementVisitor 485 { 486 typedef std::map<std::string, std::string> config_type; 487 488 class DBConfigVisitor 489 : public Zen::Plugins::I_ConfigurationElement::I_ConfigurationElementVisitor 490 { 491 public: 492 virtual void begin() {} 493 494 virtual void visit(const Zen::Plugins::I_ConfigurationElement& _element) 495 { 496 m_config[_element.getAttribute("name")] = _element.getAttribute("value"); 497 } 498 499 virtual void end() {} 500 501 DBConfigVisitor(config_type& _config) 502 : m_config(_config) 503 { 504 } 505 506 private: 507 config_type& m_config; 508 509 }; // class DBConfigVisitor 510 511 public: 512 virtual void begin() {} 513 514 virtual void visit(const Zen::Plugins::I_ConfigurationElement& _element) 515 { 516 config_type config; 517 518 DBConfigVisitor visitor(config); 519 _element.getChildren("config", visitor); 520 521 m_pAppServer->createDatabaseEntry(_element.getAttribute("name"), config); 522 } 523 524 virtual void end() {} 525 526 DatabaseVisitor(ApplicationServer* _pAppServer) 527 : m_pAppServer(_pAppServer) 528 { 529 } 530 531 private: 532 ApplicationServer* m_pAppServer; 533 534 }; // class DatabaseVisitor 483 535 public: 484 536 virtual void begin() {} … … 489 541 Zen::Enterprise::AppServer::I_ApplicationServerManager::getSingleton(); 490 542 543 DatabaseVisitor visitor(m_pAppServer); 544 _element.getChildren("database", visitor); 545 491 546 Zen::Enterprise::AppServer::I_ApplicationServerManager::pApplicationService_type 492 547 pApplicationService = manager.createApplicationService(*m_pAppServer, _element.getAttribute("type")); … … 501 556 virtual void end() {} 502 557 503 ConfigVisitor( I_ApplicationServer* _pAppServer)558 ConfigVisitor(ApplicationServer* _pAppServer) 504 559 : m_pAppServer(_pAppServer) 505 560 { … … 507 562 508 563 private: 509 I_ApplicationServer* m_pAppServer;564 ApplicationServer* m_pAppServer; 510 565 }; 511 566 … … 824 879 if( iter != m_databaseConnectionsMap.end() ) 825 880 { 826 return iter->second .getConnection(_threadId);881 return iter->second->getConnection(_threadId); 827 882 } 828 883 else … … 923 978 924 979 //-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ 980 void 981 ApplicationServer::createDatabaseEntry(const std::string& _database, config_type& _config) 982 { 983 DatabaseConnectionsMap_type::iterator iter = m_databaseConnectionsMap.find(_database); 984 if( iter == m_databaseConnectionsMap.end() ) 985 { 986 typedef Zen::Memory::managed_ptr<Zen::Database::I_DatabaseService> pDatabaseService_type; 987 pDatabaseService_type pDatabaseService = 988 Zen::Database::I_DatabaseManager::getSingleton().createDatabaseService( 989 _database, 990 _config 991 ); 992 993 m_databaseConnectionsMap[_database] = new DatabaseConnections(pDatabaseService, _config); 994 } 995 else 996 { 997 // TODO Error? 998 } 999 } 1000 1001 //-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ 925 1002 } // namespace AppServer 926 1003 } // namespace Enterprise -
Enterprise/branches/0075_TR_SCRIPTING/AppServer/src/ApplicationServer.hpp
r3336 r3337 114 114 115 115 Threading::ThreadPool& getSharedThreadPool() { return m_sharedThreadPool; } 116 117 typedef std::map<std::string,std::string> config_type; 118 void createDatabaseEntry(const std::string& _database, config_type& _config); 116 119 /// @} 117 120 … … 201 204 pMessageRegistry_type m_pMessageRegistry_type; 202 205 203 typedef std::map<std::string, DatabaseConnections > DatabaseConnectionsMap_type;206 typedef std::map<std::string, DatabaseConnections*> DatabaseConnectionsMap_type; 204 207 DatabaseConnectionsMap_type m_databaseConnectionsMap; 205 208 /// @}
