summaryrefslogtreecommitdiff
path: root/TAO/CIAO/DAnCE/ExecutionManager/Execution_Manager_Impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/DAnCE/ExecutionManager/Execution_Manager_Impl.cpp')
-rw-r--r--TAO/CIAO/DAnCE/ExecutionManager/Execution_Manager_Impl.cpp109
1 files changed, 97 insertions, 12 deletions
diff --git a/TAO/CIAO/DAnCE/ExecutionManager/Execution_Manager_Impl.cpp b/TAO/CIAO/DAnCE/ExecutionManager/Execution_Manager_Impl.cpp
index 4f9ce7f9405..06ba9fb8276 100644
--- a/TAO/CIAO/DAnCE/ExecutionManager/Execution_Manager_Impl.cpp
+++ b/TAO/CIAO/DAnCE/ExecutionManager/Execution_Manager_Impl.cpp
@@ -48,8 +48,15 @@ namespace CIAO
// No need to create a new DAM. Hence pass the
// reference that is already created.
//
- if (this->map_.is_plan_available (plan.UUID.in ()))
+ ACE_DEBUG ((LM_DEBUG, "CIAO (%P|%t) calling this->man_.is_plan_available()...\n"));
+ if (this->map_.is_plan_available (plan.UUID.in ())) {
+ ACE_DEBUG ((LM_DEBUG, "CIAO (%P|%t) Plan is already available; "
+ "calling this->man_.fetch_dam_reference()...\n"));
+
return this->map_.fetch_dam_reference (plan.UUID.in ());
+ }
+ else
+ ACE_DEBUG ((LM_DEBUG, "CIAO (%P|%t) Plan wasn't already available\n"));
// We are about to begin working on a new DeploymentPlan.
// Create a DAM servant, which will be populated
@@ -60,6 +67,7 @@ namespace CIAO
// Create a new Domain Application Manager servant
// to be sent back to the Plan Launcher.
//
+ ACE_DEBUG ((LM_DEBUG, "CIAO (%P|%t) About to instantiate CIAO::DomainApplicationManager_Impl\n"));
ACE_NEW_THROW_EX (
dam_servant,
CIAO::DomainApplicationManager_Impl (
@@ -70,6 +78,7 @@ namespace CIAO
plan,
this->init_file_.c_str ()),
CORBA::NO_MEMORY ());
+ ACE_DEBUG ((LM_DEBUG, "CIAO (%P|%t) Instantiated CIAO::DomainApplicationManager_Impl\n"));
// Sanity check for NULL pointer
// Should we throw an exception here?
@@ -88,6 +97,7 @@ namespace CIAO
// plans, so that those plans can be sent off to individual
// Node Application Managers.
//
+ ACE_DEBUG ((LM_DEBUG, "CIAO (%P|%t) About to init...\n"));
dam_servant->init (ACE_ENV_SINGLE_ARG_PARAMETER);
// This is a wrong exception to be thrown here.
@@ -97,6 +107,7 @@ namespace CIAO
//
ACE_CHECK_RETURN (::Deployment::DomainApplicationManager::_nil ());
+ ACE_DEBUG ((LM_DEBUG, "CIAO (%P|%t) About to set uuid on DAM...\n"));
dam_servant->set_uuid (plan.UUID.in ());
Deployment::DomainApplicationManager_var dam =
@@ -107,6 +118,7 @@ namespace CIAO
this->map_.bind_dam_reference (
plan.UUID.in (),
Deployment::DomainApplicationManager::_duplicate (dam.in ()));
+ ACE_DEBUG ((LM_DEBUG, "CIAO (%P|%t) Bound DAM reference...\n"));
// Return the ApplicationManager instance
return dam._retn ();
@@ -146,7 +158,7 @@ namespace CIAO
ACE_TRY_CHECK;
// What if we still have components running within this plan?
- //
+ //
(void) this->map_.unbind_dam (plan->UUID.in ());
// Where does the POA deactivate happen?
@@ -205,7 +217,7 @@ namespace CIAO
CORBA::ULong inst_lenth = plan->instance.length ();
for (CORBA::ULong i = 0; i < inst_lenth; ++i)
{
- if (this->is_component_running (plan->instance[i].name.in (),
+ if (this->is_component_running (plan->instance[i].name.in (),
plan_uuid))
return;
}
@@ -249,7 +261,7 @@ namespace CIAO
ACE_CHECK;
}
- void
+ void
Execution_Manager_Impl::perform_redeployment (
const Deployment::DeploymentPlan & plan
ACE_ENV_ARG_DECL)
@@ -263,7 +275,7 @@ namespace CIAO
::Components::RemoveFailure))
{
CIAO_TRACE ("CIAO::Execution_Manager_Impl::perform_redeployment");
-
+
ACE_DEBUG ((LM_DEBUG,
"CIAO (%P|%t) Dynamic Redeployment: "
"invoked CIAO::Execution_Manager_Impl::perform_redeployment \n"));
@@ -299,7 +311,7 @@ namespace CIAO
ACE_CHECK;
}
- Deployment::DeploymentPlan *
+ Deployment::DeploymentPlan *
Execution_Manager_Impl::getPlan (const char * plan_uuid
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((::CORBA::SystemException))
@@ -339,10 +351,10 @@ namespace CIAO
::CORBA::SystemException,
::Deployment::InvalidConnection))
{
- ACE_DEBUG ((LM_ERROR,
+ ACE_DEBUG ((LM_ERROR,
"Execution_Manage::finalizing global bindings.\n"));
- // Find the NodeApplication hosting the component, and then call
+ // Find the NodeApplication hosting the component, and then call
// <finishLaunch> on it
ACE_TRY
{
@@ -376,7 +388,80 @@ namespace CIAO
ACE_ENDTRY;
}
- Deployment::NodeApplication_ptr
+ void
+ Execution_Manager_Impl::passivate_shared_components (
+ const Component_Binding_Info & binding)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ Deployment::StartError))
+ {
+ ACE_DEBUG ((LM_ERROR,
+ "Execution_Manage::passivate shared components.\n"));
+
+ // Find the NodeApplication hosting the component, and then call
+ // <finishLaunch> on it
+ ACE_TRY
+ {
+ Deployment::NodeApplication_var
+ node_app = this->find_node_application (binding);
+
+ if (CORBA::is_nil (node_app.in ()))
+ {
+ ACE_DEBUG ((LM_ERROR,
+ "Execution_Manager_Impl::passivate_shared_components - "
+ "nil NodeApplication object reference.\n"));
+ ACE_THROW (Deployment::StartError ());
+ }
+
+ node_app->passivate_component (binding.name_.c_str ());
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Execution_Manager_Impl::passivate_shared_components\t\n");
+ ACE_THROW (Deployment::StartError ());
+ }
+ ACE_ENDTRY;
+ }
+
+ void
+ Execution_Manager_Impl::activate_shared_components (
+ const Component_Binding_Info & binding)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ Deployment::StartError))
+ {
+ ACE_DEBUG ((LM_ERROR,
+ "Execution_Manage::activate shared components.\n"));
+
+ // Find the NodeApplication hosting the component, and then call
+ // <ciao_activate> on it
+ ACE_TRY
+ {
+ Deployment::NodeApplication_var
+ node_app = this->find_node_application (binding);
+
+ if (CORBA::is_nil (node_app.in ()))
+ {
+ ACE_DEBUG ((LM_ERROR,
+ "Execution_Manager_Impl::activate_shared_components - "
+ "nil NodeApplication object reference.\n"));
+ ACE_THROW (Deployment::StartError ());
+ }
+
+ node_app->activate_component (binding.name_.c_str ());
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Execution_Manager_Impl::passivate_shared_components\t\n");
+ ACE_THROW (Deployment::StartError ());
+ }
+ ACE_ENDTRY;
+ }
+
+
+ Deployment::NodeApplication_ptr
Execution_Manager_Impl::
find_node_application (const Component_Binding_Info & binding)
ACE_THROW_SPEC ((
@@ -399,7 +484,7 @@ namespace CIAO
// Find the NA based on the NodeName field of the binding
// This is a CORBA call on the DAM
- Deployment::NodeApplication_var
+ Deployment::NodeApplication_var
node_app = dam->get_node_app (binding.node_.c_str ());
if (CORBA::is_nil (node_app.in ()))
@@ -414,14 +499,14 @@ namespace CIAO
return node_app._retn ();
}
- void
+ void
Execution_Manager_Impl::
add_shared_component (const Component_Binding_Info & comp)
{
this->shared_components_.insert (comp);
}
- void
+ void
Execution_Manager_Impl::
remove_shared_component (const Component_Binding_Info & comp)
{