diff options
author | sjiang <sjiang@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-09-23 04:36:21 +0000 |
---|---|---|
committer | sjiang <sjiang@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-09-23 04:36:21 +0000 |
commit | 5f6ee96cb2a0fb335d2f5201c2de2930cfae1db6 (patch) | |
tree | a27a2016639c1cf3c4328748725093f2c6afe86e | |
parent | 49ac7a1b4cde5bd495d6c582c5479e4f89f7d4be (diff) | |
download | ATCD-5f6ee96cb2a0fb335d2f5201c2de2930cfae1db6.tar.gz |
ChangeLog Tag: Sat Sep 23 04:31:13 UTC 2006 Shanshan Jiang <shanshan.jiang@vanderbilt.edu>
-rw-r--r-- | CIAO/ChangeLog | 10 | ||||
-rw-r--r-- | CIAO/DAnCE/RepositoryManager/RMadmin.cpp | 2 | ||||
-rw-r--r-- | CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp | 18 | ||||
-rw-r--r-- | CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.h | 3 | ||||
-rw-r--r-- | CIAO/ciao/RepositoryManager.idl | 4 |
5 files changed, 30 insertions, 7 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog index 40863c69c74..6de83cc04a1 100644 --- a/CIAO/ChangeLog +++ b/CIAO/ChangeLog @@ -1,3 +1,13 @@ +Sat Sep 23 04:31:13 UTC 2006 Shanshan Jiang <shanshan.jiang@vanderbilt.edu> + + * DAnCE/RepositoryManager/RepositoryManager_Impl.cpp + * DAnCE/RepositoryManager/RepositoryManager_Impl.h + * DAnCE/RepositoryManager/RMadmin.cpp + * ciao/RepositoryManager.idl + Added the replace argument in installPackage () and createPackage () + functions and extend the functionalities of these two functions based + on the latest D&C spec. + Sat Sep 23 04:07:59 UTC 2006 Shanshan Jiang <shanshan.jiang@vanderbilt.edu> * DAnCE/Plan_Generator diff --git a/CIAO/DAnCE/RepositoryManager/RMadmin.cpp b/CIAO/DAnCE/RepositoryManager/RMadmin.cpp index 54e848b47e1..50ec61c8626 100644 --- a/CIAO/DAnCE/RepositoryManager/RMadmin.cpp +++ b/CIAO/DAnCE/RepositoryManager/RMadmin.cpp @@ -161,7 +161,7 @@ int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { try { - rm->installPackage (options->name_.c_str (), options->path_.c_str ()); + rm->installPackage (options->name_.c_str (), options->path_.c_str (), false); } catch (CORBA::Exception & ex) { diff --git a/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp b/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp index 0fdcc689ec7..b55bc9156bb 100644 --- a/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp +++ b/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp @@ -200,7 +200,8 @@ void CIAO_RepositoryManagerDaemon_i::shutdown () void CIAO_RepositoryManagerDaemon_i::installPackage ( const char * installationName, - const char * location + const char * location, + ::CORBA::Boolean replace ) ACE_THROW_SPEC (( CORBA::SystemException, @@ -210,9 +211,13 @@ void CIAO_RepositoryManagerDaemon_i::installPackage ( { PCEntry *entry = 0; - if (this->names_.find (ACE_CString (installationName), entry) == 0) - ACE_THROW (Deployment::NameExists ()); + { + if (!replace) + ACE_THROW (Deployment::NameExists ()); + else + deletePackage (installationName); + } //Now lets form the path for the local file //NOTE: I need the absolute path because I will change to a subdirectory @@ -412,7 +417,12 @@ void CIAO_RepositoryManagerDaemon_i::createPackage ( // Find if there is a PackageConfiguration with the same name. PCEntry *entry = 0; if (this->names_.find (ACE_CString (installationName), entry) == 0) - ACE_THROW (Deployment::NameExists ()); + { + if (!replace) + ACE_THROW (Deployment::NameExists ()); + else + deletePackage (installationName); + } // Find if there is a PackageConfiguration with the same uuid. if (this->uuids_.find (ACE_CString (pc.UUID), entry) == 0) diff --git a/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.h b/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.h index f634f3f0be4..c499783a3b2 100644 --- a/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.h +++ b/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.h @@ -77,7 +77,8 @@ public: virtual void installPackage ( const char * installationName, - const char * location + const char * location, + ::CORBA::Boolean replace ) ACE_THROW_SPEC (( CORBA::SystemException, diff --git a/CIAO/ciao/RepositoryManager.idl b/CIAO/ciao/RepositoryManager.idl index f7fbe6f4d36..c5645bcab69 100644 --- a/CIAO/ciao/RepositoryManager.idl +++ b/CIAO/ciao/RepositoryManager.idl @@ -16,7 +16,9 @@ module Deployment { }; interface RepositoryManager { - void installPackage (in string installationName, in string location) + void installPackage (in string installationName, + in string location, + in boolean replace) raises (NameExists, PackageError); void createPackage (in string installationName, in PackageConfiguration package, |