summaryrefslogtreecommitdiff
path: root/DAnCE/dance/ExecutionManager/ExecutionManager_Impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'DAnCE/dance/ExecutionManager/ExecutionManager_Impl.cpp')
-rw-r--r--DAnCE/dance/ExecutionManager/ExecutionManager_Impl.cpp333
1 files changed, 0 insertions, 333 deletions
diff --git a/DAnCE/dance/ExecutionManager/ExecutionManager_Impl.cpp b/DAnCE/dance/ExecutionManager/ExecutionManager_Impl.cpp
deleted file mode 100644
index 37fd5f18474..00000000000
--- a/DAnCE/dance/ExecutionManager/ExecutionManager_Impl.cpp
+++ /dev/null
@@ -1,333 +0,0 @@
-//--*C++*--
-#include "ExecutionManager_Impl.h"
-
-#include "Config_Handlers/DnC_Dump.h"
-#include "dance/Logger/Log_Macros.h"
-
-using namespace DAnCE;
-
-ExecutionManager_Impl::ExecutionManager_Impl (CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa,
- CosNaming::NamingContext_ptr nc)
- : orb_ (CORBA::ORB::_duplicate (orb)),
- poa_ (PortableServer::POA::_duplicate (poa)),
- locator_ (orb, nc)
-{
- DANCE_TRACE ( "ExecutionManager_Impl::ExecutionManager_Impl");
-}
-
-ExecutionManager_Impl::~ExecutionManager_Impl()
-{
- DANCE_TRACE ( "ExecutionManager_Impl::~ExecutionManager_Impl");
- for (TDomainManagers::iterator iter = this->managers_.begin();
- iter != this->managers_.end();
- ++iter)
- {
- DANCE_TRACE_LOG (DANCE_LOG_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("ExecutionManager_Impl::~ExecutionManager_Impl - ")
- ACE_TEXT("deactivating DAM \"%C\"\n"), (*iter).ext_id_.c_str()));
- PortableServer::ObjectId_var id = this->poa_->servant_to_id ( (*iter).int_id_);
- DANCE_TRACE_LOG (DANCE_LOG_DETAILED_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("ExecutionManager_Impl::~ExecutionManager_Impl - ")
- ACE_TEXT("before deactivate_object...\n")));
- this->poa_->deactivate_object (id.in());
- DANCE_TRACE_LOG (DANCE_LOG_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("ExecutionManager_Impl::~ExecutionManager_Impl - ")
- ACE_TEXT("deleting DomainApplicationManager\n")));
- delete (*iter).int_id_;
- DANCE_TRACE_LOG (DANCE_LOG_DETAILED_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("ExecutionManager_Impl::~ExecutionManager_Impl - ")
- ACE_TEXT("DomainApplicationManager deleted\n")));
- }
-}
-
-void
-ExecutionManager_Impl::preparePlan (::Deployment::AMH_ExecutionManagerResponseHandler_ptr _tao_rh,
- const ::Deployment::DeploymentPlan & plan,
- ::Deployment::ResourceCommitmentManager_ptr /*resourceCommitment*/)
-{
- DANCE_TRACE ( "ExecutionManager_Impl::preparePlan");
-
- // Check if plan is already deployed.
- DomainApplicationManager_Impl * dam = 0;
- if (0 == this->managers_.find (plan.UUID.in(), dam))
- {
- DANCE_ERROR (DANCE_LOG_WARNING,
- (LM_NOTICE, DLINFO
- ACE_TEXT("ExecutionManager_Impl::preparePlan - ")
- ACE_TEXT("DomainApplicationManager with specified UUID already exists\n")));
- // Should we return on this situation reference on existed DomainApplicationManager or
- // we should throw PlanError exception?
- CORBA::Object_var ref = this->poa_->servant_to_reference (dam);
- _tao_rh->preparePlan (Deployment::DomainApplicationManager::_narrow (ref.in ()));
- return;
- }
-
- try {
- DomainApplicationManager_Impl* dam_servant_ptr = 0;
- ACE_NEW_THROW_EX (dam_servant_ptr,
- DAnCE::DomainApplicationManager_Impl (this->orb_.in (),
- this->poa_.in (),
- plan,
- this->locator_),
- CORBA::NO_MEMORY ());
- DomainApplicationManager_Impl_var dam_servant (dam_servant_ptr);
-
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO ACE_TEXT("ExecutionManager_Impl::preparePlan - ")
- ACE_TEXT("Domain Application Manager was successfully created.\n")));
-
- PreparePlanCompletionHandler* ppch = 0;
- ACE_NEW_THROW_EX (ppch,
- PreparePlanCompletionHandler (this,
- _tao_rh),
- CORBA::NO_MEMORY ());
-
- dam_servant->preparePlan (ppch);
-
- DANCE_DEBUG (DANCE_LOG_MINOR_EVENT,
- (LM_TRACE, DLINFO
- ACE_TEXT("ExecutionManager_Impl::preparePlan - ")
- ACE_TEXT("Domain Application Manager preparePlan has been called.\n")));
- }
- catch (const CORBA::Exception& ex)
- {
- DANCE_ERROR (DANCE_LOG_TERMINAL_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("ExecutionManager_Impl::preparePlan - ")
- ACE_TEXT("Propagating CORBA exception caught here\n")));
- CORBA::Exception* local_ex = ex._tao_duplicate ();
- ::Deployment::AMH_ExecutionManagerExceptionHolder amh_exholder (local_ex);
- _tao_rh->preparePlan_excep (&amh_exholder);
- }
- catch (...)
- {
- DANCE_ERROR (DANCE_LOG_TERMINAL_ERROR,
- (LM_ERROR, DLINFO
- ACE_TEXT("ExecutionManager_Impl::preparePlan - ")
- ACE_TEXT("Propagating exception caught here\n")));
- CORBA::Exception* unknown_ex = new CORBA::UNKNOWN;
- ::Deployment::AMH_ExecutionManagerExceptionHolder amh_exholder (unknown_ex);
- _tao_rh->preparePlan_excep (&amh_exholder);
- }
-
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("ExecutionManager_Impl::preparePlan - finished\n")));
-}
-
-void
-ExecutionManager_Impl::finish_preparePlan (::Deployment::AMH_ExecutionManagerResponseHandler_ptr _tao_rh,
- DomainApplicationManager_Impl *dam_servant)
-{
- DANCE_DEBUG (DANCE_LOG_MAJOR_EVENT,
- (LM_NOTICE, DLINFO
- ACE_TEXT("ExecutionManager_Impl::finish_preparePlan - ")
- ACE_TEXT("Plan with UUID %C was successfully prepared.\n"),
- dam_servant->getPlanUUID ()));
-
- this->managers_.rebind (dam_servant->getPlanUUID (), dam_servant);
-
- PortableServer::ObjectId_var id = this->poa_->activate_object (dam_servant);
-
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("ExecutionManager_Impl::finish_preparePlan - ")
- ACE_TEXT("Domain Application Manager was successfully activated.\n")));
-
- CORBA::Object_var ref = this->poa_->id_to_reference (id.in());
- _tao_rh->preparePlan (Deployment::DomainApplicationManager::_narrow (ref.in ()));
-}
-
-void
-ExecutionManager_Impl::fail_preparePlan (::Deployment::AMH_ExecutionManagerResponseHandler_ptr _tao_rh,
- CORBA::Exception* local_ex)
-{
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_NOTICE, DLINFO
- ACE_TEXT("ExecutionManager_Impl::fail_preparePlan called\n")));
-
- ::Deployment::AMH_ExecutionManagerExceptionHolder amh_exholder (local_ex);
- _tao_rh->preparePlan_excep (&amh_exholder);
-}
-
-void
-ExecutionManager_Impl::getManagers (::Deployment::AMH_ExecutionManagerResponseHandler_ptr _tao_rh)
-{
- DANCE_TRACE ( "ExecutionManager_Impl::getManagers ()");
-
- try
- {
- ::Deployment::DomainApplicationManagers_var managers;
- ACE_NEW_THROW_EX (managers,
- ::Deployment::DomainApplicationManagers(),
- CORBA::NO_MEMORY());
-
- managers->length (this->managers_.current_size());
- CORBA::ULong index = 0;
- for (TDomainManagers::iterator iter = this->managers_.begin();
- iter != this->managers_.end();
- ++iter)
- {
- CORBA::Object_var ref = this->poa_->servant_to_reference ( (*iter).int_id_);
- (*managers) [index]
- = Deployment::DomainApplicationManager::_narrow (ref.in ());
- ++index;
- }
-
- _tao_rh->getManagers (managers);
- return;
- }
- catch (const CORBA::Exception& ex)
- {
- CORBA::Exception* local_ex = ex._tao_duplicate ();
- ::Deployment::AMH_ExecutionManagerExceptionHolder amh_exholder (local_ex);
- _tao_rh->getManagers_excep (&amh_exholder);
- }
- catch (...)
- {
- CORBA::Exception* unknown_ex = new CORBA::UNKNOWN;
- ::Deployment::AMH_ExecutionManagerExceptionHolder amh_exholder (unknown_ex);
- _tao_rh->getManagers_excep (&amh_exholder);
- }
-}
-
-void
-ExecutionManager_Impl::destroyManager (::Deployment::AMH_ExecutionManagerResponseHandler_ptr _tao_rh,
- ::Deployment::DomainApplicationManager_ptr appManager)
-{
- DANCE_DEBUG (DANCE_LOG_MAJOR_EVENT,
- (LM_DEBUG, DLINFO
- ACE_TEXT("ExecutionManager_Impl::destroyManager - started\n")));
-
- try {
- for (TDomainManagers::iterator iter = this->managers_.begin();
- iter != this->managers_.end();
- ++iter)
- {
- CORBA::Object_var app = this->poa_->servant_to_reference ( (*iter).int_id_);
- if (appManager->_is_equivalent (app.in ()))
- {
- DomainApplicationManager_Impl *dam_servant = (*iter).int_id_;
- // create completion handler
- DestroyManagerCompletionHandler* dmch = 0;
- ACE_NEW_THROW_EX (dmch,
- DestroyManagerCompletionHandler (this,
- _tao_rh,
- dam_servant),
- CORBA::NO_MEMORY ());
-
- // deregister manager
- this->managers_.unbind ( (*iter).ext_id_);
- PortableServer::ObjectId_var id = this->poa_->reference_to_id (appManager);
- this->poa_->deactivate_object (id.in());
-
- (*iter).int_id_ = 0;
-
- // remove default ref so servant will be deleted when
- // var in DestroyManagerCompletionHandler gets destructed
- // at the finish of DomainApplicationManager_Impl::destroyManager
- dam_servant->_remove_ref ();
-
- dam_servant->destroyManager (dmch);
-
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO
- ACE_TEXT("ExecutionManager_Impl::destroyManager - ")
- ACE_TEXT("Domain Application Manager destroyManager has been called.\n")));
- return;
- }
- }
-
- DANCE_ERROR (DANCE_LOG_ERROR,
- (LM_ERROR, DLINFO ACE_TEXT("ExecutionManager_Impl::destroyManager - ")
- ACE_TEXT("corresponding DomainApplicationManager cannot be found\n")));
- CORBA::Exception* local_ex =
- new ::Deployment::StopError("ExecutionManager_Impl::destroyManager",
- "corresponding DomainApplicationManager cannot be found");
- ::Deployment::AMH_ExecutionManagerExceptionHolder amh_exholder (local_ex);
- _tao_rh->destroyManager_excep (&amh_exholder);
- }
- catch (const CORBA::Exception& ex)
- {
- CORBA::Exception* local_ex = ex._tao_duplicate ();
- ::Deployment::AMH_ExecutionManagerExceptionHolder amh_exholder (local_ex);
- _tao_rh->destroyManager_excep (&amh_exholder);
- }
- catch (...)
- {
- CORBA::Exception* unknown_ex = new CORBA::UNKNOWN;
- ::Deployment::AMH_ExecutionManagerExceptionHolder amh_exholder (unknown_ex);
- _tao_rh->destroyManager_excep (&amh_exholder);
- }
-}
-
-void
-ExecutionManager_Impl::add_node_manager (const char *name, const char *ior)
-{
- DANCE_TRACE ("ExecutionManager_Impl::add_node_manager");
- this->locator_.store_ior (name, ior);
-}
-
-void
-ExecutionManager_Impl::load_cdd (const ACE_TCHAR *filename)
-{
- DANCE_TRACE ("ExecutionManager_Impl::load_cdd");
- this->locator_.process_cdd (filename);
-}
-
-ExecutionManager_Impl::PreparePlanCompletionHandler::PreparePlanCompletionHandler (
- ExecutionManager_Impl *em_servant,
- ::Deployment::AMH_ExecutionManagerResponseHandler_ptr _tao_rh)
- : em_servant_ (ExecutionManager_Impl_var::_duplicate (em_servant)),
- em_rh_ (::Deployment::AMH_ExecutionManagerResponseHandler::_duplicate (_tao_rh))
-{
-}
-
-void
-ExecutionManager_Impl::PreparePlanCompletionHandler::handle_completion (DomainApplicationManager_Impl *dam_servant)
-{
- this->em_servant_->finish_preparePlan (this->em_rh_.in (),
- dam_servant);
-}
-
-void ExecutionManager_Impl::PreparePlanCompletionHandler::handle_exception (CORBA::Exception* local_ex)
-{
- this->em_servant_->fail_preparePlan (this->em_rh_.in (),
- local_ex);
-}
-
-ExecutionManager_Impl::DestroyManagerCompletionHandler::DestroyManagerCompletionHandler (
- ExecutionManager_Impl *em_servant,
- ::Deployment::AMH_ExecutionManagerResponseHandler_ptr _tao_rh,
- DomainApplicationManager_Impl* dam_servant)
- : em_servant_ (ExecutionManager_Impl_var::_duplicate (em_servant)),
- em_rh_ (::Deployment::AMH_ExecutionManagerResponseHandler::_duplicate (_tao_rh)),
- dam_servant_ (DomainApplicationManager_Impl_var::_duplicate (dam_servant))
-{
-}
-
-void ExecutionManager_Impl::DestroyManagerCompletionHandler::handle_completion (
- DomainApplicationManager_Impl * /*dam_servant*/)
-{
- DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_INFO, DLINFO
- ACE_TEXT("ExecutionManager_Impl::DestroyManagerCompletionHandler::handle_completion - ")
- ACE_TEXT("finished\n")));
- em_rh_->destroyManager ();
-}
-
-void ExecutionManager_Impl::DestroyManagerCompletionHandler::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_ExecutionManagerExceptionHolder amh_exholder (local_ex);
- em_rh_->destroyManager_excep (&amh_exholder);
-}