diff options
author | sjiang <sjiang@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-11-03 03:07:37 +0000 |
---|---|---|
committer | sjiang <sjiang@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-11-03 03:07:37 +0000 |
commit | 66e515605425947b2708cb39254b30ad5bc39de0 (patch) | |
tree | ae22c443ae711f901236f66ee864cb511e7b6601 | |
parent | bef237aa1a11eabe50c203e8eeb1b9a0428cae85 (diff) | |
download | ATCD-66e515605425947b2708cb39254b30ad5bc39de0.tar.gz |
ChangeLog Tag: Fri Nov 3 03:03:24 UTC 2006 Shanshan Jiang <shanshan.jiang@vanderbilt.edu>
-rw-r--r-- | CIAO/ChangeLog | 7 | ||||
-rw-r--r-- | CIAO/DAnCE/NodeApplicationManager/Containers_Info_Map.cpp | 62 | ||||
-rw-r--r-- | CIAO/DAnCE/RepositoryManager/PC_Updater.cpp | 7 |
3 files changed, 64 insertions, 12 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog index 4afc69a27be..9da2ca32eb9 100644 --- a/CIAO/ChangeLog +++ b/CIAO/ChangeLog @@ -1,3 +1,10 @@ +Fri Nov 3 03:03:24 UTC 2006 Shanshan Jiang <shanshan.jiang@vanderbilt.edu> + + * DAnCE/NodeApplicationManager/Containers_Info_Map.cpp + * DAnCE/RepositoryManager/PC_Updater.cpp + Modified these files to differentiate the location field of + deploymentplan for different platforms. + Thu Nov 2 22:54:12 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu> * CIDLC/ServnatSourceGenerator.cpp: diff --git a/CIAO/DAnCE/NodeApplicationManager/Containers_Info_Map.cpp b/CIAO/DAnCE/NodeApplicationManager/Containers_Info_Map.cpp index 01808650980..49419d9d94e 100644 --- a/CIAO/DAnCE/NodeApplicationManager/Containers_Info_Map.cpp +++ b/CIAO/DAnCE/NodeApplicationManager/Containers_Info_Map.cpp @@ -13,7 +13,7 @@ #include "ace/OS_NS_sys_stat.h" //for filesize and mkdir #include "ace/OS_NS_string.h" //for string functions - +#include "iostream" namespace CIAO { Containers_Info_Map:: @@ -465,11 +465,6 @@ is_shared_component (ACE_CString & name) ACE_CString &arti_name, ACE_CString &path) { - - ACE_DEBUG ((LM_INFO, - "Attempting to download %s\n", - location)); - // Figure out the file name. char* name = const_cast<char*> (location); char* p = 0; @@ -506,9 +501,17 @@ is_shared_component (ACE_CString & name) return false; } + ACE_CString new_name (name); + +#if defined (ACE_WIN32) + new_name += "d.dll"; +#else + new_name = "lib" + new_name + ".so"; +#endif + path = HTTP_DOWNLOAD_PATH; path += "/"; - path += name; + path += new_name; if (!this->write_to_disk (path.c_str (), *mb)) { @@ -529,9 +532,50 @@ is_shared_component (ACE_CString & name) CIAO::Containers_Info_Map::retrieve_via_HTTP (const char* URL, ACE_Message_Block &mb) { + ACE_CString loc (URL); + + // Figure out the file name. + char* name_ = const_cast<char*> (URL); + char* p = 0; + + while (true) + { + p = ACE_OS::strstr (name_, "/"); + + if (0 == p) + { + p = ACE_OS::strstr (name_, "\\"); + } + + if (0 == p) + { + break; + } + else + { + name_ = ++p; + continue; + } + } + + ACE_CString name (name_); + loc = loc.substr (0, loc.length() - name.length ()); + +#if defined (ACE_WIN32) + name += "d.dll"; +#else + name = "lib" + name + ".so"; +#endif + + loc = loc + name; + + ACE_DEBUG ((LM_INFO, + "Attempting to download %s\n", + loc.c_str ())); + URL_Parser *parser = TheURL_Parser::instance (); - if (!parser->parseURL (const_cast<char*> (URL))) - return false; + if (!parser->parseURL (const_cast<char*> (loc.c_str ()))) + return false; // Create a client HTTP_Client client; diff --git a/CIAO/DAnCE/RepositoryManager/PC_Updater.cpp b/CIAO/DAnCE/RepositoryManager/PC_Updater.cpp index 164a151cd6f..8515f11479a 100644 --- a/CIAO/DAnCE/RepositoryManager/PC_Updater.cpp +++ b/CIAO/DAnCE/RepositoryManager/PC_Updater.cpp @@ -171,6 +171,8 @@ void PC_Updater::clear_list () void PC_Updater::update (::Deployment::ImplementationArtifactDescription &iad) { + const char* location = CORBA::string_dup (iad.location[0]); + //create an interator ACE_Double_Linked_List_Iterator<ZIP_File_Info> iter (this->file_list_); @@ -190,8 +192,8 @@ void PC_Updater::clear_list () if (name) { ACE_CString loc (this->server_path_); - loc += "/"; - loc += full_path; + loc += "/implementations/"; + loc += location; iad.location[0] = CORBA::string_dup (loc.c_str ()); @@ -201,7 +203,6 @@ void PC_Updater::clear_list () } iter++; } - const char* location = iad.location[0]; ACE_ERROR ((LM_ERROR, "[PC_Updater::update] Unable to update: %s!\n", |