#include <DomainApplicationManager_Impl.h>
Collaboration diagram for CIAO::DomainApplicationManager_Impl:
Public Types | |
typedef CIAO::DomainApplicationManager_Impl::_chained_artifacts | Chained_Artifacts |
Public Member Functions | |
DomainApplicationManager_Impl (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, Deployment::TargetManager_ptr manager, const Deployment::DeploymentPlan &plan, const char *deployment_file) throw (CORBA::SystemException) | |
Constructor. | |
void | init (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, Deployment::ResourceNotAvailable, Deployment::StartError, Deployment::PlanError) |
void | set_uuid (const char *uuid) |
const char * | get_uuid () const |
virtual void | startLaunch (const ::Deployment::Properties &configProperty,::CORBA::Boolean start ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, ::Deployment::ResourceNotAvailable, ::Deployment::StartError, ::Deployment::InvalidProperty) |
virtual void | finishLaunch (::CORBA::Boolean start ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, ::Deployment::StartError) |
virtual void | start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, ::Deployment::StartError) |
virtual void | destroyApplication (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, ::Deployment::StopError) |
virtual ::Deployment::DeploymentPlan * | getPlan (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException) |
virtual void | destroyManager (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, Deployment::StopError) |
Protected Types | |
typedef ACE_Hash_Map_Manager_Ex< ACE_CString, Chained_Artifacts, ACE_Hash< ACE_CString >, ACE_Equal_To< ACE_CString >, ACE_Null_Mutex > | Chained_Artifacts_Table |
Protected Member Functions | |
virtual | ~DomainApplicationManager_Impl (void) |
Destructor. | |
bool | get_plan_info (void) |
int | split_plan (void) |
void | add_connections (const Deployment::Connections &incoming_conn) |
Deployment::Connections * | get_outgoing_connections (const Deployment::DeploymentPlan &plan) |
bool | get_outgoing_connections_i (const char *instname, Deployment::Connections &retv) |
This is a helper function to find the connection for a component. | |
void | dump_connections (const ::Deployment::Connections &connections) |
Dump connections, a static method. | |
Protected Attributes | |
CORBA::String_var | domainapp_path_ |
location of the Domainapplication | |
CORBA::ORB_var | orb_ |
Keep a pointer to the managing ORB serving this servant. | |
PortableServer::POA_var | poa_ |
Keep a pointer to the managing POA. | |
CORBA::String_var | ior_ |
Cache the ior of the previous reference. | |
Deployment::TargetManager_var | target_manager_ |
Cached TargetManager. | |
Deployment::DeploymentPlan | plan_ |
size_t | num_child_plans_ |
Total number of child deployment plans. | |
ACE_Vector< ACE_CString > | node_manager_names_ |
Chained_Artifacts_Table | artifact_map_ |
const char * | deployment_file_ |
The deployment information data file. | |
Deployment_Configuration | deployment_config_ |
Deployment Configuration info, which contains the deployment topology. | |
CORBA::String_var | uuid_ |
UUID from the Plan. | |
::Deployment::Connections_var | all_connections_ |
|
Define the type which contains a list of DnC artifacts. @ Assumption: Each NodeApplicationManager create only one NodeApplication when the startLaunch() operation is invoked, which means all the nodes on that child plan are collocated in the same process. |
Cached information for NodeManager, NodeApplicationManager, NodeApplication, Connections, etc. Key: NodeManager name with CString type. Value: Chained_Artifacts struct type. |
|
Constructor.
|
|
Destructor.
|
|
Cache the incoming connections, which is a sequence of Connections, into the <all_connections_> list. |
|
Terminates a running application. Raises the StopError exception if an error occurs during termination. Raises the InvalidReference exception if the appliction referen is unknown. |
|
This is a helper function to destroy the NodeAppManager. Since we don't want to do so in the destructor so we will ask the ExecutionManager to do this on us when the same IDL op invoked on it. This is part of the result for merging DAM with DA. |
|
Dump connections, a static method.
|
|
The second step in launching an application in the domain-level. If the start parameter is true, the application is started as well. Raises the StartError exception if launching or starting the application fails. |
|
Given a child deployment plan, find the <connections> sequence of the "providedReference" for the component instances in the child deployment plan as Receiver side. |
|
This is a helper function to find the connection for a component.
|
|
(1) Parse the global deployment plan, get the total number of child plans included in the global plan, and get the list of names of NodeManagers for each child plan. (2) Check whether all the NodeManager names are present in the deployment information data file. |
|
|
|
Returns the DeploymentPlan associated with this ApplicationManager. |
|
Initialize the DomainApplicationManager. (1) Set the total number of child plans. (2) Set the list of NodeManager names, which is an array of strings. The <node_manager_names> is a pointer to an array of ACE_CString objets, which is allocated by the caller and deallocated by the DomainApplicationManager destructor. (3) Check the validity of the deployment plan and the deployment information data file. (4) Call split_plan () member function. (5) Invoke all the preparePlan () operations on all the corresponding NodeManagers with child plans. @ What else do we need to initialize here? |
|
set_uuid method on the DomainApplicationManager assigns the UUID of the associated plan to this Manager. This helps in reverse lookup operations such as given a manager, obtaining the UUID associated. The get_uuid method is used in this case. |
|
Split the global (domain-level) deployment plan to a set of local (node-level) deployment plans. The set of local plans are cached in the ACE hash map member variable. Also, fill in the <node_manager_> field of the Chained_Artifacts struct. |
|
Starts the application. Raises the StartError exception if starting the application fails. |
|
Executes the application, but does not start it yet. Users can optionally provide launch-time configuration properties to override properties that are part of the plan. Raises the InvalidProperty exception if a configuration property is invalid. Raises the StartError exception if an error occurs during launching. Raises the ResourceNotAvailable exception if the commitResources parameter to the prepare operation of the ExecutionManager was true, if late resource allocation is used, and one of the requested resources is not available. |
|
Maintain a list of <connections>, each of which is obtained by calling the startLaunch() method on the NodeApplicationManager object. |
|
|
|
Deployment Configuration info, which contains the deployment topology.
|
|
The deployment information data file.
|
|
location of the Domainapplication
|
|
Cache the ior of the previous reference. Cache a object reference to this servant. Deployment::DomainApplicationManager_var objref_; |
|
The list of node manager names, each of them corresponds to one child plan. |
|
Total number of child deployment plans.
|
|
Keep a pointer to the managing ORB serving this servant.
|
|
Cached deployment plan for the particular domain. The plan will be initialized when init is called. |
|
Keep a pointer to the managing POA.
|
|
Cached TargetManager.
|
|
UUID from the Plan.
|