summaryrefslogtreecommitdiff
path: root/DAnCE/dance/DomainApplicationManager/DomainApplicationManager_Impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'DAnCE/dance/DomainApplicationManager/DomainApplicationManager_Impl.cpp')
-rw-r--r--DAnCE/dance/DomainApplicationManager/DomainApplicationManager_Impl.cpp1194
1 files changed, 0 insertions, 1194 deletions
diff --git a/DAnCE/dance/DomainApplicationManager/DomainApplicationManager_Impl.cpp b/DAnCE/dance/DomainApplicationManager/DomainApplicationManager_Impl.cpp
deleted file mode 100644
index c3e18907d9f..00000000000
--- a/DAnCE/dance/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+++ /dev/null
@@ -1,1194 +0,0 @@
-#include "DomainApplicationManager_Impl.h"
-#include "dance/Deployment/Deployment_ConnectionC.h"
-#include "dance/Logger/Log_Macros.h"
-#include "Split_Plan/Split_Plan.h"
-#include "Split_Plan/Node_Splitter.h"
-#include <sstream>
-
-using namespace DAnCE;
-
-DomainApplicationManager_Impl::DomainApplicationManager_Impl (
- CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa,
- const Deployment::DeploymentPlan& plan,
- Node_Locator & nodes)
- : orb_ (CORBA::ORB::_duplicate (orb))
- , poa_ (PortableServer::POA::_duplicate (poa))
- , plan_ (plan)
- , nodes_ (nodes)
-{
- DANCE_TRACE( "DomainApplicationManager_Impl::DomainApplicationManager_Impl");
-}
-
-DomainApplicationManager_Impl::~DomainApplicationManager_Impl()
-{
- DANCE_TRACE( "DomainApplicationManager_Impl::~DomainApplicationManager_Impl()");
-
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_DEBUG, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::~DomainApplicationManager_Impl - ")
- ACE_TEXT("Deleting %u applications for plan %C\n"),
- this->running_app_.size(),
- this->getPlanUUID ()));
- while (0 < this->running_app_.size())
- {
- DomainApplication_Impl* p = this->running_app_[this->running_app_.size()-1];
- Deployment::DomainApplication_var app =
- Deployment::DomainApplication::_narrow (this->poa_->servant_to_reference (p));
- PortableServer::ObjectId_var id = this->poa_->reference_to_id (app);
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_TRACE, DLINFO ACE_TEXT("DomainApplicationManager_impl::~DomainApplicationManager_impl - ")
- ACE_TEXT("deactivating DomainApplication[%@] object...\n"),
- p));
- this->poa_->deactivate_object (id);
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_DEBUG, DLINFO
- ACE_TEXT("DomainApplicationManager_impl::~DomainApplicationManager_impl - ")
- ACE_TEXT("deleting DomainApplication.\n")));
- this->running_app_.pop_back();
- delete p;
- }
-
- this->sub_app_mgr_.unbind_all();
- this->node_ids_.unbind_all ();
-}
-
-void
-DomainApplicationManager_Impl::startLaunch (
- ::Deployment::AMH_ApplicationManagerResponseHandler_ptr _tao_rh,
- const ::Deployment::Properties & configProperty)
-{
- DANCE_TRACE("DomainApplicationManager_Impl::startLaunch");
-
- try
- {
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_TRACE, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::startLaunch - ")
- ACE_TEXT("Creating DomainApplication for plan %C\n"),
- this->getPlanUUID ()));
-
- DomainApplication_Impl* app = 0;
- ACE_NEW_THROW_EX (app,
- DomainApplication_Impl (this->getPlanUUID (),
- this->poa_.in (),
- this->sub_app_mgr_,
- this->node_ids_),
- CORBA::NO_MEMORY());
-
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::startLaunch - ")
- ACE_TEXT("Successfully created DomainApplication for plan %C\n"),
- this->getPlanUUID ()));
-
- StartLaunchCompletionHandler* slch = 0;
- ACE_NEW_THROW_EX (slch,
- StartLaunchCompletionHandler (this,
- _tao_rh),
- CORBA::NO_MEMORY ());
-
- app->startLaunch (configProperty, slch);
-
- DANCE_DEBUG (DANCE_LOG_MAJOR_EVENT,
- (LM_TRACE, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::startLaunch - ")
- ACE_TEXT("DomainApplication startLaunch has been called\n")));
- }
- catch (const CORBA::Exception& ex)
- {
- CORBA::Exception* local_ex = ex._tao_duplicate ();
- ::Deployment::AMH_ApplicationManagerExceptionHolder amh_exholder (local_ex);
- _tao_rh->startLaunch_excep (&amh_exholder);
- }
- catch (...)
- {
- CORBA::Exception* start_ex = new Deployment::StartError (this->getPlanUUID (),
- "unknown exception");
- ::Deployment::AMH_ApplicationManagerExceptionHolder amh_exholder (start_ex);
- _tao_rh->startLaunch_excep (&amh_exholder);
- }
-}
-
-void
-DomainApplicationManager_Impl::finish_startLaunch (
- ::Deployment::AMH_ApplicationManagerResponseHandler_ptr _tao_rh,
- DomainApplication_Impl *da_servant,
- const ::Deployment::Connections & providedReference)
-{
- DANCE_DEBUG (DANCE_LOG_MAJOR_EVENT,
- (LM_NOTICE, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::finish_startLaunch - ")
- ACE_TEXT("DomainApplication[%u] for plan %C created %u provided references.\n"),
- this->running_app_.size (),
- this->getPlanUUID (),
- providedReference.length ()));
-
- PortableServer::ObjectId_var id = this->poa_->activate_object (da_servant);
- this->running_app_.push_back(da_servant);
-
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::finish_startLaunch - ")
- ACE_TEXT("DomainApplication was successfully activated.\n")));
-
- CORBA::Object_var ref = this->poa_->id_to_reference (id.in());
- _tao_rh->startLaunch (Deployment::DomainApplication::_narrow (ref.in ()), providedReference);
-}
-
-void
-DomainApplicationManager_Impl::fail_startLaunch (
- ::Deployment::AMH_ApplicationManagerResponseHandler_ptr _tao_rh,
- CORBA::Exception* local_ex)
-{
- DANCE_DEBUG (DANCE_LOG_MAJOR_EVENT,
- (LM_NOTICE, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::fail_startLaunch for plan %C called\n"),
- this->getPlanUUID ()));
-
- ::Deployment::AMH_ApplicationManagerExceptionHolder amh_exholder (local_ex);
- _tao_rh->startLaunch_excep (&amh_exholder);
-}
-
-void
-DomainApplicationManager_Impl::destroyApplication (
- ::Deployment::AMH_ApplicationManagerResponseHandler_ptr _tao_rh,
- ::Deployment::Application_ptr application)
-{
- DANCE_TRACE ( "DomainApplicationManager_Impl::destroyApplication");
-
- try
- {
- for (TApplications::size_type i = 0; i < this->running_app_.size(); ++i)
- {
- DomainApplication_Impl* p = this->running_app_[i];
- Deployment::DomainApplication_var app =
- Deployment::DomainApplication::_narrow (this->poa_->servant_to_reference (p));
- if (application->_is_equivalent (app.in()))
- {
- DANCE_DEBUG (DANCE_LOG_MAJOR_EVENT,
- (LM_TRACE, DLINFO
- ACE_TEXT("DomainApplicationManager_impl::destroyApplication - ")
- ACE_TEXT("destroying DomainApplication[%u] for plan %C\n"),
- i,
- this->getPlanUUID ()));
-
- // create completion handler
- DestroyApplicationCompletionHandler* dach_ptr = 0;
- ACE_NEW_THROW_EX (dach_ptr,
- DestroyApplicationCompletionHandler (this,
- _tao_rh,
- p),
- CORBA::NO_MEMORY ());
- DA_CompletionHandler_AutoPtr dach (dach_ptr);
-
- // deactivate servant
- PortableServer::ObjectId_var id = this->poa_->reference_to_id (application);
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("DomainApplicationManager_impl::destroyApplication - ")
- ACE_TEXT("deactivating application object\n")));
- this->poa_->deactivate_object (id);
- // remove registration
- for (TApplications::size_type j = i + 1; j < this->running_app_.size(); ++j)
- {
- this->running_app_[j-1] = this->running_app_[j];
- }
- this->running_app_.pop_back();
-
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("DomainApplicationManager_impl::destroyApplication - ")
- ACE_TEXT("deleting application object\n")));
-
- // remove default ref so servant will be deleted when
- // var in DestroyApplicationCompletionHandler gets destructed
- // at the finish of DomainApplication_Impl::destroyApplication
- p->_remove_ref ();
-
- // destruct
- p->destroyApplication (dach);
-
- return;
- }
- }
- }
- catch (const CORBA::Exception& ex)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_impl::destroyApplication - ")
- ACE_TEXT("Propagating StopError for CORBA exception caught here: %C\n"),
- ex._info ().c_str ()));
- CORBA::Exception* local_ex = new Deployment::StopError(this->getPlanUUID (),
- ex._info ().c_str ());
- ::Deployment::AMH_ApplicationManagerExceptionHolder amh_exholder (local_ex);
- _tao_rh->destroyApplication_excep (&amh_exholder);
- }
- catch (...)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_impl::destroyApplication - ")
- ACE_TEXT("Propagating StopError for unknown exception caught here\n")));
- CORBA::Exception* stop_ex = new Deployment::StopError(this->getPlanUUID (),
- "unknown exception");
- ::Deployment::AMH_ApplicationManagerExceptionHolder amh_exholder (stop_ex);
- _tao_rh->destroyApplication_excep (&amh_exholder);
- }
-
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_impl::destroyApplication - ")
- ACE_TEXT("Provided application reference unknown\n")));
- CORBA::Exception* stop_ex = new Deployment::StopError(this->getPlanUUID (),
- "domain application reference unknown");
- ::Deployment::AMH_ApplicationManagerExceptionHolder amh_exholder (stop_ex);
- _tao_rh->destroyApplication_excep (&amh_exholder);
-}
-
-void
-DomainApplicationManager_Impl::getApplications (
- ::Deployment::AMH_DomainApplicationManagerResponseHandler_ptr _tao_rh)
-{
- DANCE_TRACE ("DomainApplicationManager_Impl::getApplications ()");
-
- try
- {
- Deployment::Applications* running_app_ptr = 0;
- ACE_NEW_THROW_EX (running_app_ptr,
- Deployment::Applications(),
- CORBA::NO_MEMORY());
- Deployment::Applications_var running_app (running_app_ptr);
- running_app->length (this->running_app_.size());
- CORBA::ULong index = 0;
- for (TApplications::size_type i = 0; i < this->running_app_.size(); ++i)
- {
- CORBA::Object_var ref = this->poa_->servant_to_reference (this->running_app_[i]);
- (*running_app) [index++] =
- Deployment::DomainApplication::_narrow (ref.in ());
- }
-
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_DEBUG, DLINFO ACE_TEXT("DomainApplicationManager_impl::getApplications - ")
- ACE_TEXT("Returning %u running applications for plan %C\n"),
- running_app->length (),
- this->getPlanUUID ()));
- _tao_rh->getApplications (running_app);
- return;
- }
- catch (const CORBA::Exception& ex)
- {
- CORBA::Exception* local_ex = ex._tao_duplicate ();
- ::Deployment::AMH_DomainApplicationManagerExceptionHolder amh_exholder (local_ex);
- _tao_rh->getApplications_excep (&amh_exholder);
- }
- catch (...)
- {
- CORBA::Exception* unknown_ex = new CORBA::UNKNOWN;
- ::Deployment::AMH_DomainApplicationManagerExceptionHolder amh_exholder (unknown_ex);
- _tao_rh->getApplications_excep (&amh_exholder);
- }
-}
-
-void
-DomainApplicationManager_Impl::getPlan (
- ::Deployment::AMH_DomainApplicationManagerResponseHandler_ptr _tao_rh)
-{
- DANCE_TRACE ("DomainApplicationManager_Impl::getPlan ()");
-
- try
- {
- Deployment::DeploymentPlan* plan_ptr = 0;
- ACE_NEW_THROW_EX (plan_ptr,
- Deployment::DeploymentPlan (this->plan_),
- CORBA::NO_MEMORY());
- Deployment::DeploymentPlan_var plan (plan_ptr);
-
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_DEBUG, DLINFO
- ACE_TEXT("DomainApplicationManager_impl::getApplications - ")
- ACE_TEXT("Returning plan %C\n"),
- this->getPlanUUID ()));
-
- _tao_rh->getPlan (plan);
- return;
- }
- catch (const CORBA::Exception& ex)
- {
- CORBA::Exception* local_ex = ex._tao_duplicate ();
- ::Deployment::AMH_DomainApplicationManagerExceptionHolder amh_exholder (local_ex);
- _tao_rh->getApplications_excep (&amh_exholder);
- }
- catch (...)
- {
- CORBA::Exception* unknown_ex = new CORBA::UNKNOWN;
- ::Deployment::AMH_DomainApplicationManagerExceptionHolder amh_exholder (unknown_ex);
- _tao_rh->getApplications_excep (&amh_exholder);
- }
-}
-
-const char*
-DomainApplicationManager_Impl::getPlanUUID (void)
-{
- return this->plan_.UUID.in ();
-}
-
-void
-DomainApplicationManager_Impl::preparePlan(DAM_CompletionHandler* completion_handler)
-{
- DANCE_TRACE ("DomainApplicationManager_Impl::preparePlan()");
-
- DAM_CompletionHandler_AutoPtr _ch_ptr (completion_handler); // manage handler
-
- try
- {
- // Map of sub plans for each node
- Split_Plan<Node_Splitter> split_plan;
- split_plan.split_plan (this->plan_);
- Split_Plan<Node_Splitter>::TSubPlans &sub_plans = split_plan.plans ();
-
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_TRACE, DLINFO ACE_TEXT("DomainApplicationManager_Impl::preparePlan - ")
- ACE_TEXT("Plan %C successfully split. %u nodes to prepare.\n"),
- this->getPlanUUID (),
- sub_plans.current_size ()));
-
- // create completion counter
- DAM_NM_ReplyHandlerImpl::Counter* _cp = 0;
- ACE_NEW_THROW_EX (_cp,
- DAM_NM_ReplyHandlerImpl::Counter (sub_plans.current_size (),
- this,
- _ch_ptr),
- CORBA::NO_MEMORY ());
- DAM_NM_ReplyHandlerImpl::Counter_AutoPtr _counter_ptr (_cp);
-
- // Executing preparePlan on each NodeManager described in DeploymentPlan
- for (Split_Plan<Node_Splitter>::TSubPlanIterator iter_plans = sub_plans.begin();
- iter_plans != sub_plans.end();
- ++iter_plans)
- {
- try
- {
- // Finding correspondent NodeManager
- Deployment::NodeManager_var nm = this->nodes_.locate_node ((*iter_plans).ext_id_.c_str ());;
- // If NodeManager not found throw StartError exception
- if (CORBA::is_nil (nm.in ()))
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::preparePlan - ")
- ACE_TEXT("Deployment::StartError exception. NodeManager %C cannot be found\n"),
- (*iter_plans).ext_id_.c_str()));
- throw Deployment::StartError ( (*iter_plans).ext_id_.c_str(),
- "NodeManager not found");
- }
-
- // create and activate reply handler
- DAM_NM_ReplyHandlerImpl* dam_nm_rh_servant = 0;
- ACE_NEW_THROW_EX (dam_nm_rh_servant,
- DAnCE::DAM_NM_ReplyHandlerImpl (this,
- nm.in (),
- (*iter_plans).ext_id_.c_str(),
- _counter_ptr),
- CORBA::NO_MEMORY ());
-
- PortableServer::ObjectId_var id = this->poa_->activate_object (dam_nm_rh_servant);
-
- CORBA::Object_var ref = this->poa_->id_to_reference (id.in());
-
- ::Deployment::AMI_NodeManagerHandler_var dam_nm_handler =
- ::Deployment::AMI_NodeManagerHandler::_narrow (ref.in ());
-
- // Calling preparePlan for node, specified in current sub plan
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_TRACE, DLINFO ACE_TEXT("DomainApplicationManager_Impl::preparePlan - ")
- ACE_TEXT("Calling preparePlan on node %C\n"),
- (*iter_plans).ext_id_.c_str()));
-
- nm->sendc_preparePlan (dam_nm_handler.in (),
- (*iter_plans).int_id_,
- Deployment::ResourceCommitmentManager::_nil());
-
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO ACE_TEXT("DomainApplicationManager_Impl::preparePlan - ")
- ACE_TEXT("preparePlan on node %C has been called\n"),
- (*iter_plans).ext_id_.c_str()));
- }
- catch (Deployment::PlanError &ex)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::preparePlan - ")
- ACE_TEXT("Caught a PlanError exception handling node %C : %C\n"),
- (*iter_plans).ext_id_.c_str(),
- ex._info ().c_str ()));
- std::ostringstream err;
- err << (*iter_plans).ext_id_.c_str()
- << " - PlanError exception starting preparePlan : "
- << ex.name.in () << ", " << ex.reason.in ();
- // mark failure
- _counter_ptr->increment_fail_count (err.str ().c_str ());
- // mark off node
- _counter_ptr->decrement_exec_count ();
- // continue for next node
- }
- catch (Deployment::StartError &ex)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::preparePlan - ")
- ACE_TEXT("Caught a StartLaunch exception handling node %C : %C\n"),
- (*iter_plans).ext_id_.c_str(),
- ex._info ().c_str ()));
- std::ostringstream err;
- err << (*iter_plans).ext_id_.c_str()
- << " - StartLaunch exception starting preparePlan : "
- << ex.name.in () << ", " << ex.reason.in ();
- // mark failure
- _counter_ptr->increment_fail_count (err.str ().c_str ());
- // mark off node
- _counter_ptr->decrement_exec_count ();
- // continue for next node
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::preparePlan - ")
- ACE_TEXT("Caught a CORBA exception handling node %C : %C\n"),
- (*iter_plans).ext_id_.c_str(),
- ex._info ().c_str ()));
- std::ostringstream err;
- err << (*iter_plans).ext_id_.c_str()
- << " - CORBA exception starting preparePlan : "
- << ex._info ().c_str ();
- // mark failure
- _counter_ptr->increment_fail_count (err.str ().c_str ());
- // mark off node
- _counter_ptr->decrement_exec_count ();
- // continue for next node
- }
- catch (...)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::preparePlan - ")
- ACE_TEXT("Caught unknown exception handling node %C\n"),
- (*iter_plans).ext_id_.c_str()));
- std::ostringstream err;
- err << (*iter_plans).ext_id_.c_str()
- << " - unknown exception starting preparePlan";
- // mark failure
- _counter_ptr->increment_fail_count (err.str ().c_str ());
- // mark off node
- _counter_ptr->decrement_exec_count ();
- // continue for next node
- }
- }
- }
- catch (Deployment::StartError &e)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::preparePlan - ")
- ACE_TEXT("Propagating StartError exception caught here\n")));
- throw e;
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::preparePlan - ")
- ACE_TEXT("Caught a CORBA exception, propagating StartError: %C\n"),
- ex._info ().c_str ()));
- throw ::Deployment::StartError (this->plan_.UUID.in (),
- ex._info ().c_str ());
- }
- catch (...)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::preparePlan - ")
- ACE_TEXT("Caught unknown exception. Propagating StartError\n")));
- throw ::Deployment::StartError (this->plan_.UUID.in (),
- "Unknown C++ exception");
- }
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::preparePlan - finished\n")));
-}
-
-void
-DomainApplicationManager_Impl::destroyManager (DAM_CompletionHandler* completion_handler)
-{
- DANCE_DEBUG (DANCE_LOG_MAJOR_EVENT,
- (LM_DEBUG, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::destroyManager - ")
- ACE_TEXT("Destroying %u applications for plan %C\n"),
- this->running_app_.size (),
- this->getPlanUUID ()));
-
- DAM_CompletionHandler_AutoPtr _ch_ptr (completion_handler); // manage handler
-
- try
- {
- if (this->running_app_.size() > 0)
- {
- // create our completionhandler
- DestroyManagerCompletionHandler* dmch = 0;
- ACE_NEW_THROW_EX (dmch,
- DestroyManagerCompletionHandler (this,
- _ch_ptr,
- running_app_.size ()),
- CORBA::NO_MEMORY ());
- DA_CompletionHandler_AutoPtr da_ch_ptr (dmch);
-
- while (0 < this->running_app_.size())
- {
- DomainApplication_Impl* p = this->running_app_[this->running_app_.size()-1];
- try
- {
- Deployment::DomainApplication_var app =
- Deployment::DomainApplication::_narrow (this->poa_->servant_to_reference (p));
- PortableServer::ObjectId_var id = this->poa_->reference_to_id (app);
- DANCE_TRACE_LOG (DANCE_LOG_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("DomainApplicationManager_impl::destroyManager - ")
- ACE_TEXT("deactivating DomainApplication[%@] object...\n"),
- p));
- this->poa_->deactivate_object (id);
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_DEBUG, DLINFO
- ACE_TEXT("DomainApplicationManager_impl::destroyManager - ")
- ACE_TEXT("calling destroyApplication for DomainApplication[%@].\n"),
- p));
- p->destroyApplication (da_ch_ptr);
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::destroyManager - ")
- ACE_TEXT("Caught a CORBA exception for DomainApplication[%@]: %C\n"),
- p,
- ex._info ().c_str ()));
- std::ostringstream err;
- err << "CORBA exception starting destroyManager : "
- << ex._info ().c_str ();
- // mark failure
- dmch->increment_fail_count (err.str ().c_str ());
- // mark off app
- dmch->decrement_exec_count ();
- // continue
- }
- catch (...)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::destroyManager - ")
- ACE_TEXT("Caught unknown exception for DomainApplication[%@].\n"),
- p));
- // mark failure
- dmch->increment_fail_count ("unknown exception starting destroyManager");
- // mark off app
- dmch->decrement_exec_count ();
- // continue
- }
- this->running_app_.pop_back();
- }
- }
- else
- {
- // no applications to destroy so finish immediately
- this->finishDestroyManager (_ch_ptr);
- }
- }
- catch (Deployment::StopError &e)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::destroyManager - ")
- ACE_TEXT("Propagating StopError exception caught here\n")));
- throw e;
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::destroyManager - ")
- ACE_TEXT("Caught a CORBA exception, propagating StopError: %C\n"),
- ex._info ().c_str ()));
- throw ::Deployment::StopError (this->plan_.UUID.in (),
- ex._info ().c_str ());
- }
- catch (...)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::destroyManager - ")
- ACE_TEXT("Caught unknown exception. Propagating StopError\n")));
- throw ::Deployment::StopError (this->plan_.UUID.in (),
- "Unknown C++ exception");
- }
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::destroyManager - finished\n")));
-}
-
-void
-DomainApplicationManager_Impl::finishDestroyManager (const DAM_CompletionHandler_AutoPtr& ch_ptr)
-{
- DANCE_DEBUG (DANCE_LOG_MAJOR_EVENT,
- (LM_DEBUG, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::finishDestroyManager - ")
- ACE_TEXT("Destroying %u node managers for plan %C\n"),
- this->sub_app_mgr_.current_size (),
- this->getPlanUUID ()));
-
- try
- {
- // create counters
- DAM_NM_ReplyHandlerImpl::Counter* _cp = 0;
- ACE_NEW_THROW_EX (_cp,
- DAM_NM_ReplyHandlerImpl::Counter (sub_app_mgr_.current_size (),
- this,
- ch_ptr),
- CORBA::NO_MEMORY ());
- DAM_NM_ReplyHandlerImpl::Counter_AutoPtr _counter_ptr (_cp);
-
- for (DomainApplication_Impl::TNam2Nm::iterator iter = this->sub_app_mgr_.begin();
- iter != this->sub_app_mgr_.end();
- ++iter)
- {
- ACE_CString node_id;
- this->node_ids_.find ((*iter).int_id_, node_id);
-
- DAM_NM_ReplyHandlerImpl* dam_nm_rh_servant = 0;
- try
- {
- // create and activate reply handler
- ACE_NEW_THROW_EX (dam_nm_rh_servant,
- DAnCE::DAM_NM_ReplyHandlerImpl (this,
- (*iter).int_id_.in (),
- node_id.c_str (),
- _counter_ptr),
- CORBA::NO_MEMORY ());
-
- PortableServer::ObjectId_var id = this->poa_->activate_object (dam_nm_rh_servant);
-
- CORBA::Object_var ref = this->poa_->id_to_reference (id.in());
-
- ::Deployment::AMI_NodeManagerHandler_var dam_nm_handler =
- ::Deployment::AMI_NodeManagerHandler::_narrow (ref.in ());
-
- // Calling destroyManager for node
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_TRACE, DLINFO ACE_TEXT("DomainApplicationManager_Impl::finishDestroyManager - ")
- ACE_TEXT("Calling destroyManager on node manager for node %C\n"),
- node_id.c_str ()));
-
- (*iter).int_id_->sendc_destroyManager (dam_nm_handler.in (),
- (*iter).ext_id_.in());
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::finishDestroyManager - ")
- ACE_TEXT("Caught a CORBA exception attempting to call destroyManager on node %C: %C\n"),
- node_id.c_str (),
- ex._info ().c_str ()));
- std::ostringstream err;
- err << node_id.c_str ()
- << " - CORBA exception starting destroyManager : "
- << ex._info ().c_str ();
- // mark failure
- _counter_ptr->increment_fail_count (err.str ().c_str ());
- // mark of node
- _counter_ptr->decrement_exec_count ();
- // continue to next node
- }
- catch (...)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::finishDestroyManager - ")
- ACE_TEXT("Caught unknown exception attempting to call destroyManager on node %C\n"),
- node_id.c_str ()));
- std::ostringstream err;
- err << node_id.c_str ()
- << " - unknown exception starting destroyManager";
- // mark failure
- _counter_ptr->increment_fail_count (err.str ().c_str ());
- // mark of node
- _counter_ptr->decrement_exec_count ();
- // continue to next node
- }
-
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO ACE_TEXT("DomainApplicationManager_Impl::finishDestroyManager - ")
- ACE_TEXT("destroyManager has been called on node manager\n")));
- }
- }
- catch (Deployment::StopError &e)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::finishDestroyManager - ")
- ACE_TEXT("Propagating StopError exception caught here\n")));
- CORBA::Exception* local_ex = e._tao_duplicate ();
- ch_ptr->handle_exception (local_ex);
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::finishDestroyManager - ")
- ACE_TEXT("Caught a CORBA exception, propagating StopError: %C\n"),
- ex._info ().c_str ()));
- ch_ptr->handle_exception (new ::Deployment::StopError ());
- }
- catch (...)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::finishDestroyManager - ")
- ACE_TEXT("Caught unknown exception. Propagating StopError\n")));
- ch_ptr->handle_exception (new ::Deployment::StopError ());
- }
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::finishDestroyManager - finished\n")));
-}
-
-DAM_NM_ReplyHandlerImpl::Counter::Counter (
- unsigned int exec_count,
- DomainApplicationManager_Impl* dam_servant,
- const DAM_CompletionHandler_AutoPtr& em_completion_handler)
- : Completion_Counter_Base<ACE_Null_Mutex> (exec_count, 0),
- dam_servant_ (DomainApplicationManager_Impl_var::_duplicate (dam_servant)),
- em_ch_ptr_ (em_completion_handler)
-{
-}
-
-void
-DAM_NM_ReplyHandlerImpl::Counter::on_all_completed ()
-{
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_DEBUG, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::Counter::on_all_completed - ")
- ACE_TEXT("Successfully completed operation for plan: %C\n"),
- this->dam_servant_->getPlanUUID ()));
-
- this->em_ch_ptr_->handle_completion (dam_servant_.in ());
-}
-
-void
-DAM_NM_ReplyHandlerImpl::Counter::on_all_completed_with_failure ()
-{
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::Counter::on_all_completed_with_failure - ")
- ACE_TEXT("%u errors for plan: %C\n"),
- this->fail_count (),
- this->dam_servant_->getPlanUUID ()));
-
- std::ostringstream err;
- err << this->fail_count () << " errors executing operation:\n";
- for (DAM_NM_ReplyHandlerImpl::Counter::errors_type::const_iterator it = this->errors ().begin ();
- it != this->errors ().end ();
- ++it)
- {
- err << "\t" << *it << "\n";
- }
- this->em_ch_ptr_->handle_exception (
- new ::Deployment::StartError(this->dam_servant_->getPlanUUID (),
- err.str ().c_str ()));
-}
-
-DAM_NM_ReplyHandlerImpl::DAM_NM_ReplyHandlerImpl (
- DomainApplicationManager_Impl* dam_servant,
- ::Deployment::NodeManager_ptr nm,
- const char* node_id,
- const Counter_AutoPtr& counter)
- : dam_servant_ (DomainApplicationManager_Impl_var::_duplicate (dam_servant)),
- nm_ (::Deployment::NodeManager::_duplicate (nm)),
- node_id_ (node_id),
- counter_ (counter)
-{
-}
-
-DAM_NM_ReplyHandlerImpl::~DAM_NM_ReplyHandlerImpl ()
-{
-}
-
-void DAM_NM_ReplyHandlerImpl::joinDomain (void)
-{
-}
-void DAM_NM_ReplyHandlerImpl::joinDomain_excep (
- ::Messaging::ExceptionHolder * /*excep_holder*/)
-{
-}
-
-void DAM_NM_ReplyHandlerImpl::leaveDomain (void)
-{
-}
-void DAM_NM_ReplyHandlerImpl::leaveDomain_excep (
- ::Messaging::ExceptionHolder * /*excep_holder*/)
-{
-}
-
-void DAM_NM_ReplyHandlerImpl::preparePlan (
- ::Deployment::NodeApplicationManager_ptr nam)
-{
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::preparePlan - ")
- ACE_TEXT("Finished preparePlan on node %C\n"),
- this->node_id_.c_str()));
-
- if (CORBA::is_nil (nam))
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::preparePlan - ")
- ACE_TEXT("PreparePlan failed for node %C, returning a nil ")
- ACE_TEXT("NodeApplicationManager pointer.\n"),
- this->node_id_.c_str ()));
- std::ostringstream err;
- err << "preparePlan failed for node "
- << this->node_id_.c_str ()
- << ", returned nil";
- // add failure
- this->counter_->increment_fail_count (err.str ().c_str ());
- }
- else
- {
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_INFO, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::preparePlan - ")
- ACE_TEXT("Sucessfully prepared node %C for deployment\n"),
- this->node_id_.c_str()));
-
- // We save NAM reference ptr in TNodes vector were it places to var variable
- this->dam_servant_->sub_app_mgr_.bind (::Deployment::NodeApplicationManager::_duplicate (nam),
- ::Deployment::NodeManager::_duplicate (this->nm_.in ()));
- // nm to node Id table
- this->dam_servant_->node_ids_.bind (::Deployment::NodeManager::_duplicate (this->nm_.in ()),
- this->node_id_);
-
- }
-
- // mark off node
- this->counter_->decrement_exec_count ();
-
- // deactivate AMI response handler
- PortableServer::ObjectId_var oid = this->dam_servant_->poa_->servant_to_id (this);
- this->dam_servant_->poa_->deactivate_object (oid.in ());
-}
-
-void DAM_NM_ReplyHandlerImpl::preparePlan_excep (
- ::Messaging::ExceptionHolder * excep_holder)
-{
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::preparePlan_excep - ")
- ACE_TEXT("Finished preparePlan on node %C\n"),
- this->node_id_.c_str()));
-
- std::ostringstream err;
- err << this->node_id_.c_str () << " - preparePlan raised ";
- try
- {
- excep_holder->raise_exception ();
- }
- catch (Deployment::StartError &ex)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::preparePlan_excep - ")
- ACE_TEXT("StartError exception caught for node %C.\n"),
- this->node_id_.c_str()));
- err << "StartError : " << ex.name.in () << "." << ex.reason.in ();
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::preparePlan_excep - ")
- ACE_TEXT("Caught a CORBA exception for node %C: %C\n"),
- this->node_id_.c_str(),
- ex._info ().c_str ()));
- err << "CORBA exception : " << ex._info ().c_str ();
- }
- catch (...)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::preparePlan_excep - ")
- ACE_TEXT("Caught unknown exception for node %C.\n"),
- this->node_id_.c_str()));
- err << "unknown exception";
- }
-
- // add failure
- this->counter_->increment_fail_count (err.str ().c_str ());
-
- // mark off node
- this->counter_->decrement_exec_count ();
-
- // deactivate AMI response handler
- PortableServer::ObjectId_var oid = this->dam_servant_->poa_->servant_to_id (this);
- this->dam_servant_->poa_->deactivate_object (oid.in ());
-}
-
-void DAM_NM_ReplyHandlerImpl::destroyManager (void)
-{
- DANCE_TRACE ("DAM_NM_ReplyHandlerImpl::destroyManager");
-
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_TRACE, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::destroyApplication - ")
- ACE_TEXT("Plan %C node %C node application manager destroy succeeded\n"),
- this->dam_servant_->getPlanUUID (),
- this->node_id_.c_str ()));
-
- // mark off one node
- this->counter_->decrement_exec_count ();
-
- // deactivate AMI response handler
- PortableServer::ObjectId_var oid = this->dam_servant_->poa_->servant_to_id (this);
- this->dam_servant_->poa_->deactivate_object (oid.in ());
-}
-void DAM_NM_ReplyHandlerImpl::destroyManager_excep (
- ::Messaging::ExceptionHolder * excep_holder)
-{
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::destroyApplication_excep called for plan %C node %C"),
- this->dam_servant_->getPlanUUID (),
- this->node_id_.c_str ()));
-
- std::ostringstream err;
- err << this->node_id_.c_str () << " - destroyApplication raised ";
- try
- {
- excep_holder->raise_exception ();
- }
- catch (Deployment::StopError &ex)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::destroyApplication_excep - ")
- ACE_TEXT("StopError exception caught.\n")));
- err << "StopError : " << ex.name.in () << "." << ex.reason.in ();
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::destroyApplication_excep - ")
- ACE_TEXT("Caught a CORBA exception: %C\n"),
- ex._info ().c_str ()));
- err << "CORBA exception : " << ex._info ().c_str ();
- }
- catch (...)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DAM_NM_ReplyHandlerImpl::destroyApplication_excep - ")
- ACE_TEXT("Caught unknown exception.\n")));
- err << "unknown exception";
- }
-
- // add failure
- this->counter_->increment_fail_count (err.str ().c_str ());
-
- // mark off node
- this->counter_->decrement_exec_count ();
-
- // deactivate AMI response handler
- PortableServer::ObjectId_var oid = this->dam_servant_->poa_->servant_to_id (this);
- this->dam_servant_->poa_->deactivate_object (oid.in ());
-}
-
-void DAM_NM_ReplyHandlerImpl::getDynamicResources (
- const ::Deployment::Resources & /*ami_return_val*/)
-{
-}
-void DAM_NM_ReplyHandlerImpl::getDynamicResources_excep (
- ::Messaging::ExceptionHolder * /*excep_holder*/)
-{
-}
-
-DomainApplicationManager_Impl::StartLaunchCompletionHandler::StartLaunchCompletionHandler (
- DomainApplicationManager_Impl *dam_servant,
- ::Deployment::AMH_ApplicationManagerResponseHandler_ptr _tao_rh)
- : dam_servant_ (DomainApplicationManager_Impl_var::_duplicate (dam_servant)),
- dam_rh_ (::Deployment::AMH_ApplicationManagerResponseHandler::_duplicate (_tao_rh))
-{
-}
-
-DomainApplicationManager_Impl::StartLaunchCompletionHandler::~StartLaunchCompletionHandler ()
-{
-}
-
-void
-DomainApplicationManager_Impl::StartLaunchCompletionHandler::handle_completion (DomainApplication_Impl *da_servant)
-{
- try
- {
- ::Deployment::Connections_var connections;
- ACE_NEW_THROW_EX (connections,
- Deployment::Connections (),
- CORBA::NO_MEMORY ());
-
- da_servant->getConnections (connections.inout ());
-
- this->dam_servant_->finish_startLaunch (
- this->dam_rh_.in (),
- da_servant,
- connections);
- }
- catch (const CORBA::Exception& ex)
- {
- CORBA::Exception* local_ex = ex._tao_duplicate ();
- this->dam_servant_->fail_startLaunch (this->dam_rh_.in (),
- local_ex);
- }
- catch (...)
- {
- CORBA::Exception* unknown_ex = new CORBA::UNKNOWN;
- this->dam_servant_->fail_startLaunch (this->dam_rh_.in (),
- unknown_ex);
- }
-}
-
-void
-DomainApplicationManager_Impl::StartLaunchCompletionHandler::handle_exception (CORBA::Exception* local_ex)
-{
- this->dam_servant_->fail_startLaunch (this->dam_rh_.in (),
- local_ex);
-}
-
-DomainApplicationManager_Impl::DestroyManagerCompletionHandler::DestroyManagerCompletionHandler (
- DomainApplicationManager_Impl *dam_servant,
- const DAM_CompletionHandler_AutoPtr& ch_ptr,
- unsigned int exec_count)
- : Completion_Counter_Base<ACE_Null_Mutex> (exec_count, 0),
- dam_servant_ (DomainApplicationManager_Impl_var::_duplicate (dam_servant)),
- dam_ch_ (ch_ptr)
-{
-}
-
-void
-DomainApplicationManager_Impl::DestroyManagerCompletionHandler::handle_completion (
- DomainApplication_Impl *da_servant)
-{
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::DestroyManagerCompletionHandler::handle_completion - ")
- ACE_TEXT("Finished destroyApplication on DomainApplication[%@] for plan %C\n"),
- da_servant,
- this->dam_servant_->getPlanUUID ()));
-
- try
- {
- da_servant->_remove_ref ();
- }
- catch (...)
- {
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::DestroyManagerCompletionHandler::handle_completion - ")
- ACE_TEXT("UNEXPECTED exception while decrementing servant reference\n")));
- }
-
- // mark of application
- this->decrement_exec_count ();
-}
-
-void
-DomainApplicationManager_Impl::DestroyManagerCompletionHandler::handle_exception (
- CORBA::Exception* local_ex)
-{
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::DestroyManagerCompletionHandler::handle_exception - ")
- ACE_TEXT("CORBA exception %C for destroyApplication on domain application for plan %C\n"),
- local_ex->_info ().c_str (),
- this->dam_servant_->getPlanUUID ()));
-
- std::ostringstream err;
- err << "CORBA exception for destroyApplication : "
- << local_ex->_info ().c_str ();
-
- delete local_ex; // clean up
-
- // add failure
- this->increment_fail_count (err.str ().c_str ());
-
- // mark of application
- this->decrement_exec_count ();
-}
-
-void
-DomainApplicationManager_Impl::DestroyManagerCompletionHandler::on_all_completed ()
-{
- // all applications gone, now finish it
- this->dam_servant_->finishDestroyManager (dam_ch_);
-}
-
-void
-DomainApplicationManager_Impl::DestroyManagerCompletionHandler::on_all_completed_with_failure ()
-{
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::DestroyManagerCompletionHandler::on_all_completed_with_failure - ")
- ACE_TEXT("%u errors destroying domain applications\n"),
- this->fail_count_i ()));
-
- std::ostringstream err;
- err << this->fail_count () << " errors destroying domain applications:\n";
- for (DomainApplicationManager_Impl::DestroyManagerCompletionHandler::errors_type::const_iterator it = this->errors ().begin ();
- it != this->errors ().end ();
- ++it)
- {
- err << "\t" << *it << "\n";
- }
- this->dam_ch_->handle_exception (
- new ::Deployment::StopError(this->dam_servant_->getPlanUUID (),
- err.str ().c_str ()));
-}
-
-DomainApplicationManager_Impl::DestroyApplicationCompletionHandler::DestroyApplicationCompletionHandler (
- DomainApplicationManager_Impl *dam_servant,
- ::Deployment::AMH_ApplicationManagerResponseHandler_ptr _tao_rh,
- DomainApplication_Impl *da_servant)
- : dam_servant_ (DomainApplicationManager_Impl_var::_duplicate (dam_servant)),
- dam_rh_ (::Deployment::AMH_ApplicationManagerResponseHandler::_duplicate (_tao_rh)),
- da_servant_ (DomainApplication_Impl_var::_duplicate (da_servant))
-{
-}
-
-void DomainApplicationManager_Impl::DestroyApplicationCompletionHandler::handle_completion (
- DomainApplication_Impl * /*da_servant*/)
-{
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_INFO, DLINFO
- ACE_TEXT("DomainApplicationManager_Impl::DestroyApplicationCompletionHandler::handle_completion - ")
- ACE_TEXT("finished\n")));
- dam_rh_->destroyApplication ();
-}
-
-void DomainApplicationManager_Impl::DestroyApplicationCompletionHandler::handle_exception (
- CORBA::Exception* local_ex)
-{
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR,
- DLINFO ACE_TEXT("ExecutionManager_Impl::DestroyManagerCompletionHandler::handle_exception - ")
- ACE_TEXT("propagating exception\n")));
- ::Deployment::AMH_ApplicationManagerExceptionHolder amh_exholder (local_ex);
- dam_rh_->destroyApplication_excep (&amh_exholder);
-}