summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsjiang <sjiang@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-09-23 04:36:21 +0000
committersjiang <sjiang@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-09-23 04:36:21 +0000
commit5f6ee96cb2a0fb335d2f5201c2de2930cfae1db6 (patch)
treea27a2016639c1cf3c4328748725093f2c6afe86e
parent49ac7a1b4cde5bd495d6c582c5479e4f89f7d4be (diff)
downloadATCD-5f6ee96cb2a0fb335d2f5201c2de2930cfae1db6.tar.gz
ChangeLog Tag: Sat Sep 23 04:31:13 UTC 2006 Shanshan Jiang <shanshan.jiang@vanderbilt.edu>
-rw-r--r--CIAO/ChangeLog10
-rw-r--r--CIAO/DAnCE/RepositoryManager/RMadmin.cpp2
-rw-r--r--CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp18
-rw-r--r--CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.h3
-rw-r--r--CIAO/ciao/RepositoryManager.idl4
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,