summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2010-05-21 13:59:45 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2010-05-21 13:59:45 +0000
commit81edf65b1e28d09c640526352869fb3799e7ef7d (patch)
tree3787037648975db7a1a1febf22af64d3c1f9af8a
parent0ecdfbc1203beda392df46ad7c38a480e9793043 (diff)
downloadATCD-81edf65b1e28d09c640526352869fb3799e7ef7d.tar.gz
Fri May 21 13:56:01 UTC 2010 William Otte <wotte@zifnab>
* .: Merged in locality_manager branch. details to follow:
-rw-r--r--CIAO/CIAO_TAO.mwc1
-rw-r--r--CIAO/ChangeLog345
-rw-r--r--CIAO/DAnCE/DAnCE/DAnCE_ArtifactInstallation.idl40
-rw-r--r--CIAO/DAnCE/DAnCE/DAnCE_Core.mpc57
-rw-r--r--CIAO/DAnCE/DAnCE/DAnCE_DeploymentInterceptors.idl59
-rw-r--r--CIAO/DAnCE/DAnCE/DAnCE_LocalityManager.idl98
-rw-r--r--CIAO/DAnCE/DAnCE/DAnCE_Properties.idl18
-rw-r--r--CIAO/DAnCE/DAnCE/DAnCE_Utility.cpp261
-rw-r--r--CIAO/DAnCE/DAnCE/DAnCE_Utility.h106
-rw-r--r--CIAO/DAnCE/DAnCE/DAnCE_Utility.tpp92
-rw-r--r--CIAO/DAnCE/DAnCE/Deployment_common.h35
-rw-r--r--CIAO/DAnCE/Deployment/Deployment_Application.idl6
-rw-r--r--CIAO/DAnCE/Deployment/Deployment_ApplicationManager.idl27
-rw-r--r--CIAO/DAnCE/Deployment/Deployment_Core.mpc (renamed from CIAO/DAnCE/Deployment/DAnCE_Core.mpc)378
-rw-r--r--CIAO/DAnCE/Deployment/Deployment_InvalidComponentExecParameter.idl13
-rw-r--r--CIAO/DAnCE/Deployment/Deployment_InvalidConnection.idl13
-rw-r--r--CIAO/DAnCE/Deployment/Deployment_InvalidNodeExecParameter.idl13
-rw-r--r--CIAO/DAnCE/Deployment/Deployment_InvalidProperty.idl13
-rw-r--r--CIAO/DAnCE/Deployment/Deployment_ResourceNotAvailable.idl16
-rw-r--r--CIAO/DAnCE/LocalityManager/Daemon/Deployment_Interceptors.cpp120
-rw-r--r--CIAO/DAnCE/LocalityManager/Daemon/Deployment_Interceptors.h72
-rw-r--r--CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager.cpp47
-rw-r--r--CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager.mpc32
-rw-r--r--CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Impl.cpp418
-rw-r--r--CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Impl.h111
-rw-r--r--CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Impl_Export.h58
-rw-r--r--CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Task.cpp314
-rw-r--r--CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Task.h46
-rw-r--r--CIAO/DAnCE/LocalityManager/Daemon/Name_Utilities.cpp (renamed from CIAO/DAnCE/NodeApplication/Name_Utilities.cpp)0
-rw-r--r--CIAO/DAnCE/LocalityManager/Daemon/Name_Utilities.h (renamed from CIAO/DAnCE/NodeApplication/Name_Utilities.h)0
-rw-r--r--CIAO/DAnCE/LocalityManager/Handler/DAnCE_Locality_Handler_export.h58
-rw-r--r--CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.cpp453
-rw-r--r--CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.h181
-rw-r--r--CIAO/DAnCE/LocalityManager/Handler/LocalityHandler.mpc8
-rw-r--r--CIAO/DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.cpp167
-rw-r--r--CIAO/DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.h88
-rw-r--r--CIAO/DAnCE/MPC/config/dance_locality_handler.mpb4
-rw-r--r--CIAO/DAnCE/MPC/config/dance_locality_manager.mpb5
-rw-r--r--CIAO/DAnCE/MPC/config/dance_nodeapplication.mpb2
-rw-r--r--CIAO/DAnCE/MPC/config/dance_skel.mpb6
-rw-r--r--CIAO/DAnCE/MPC/config/dance_split_plan.mpb1
-rw-r--r--CIAO/DAnCE/MPC/config/dance_stub.mpb5
-rw-r--r--CIAO/DAnCE/NodeApplication/NodeApplication.mpc4
-rw-r--r--CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp2503
-rw-r--r--CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h165
-rw-r--r--CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager.mpc2
-rw-r--r--CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp65
-rw-r--r--CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h1
-rw-r--r--CIAO/DAnCE/NodeManager/NodeManager_Impl.h2
-rw-r--r--CIAO/DAnCE/NodeManager/Node_Manager_Module.cpp14
-rw-r--r--CIAO/DAnCE/NodeManager/Node_Manager_Module.h4
-rw-r--r--CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp7
-rw-r--r--CIAO/DAnCE/Plan_Launcher/Plan_Launcher_Base_Impl_T.cpp24
-rw-r--r--CIAO/DAnCE/tests/CIAO/CommandlinePassage/Component.cdp8
-rwxr-xr-xCIAO/DAnCE/tests/CIAO/CommandlinePassage/run_test.pl4
-rw-r--r--CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute_exec.cpp3
-rw-r--r--CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeFailureAtActivate.cdp13
-rw-r--r--CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeFailureAtStartup.cdp13
-rw-r--r--CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeNoFailure.cdp13
-rw-r--r--CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeFailureAtActivate.cdp15
-rw-r--r--CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeFailureAtStartup.cdp15
-rw-r--r--CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeNoFailure.cdp15
-rw-r--r--CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeFailureAtActivate.cdp21
-rw-r--r--CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeFailureAtStartup.cdp21
-rw-r--r--CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeNoFailure.cdp21
-rwxr-xr-xCIAO/DAnCE/tests/CIAO/EM-Launch-Failures/run_test.pl6
-rwxr-xr-xCIAO/DAnCE/tests/CIAO/EM-Redeployment/run_test.pl4
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome.cdp26
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome_NS.cdp26
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome.cdp28
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS.cdp28
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS_PL_DP.cdp28
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS_PL_SP.cdp28
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome.cdp26
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome_NS.cdp26
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimpleComponentExplicitHome.cdp13
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome.cdp28
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS.cdp28
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS_PL_DP.cdp28
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS_PL_SP.cdp28
-rw-r--r--CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NilFacet.cdp28
-rwxr-xr-xCIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl4
-rwxr-xr-xCIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test_cdr.pl4
-rw-r--r--CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/EmitsConnectionExplicitHome.cdp26
-rw-r--r--CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/MultiplexConnectionExplicitHome.cdp28
-rw-r--r--CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/PublishConnectionExplicitHome.cdp26
-rw-r--r--CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleAttributeExplicitHome.cdp13
-rw-r--r--CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentExplicitHome.cdp13
-rw-r--r--CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimplexConnectionExplicitHome.cdp28
-rw-r--r--CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/TwoComponentsOneHome.cdp30
-rwxr-xr-xCIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl4
-rwxr-xr-xCIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test_cdr.pl4
-rw-r--r--CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_A.cdp13
-rw-r--r--CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_B.cdp13
-rw-r--r--CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_C.cdp26
-rwxr-xr-xCIAO/DAnCE/tests/CIAO/Progressive_Deployments/run_test.pl4
-rw-r--r--CIAO/DAnCE/tests/LocalityManager/SpawnMultiple/Deployment.cdp106
-rwxr-xr-xCIAO/DAnCE/tests/LocalityManager/SpawnMultiple/run_test.pl245
-rw-r--r--CIAO/DAnCE/tests/LocalityManager/SpawnOne/Deployment.cdp52
-rwxr-xr-xCIAO/DAnCE/tests/LocalityManager/SpawnOne/run_test.pl245
-rw-r--r--CIAO/MPC/config/ciao_componentserver_stub.mpb2
-rw-r--r--CIAO/ciao/ComponentServer/CIAO_ComponentServer.mpc7
-rw-r--r--CIAO/ciao/ComponentServer/CIAO_Properties.idl4
-rw-r--r--CIAO/ciao/ComponentServer/Client_init.h9
-rw-r--r--CIAO/ciao/ComponentServer/Server_init.h6
-rw-r--r--CIAO/ciao/Containers/Container_Base.idl4
-rw-r--r--CIAO/ciao/Containers/Session/Session_Container.cpp72
-rw-r--r--CIAO/ciao/Containers/Session/Session_Container.h4
-rw-r--r--CIAO/ciao/Deployment/Handlers/CIAO_Deployment_Handlers.mpc23
-rw-r--r--CIAO/ciao/Deployment/Handlers/CIAO_Handler_Common.cpp63
-rw-r--r--CIAO/ciao/Deployment/Handlers/CIAO_Handler_Common.h41
-rw-r--r--CIAO/ciao/Deployment/Handlers/CIAO_Locality_Handler_Export.h58
-rw-r--r--CIAO/ciao/Deployment/Handlers/CIAO_State.cpp158
-rw-r--r--CIAO/ciao/Deployment/Handlers/CIAO_State.h88
-rw-r--r--CIAO/ciao/Deployment/Handlers/Component_Handler.cpp446
-rw-r--r--CIAO/ciao/Deployment/Handlers/Component_Handler.h84
-rw-r--r--CIAO/ciao/Deployment/Handlers/Connection_Handler.cpp607
-rw-r--r--CIAO/ciao/Deployment/Handlers/Connection_Handler.h89
-rw-r--r--CIAO/ciao/Deployment/Handlers/Container_Handler.cpp206
-rw-r--r--CIAO/ciao/Deployment/Handlers/Container_Handler.h87
-rw-r--r--CIAO/ciao/Deployment/Handlers/Home_Handler.cpp366
-rw-r--r--CIAO/ciao/Deployment/Handlers/Home_Handler.h83
-rw-r--r--CIAO/ciao/Deployment/Handlers/Homed_Component_Handler.cpp392
-rw-r--r--CIAO/ciao/Deployment/Handlers/Homed_Component_Handler.h84
-rw-r--r--CIAO/ciao/Servants/Connector_Servant_Impl_Base.cpp2
-rw-r--r--CIAO/ciao/Servants/Home_Servant_Impl_T.cpp3
-rwxr-xr-xCIAO/connectors/ami4ccm/examples/Hello/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Hello/descriptors/run_1_to_5.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Hello/descriptors/run_5_to_1.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Hello/descriptors/run_5_to_5.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Hello/descriptors/run_receiver.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Hello/descriptors/run_sender.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Hello/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Large_Deployment/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Quoter/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/examples/Shapes/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub.pl2
-rwxr-xr-xCIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub3.pl2
-rwxr-xr-xCIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub_BE.pl2
-rwxr-xr-xCIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub.pl2
-rwxr-xr-xCIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub2.pl2
-rwxr-xr-xCIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub3.pl2
-rwxr-xr-xCIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub_BE.pl2
-rwxr-xr-xCIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_test.pl4
-rw-r--r--CIAO/connectors/dds4ccm/performance-tests/Throughput/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/CSLSampleRejected/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/CSLUnexpStat/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/CoherentUpdater/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/CoherentWriter/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/DDSWriterEntity/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/Event_Connection_Test/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/Getter/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/InstanceHandle/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/KeyedSamples/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/KeyedWriter/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/ListenManyByMany/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/ListenNotEnabled/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/ListenOneByOne/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/NonChangeableAttribute/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/On_Inconsistent_Topic/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/PSLDeadline/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/PSLSampleLost/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/PortUsage/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/QosProfile/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/QueryFilter/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/QueryFilterListenEvent/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/QueryFilterListenState/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/Reader/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/SLDisabled/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/SLOneByOne/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/SetConnectorAttributes/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/descriptors/run_test_default_qos.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/State_Connection_Test/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/UnkeyedSamples/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/UnkeyedWriter/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/Updater/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/VariousTopicsEvent/descriptors/run_test.pl4
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/VariousTopicsState/descriptors/run_test.pl4
-rw-r--r--CIAO/examples/BasicSP/descriptors/BasicSP_Homed.cdp52
-rwxr-xr-xCIAO/examples/BasicSP/descriptors/run_test.pl4
-rw-r--r--CIAO/examples/Hello/descriptors/DeploymentPlan.cdp26
-rw-r--r--CIAO/examples/Hello/descriptors/DeploymentPlan_without_ns.cdp26
-rwxr-xr-xCIAO/examples/Hello/descriptors/run_test.pl4
-rwxr-xr-xCIAO/examples/Hello/descriptors/run_test_PlanLocality_DifferentProcesses.pl4
-rwxr-xr-xCIAO/examples/Hello/descriptors/run_test_PlanLocality_SameProcess.pl4
-rwxr-xr-xCIAO/examples/Hello/descriptors/run_test_alias.pl4
-rwxr-xr-xCIAO/examples/Hello/descriptors/run_test_without_ns.pl4
-rw-r--r--CIAO/examples/Null_Component/descriptors/Null_Homed.cdp197
-rwxr-xr-xCIAO/examples/Null_Component/descriptors/run_test.pl4
-rwxr-xr-xCIAO/examples/Null_Component/descriptors/run_test_without_ns.pl4
-rw-r--r--CIAO/examples/Null_Component_Glfa/descriptors/Null_Homed.cdp15
-rwxr-xr-xCIAO/examples/Null_Component_Glfa/descriptors/run_test.pl4
-rwxr-xr-xCIAO/tests/Bug_2130_Regression/descriptors/run_test.pl4
-rwxr-xr-xCIAO/tests/Bug_3769_Regression/descriptors/run_test.pl4
-rwxr-xr-xCIAO/tests/Bug_3834_Regression/descriptors/run_test.pl4
-rwxr-xr-xCIAO/tests/Bug_3834_Regression/descriptors/run_test_without_ns.pl4
-rwxr-xr-xCIAO/tests/IDL_Test/Double_Inherited_Component/run_test.pl4
202 files changed, 8415 insertions, 3162 deletions
diff --git a/CIAO/CIAO_TAO.mwc b/CIAO/CIAO_TAO.mwc
index 9cf8a30fe83..8000d3b30d6 100644
--- a/CIAO/CIAO_TAO.mwc
+++ b/CIAO/CIAO_TAO.mwc
@@ -23,7 +23,6 @@ workspace {
ccm
ciao
DAnCE
- connectors
tools
tests
examples
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog
index 323679f98c2..853f9e52a1a 100644
--- a/CIAO/ChangeLog
+++ b/CIAO/ChangeLog
@@ -1,3 +1,348 @@
+Fri May 21 13:56:01 UTC 2010 William Otte <wotte@zifnab>
+
+ * .:
+ Merged in locality_manager branch. details to follow:
+
+ Fri May 21 03:57:04 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * connectors/ami4ccm/examples/Hello/descriptors/run_test.pl:
+ * connectors/ami4ccm/tests/DelReplyH/descriptors/run_test.pl:
+ * connectors/ami4ccm/tests/Exceptions/descriptors/run_test.pl:
+ * connectors/ami4ccm/tests/InterInArgs/descriptors/run_test.pl:
+ * connectors/ami4ccm/tests/InterOutArgs/descriptors/run_test.pl:
+ * connectors/ami4ccm/tests/InterReturn/descriptors/run_test.pl:
+ * connectors/ami4ccm/tests/NoReplyH/descriptors/run_test.pl:
+ * connectors/ami4ccm/tests/OneProcess/descriptors/run_test.pl:
+ * connectors/ami4ccm/tests/OneProcess/descriptors/run_test_one.pl:
+ * connectors/dds4ccm/examples/Hello/descriptors/run_1_to_5.pl:
+ * connectors/dds4ccm/examples/Hello/descriptors/run_5_to_1.pl:
+ * connectors/dds4ccm/examples/Hello/descriptors/run_5_to_5.pl:
+ * connectors/dds4ccm/examples/Hello/descriptors/run_receiver.pl:
+ * connectors/dds4ccm/examples/Hello/descriptors/run_sender.pl:
+ * connectors/dds4ccm/examples/Hello/descriptors/run_test.pl:
+ * connectors/dds4ccm/examples/Large_Deployment/descriptors/run_test.pl:
+ * connectors/dds4ccm/examples/Quoter/descriptors/run_test.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/run_test.pl:
+ * connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub.pl:
+ * connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub3.pl:
+ * connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub_BE.pl:
+ * connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub.pl:
+ * connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub2.pl:
+ * connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub3.pl:
+ * connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub_BE.pl:
+ * connectors/dds4ccm/performance-tests/Keyed/descriptors/run_test.pl:
+ * connectors/dds4ccm/performance-tests/Latency/descriptors/run_test.pl:
+ * connectors/dds4ccm/performance-tests/Throughput/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/CSLDeadline/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/CSLQoS/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/CSLSampleRejected/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/CSLUnexpStat/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/CoherentUpdater/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/CoherentWriter/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/ContentFilteredTopic/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/DDSWriterEntity/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/Event_Connection_Test/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/Getter/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/InstanceHandle/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/KeyedSamples/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/KeyedWriter/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/ListenManyByMany/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/ListenNotEnabled/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/ListenOneByOne/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/NonChangeableAttribute/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/On_Inconsistent_Topic/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/PSLDeadline/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/PSLSampleLost/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/PortUsage/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/QosProfile/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/QueryFilter/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/QueryFilterListenEvent/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/QueryFilterListenState/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/Reader/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/SLDisabled/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/SLManyByMany/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/SLOneByOne/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/SetConnectorAttributes/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/descriptors/run_test_default_qos.pl:
+ * connectors/dds4ccm/tests/State_Connection_Test/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/UnkeyedSamples/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/UnkeyedWriter/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/Updater/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/VariousTopicsEvent/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/VariousTopicsState/descriptors/run_test.pl:
+
+ Ported tests.
+
+ Fri May 21 03:54:36 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * examples/BasicSP/descriptors/BasicSP_Homed.cdp:
+ * examples/BasicSP/descriptors/run_test.pl:
+ * examples/Hello/descriptors/DeploymentPlan.cdp:
+ * examples/Hello/descriptors/DeploymentPlan_without_ns.cdp:
+ * examples/Hello/descriptors/run_test.pl:
+ * examples/Hello/descriptors/run_test_PlanLocality_DifferentProcesses.pl:
+ * examples/Hello/descriptors/run_test_PlanLocality_SameProcess.pl:
+ * examples/Hello/descriptors/run_test_alias.pl:
+ * examples/Hello/descriptors/run_test_without_ns.pl:
+ * examples/Null_Component/descriptors/Null_Homed.cdp:
+ * examples/Null_Component/descriptors/run_test.pl:
+ * examples/Null_Component/descriptors/run_test_without_ns.pl:
+ * examples/Null_Component_Glfa/descriptors/Null_Homed.cdp:
+ * examples/Null_Component_Glfa/descriptors/run_test.pl:
+ * tests/Bug_2130_Regression/descriptors/run_test.pl:
+ * tests/Bug_3769_Regression/descriptors/run_test.pl:
+ * tests/Bug_3834_Regression/descriptors/run_test.pl:
+ * tests/Bug_3834_Regression/descriptors/run_test_without_ns.pl:
+ * tests/IDL_Test/Double_Inherited_Component/run_test.pl:
+
+ Ported tests.
+
+ Fri May 21 03:08:15 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DAnCE/DAnCE_Utility.cpp:
+ * DAnCE/LocalityManager/Daemon/Locality_Manager.mpc:
+ * DAnCE/LocalityManager/Daemon/Locality_Manager_Impl.h:
+ * DAnCE/LocalityManager/Daemon/Locality_Manager_Impl.cpp:
+ * DAnCE/LocalityManager/Daemon/Name_Utilities.h:
+ * DAnCE/LocalityManager/Daemon/Name_Utilities.cpp:
+ * DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.cpp:
+ * DAnCE/NodeApplication/NodeApplication.mpc:
+ * DAnCE/Plan_Launcher/Plan_Launcher_Base_Impl_T.cpp:
+ * DAnCE/tests/CIAO/CommandlinePassage/Component.cdp:
+ * DAnCE/tests/CIAO/CommandlinePassage/run_test.pl:
+ * ciao/Containers/Container_Base.idl:
+ * ciao/Containers/Session/Session_Container.h:
+ * ciao/Containers/Session/Session_Container.cpp:
+ * ciao/Deployment/Handlers/CIAO_Handler_Common.h:
+ * ciao/Deployment/Handlers/CIAO_Handler_Common.cpp:
+ * ciao/Deployment/Handlers/Component_Handler.cpp:
+ * ciao/Deployment/Handlers/Connection_Handler.cpp:
+ * ciao/Deployment/Handlers/Homed_Component_Handler.cpp:
+ * ciao/Servants/Home_Servant_Impl_T.cpp:
+
+ Various bug fixes, and added support for 1) attribute
+ initialization, 2) external reference endpoints.
+
+ * DAnCE/tests/CIAO/Components/SimpleAttribute_exec.cpp:
+
+ Log message fix.
+
+ * DAnCE/tests/CIAO/EM-Launch-Failures/1NodeFailureAtActivate.cdp:
+ * DAnCE/tests/CIAO/EM-Launch-Failures/1NodeFailureAtStartup.cdp:
+ * DAnCE/tests/CIAO/EM-Launch-Failures/1NodeNoFailure.cdp:
+ * DAnCE/tests/CIAO/EM-Launch-Failures/2NodeFailureAtActivate.cdp:
+ * DAnCE/tests/CIAO/EM-Launch-Failures/2NodeFailureAtStartup.cdp:
+ * DAnCE/tests/CIAO/EM-Launch-Failures/2NodeNoFailure.cdp:
+ * DAnCE/tests/CIAO/EM-Launch-Failures/5NodeFailureAtActivate.cdp:
+ * DAnCE/tests/CIAO/EM-Launch-Failures/5NodeFailureAtStartup.cdp:
+ * DAnCE/tests/CIAO/EM-Launch-Failures/5NodeNoFailure.cdp:
+ * DAnCE/tests/CIAO/EM-Launch-Failures/run_test.pl:
+ * DAnCE/tests/CIAO/EM-Redeployment/run_test.pl:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome_NS.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS_PL_DP.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS_PL_SP.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome_NS.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/SimpleComponentExplicitHome.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS_PL_DP.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS_PL_SP.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NilFacet.cdp:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl:
+ * DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test_cdr.pl:
+ * DAnCE/tests/CIAO/NodeManager-Deployments/run_test_cdr.pl:
+ * DAnCE/tests/CIAO/Progressive_Deployments/Plan_A.cdp:
+ * DAnCE/tests/CIAO/Progressive_Deployments/Plan_B.cdp:
+ * DAnCE/tests/CIAO/Progressive_Deployments/Plan_C.cdp:
+ * DAnCE/tests/CIAO/Progressive_Deployments/run_test.pl:
+
+ Ported DAnCE tests.
+
+ * DAnCE/NodeApplication/Name_Utilities.h:
+ * DAnCE/NodeApplication/Name_Utilities.cpp:
+
+ Removed these files.
+
+ Thu May 20 19:29:49 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DAnCE/DAnCE_Core.mpc:
+ * ciao/ComponentServer/CIAO_ComponentServer.mpc:
+ * DAnCE/LocalityManager/Handler/LocalityHandler.mpc:
+ * DAnCE/LocalityManager/Daemon/Locality_Manager.mpc:
+
+ Windows compile fixes.
+
+ * DAnCE/LocalityManager/Daemon/Locality_Manager_Impl.cpp:
+ * DAnCE/LocalityManager/Handler/LocalityActivator_Impl.h:
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp:
+ * DAnCE/tests/CIAO/NodeManager-Deployments/PublishConnectionExplicitHome.cdp:
+ * ciao/Deployment/Handlers/Component_Handler.cpp:
+ * ciao/Deployment/Handlers/Connection_Handler.cpp:
+ * ciao/Deployment/Handlers/Home_Handler.cpp:
+ * ciao/Deployment/Handlers/Homed_Component_Handler.cpp:
+
+ Bugfixes.
+
+ * ciao/Servants/Connector_Servant_Impl_Base.cpp:
+
+ Default connect_consumer behavior should throw an
+ InvalidName exception.
+
+ Wed May 19 18:37:49 UTC 2010 wotte <wotte@>
+
+ * DAnCE/NodeApplication/NodeApplication.mpc:
+ * DAnCE/LocalityManager/Daemon/Locality_Manager.mpc:
+ * ciao/ComponentServer/CIAO_ComponentServer.mpc:
+ * MPC/config/ciao_componentserver_stub.mpb:
+
+ Build ordering issues.
+
+ Wed May 19 12:17:27 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * ciao/ComponentServer/CIAO_ComponentServer.mpc:
+ * ciao/ComponentServer/CIAO_Properties.idl:
+ * ciao/ComponentServer/Client_init.h:
+ * ciao/ComponentServer/Server_init.h:
+
+ * ciao/Deployment:
+
+ * ciao/Deployment/Handlers:
+
+ * ciao/Deployment/Handlers/CIAO_Deployment_Handlers.mpc:
+ * ciao/Deployment/Handlers/CIAO_Handler_Common.h:
+ * ciao/Deployment/Handlers/CIAO_Handler_Common.cpp:
+ * ciao/Deployment/Handlers/CIAO_Locality_Handler_Export.h:
+ * ciao/Deployment/Handlers/CIAO_State.h:
+ * ciao/Deployment/Handlers/CIAO_State.cpp:
+ * ciao/Deployment/Handlers/Component_Handler.h:
+ * ciao/Deployment/Handlers/Component_Handler.cpp:
+ * ciao/Deployment/Handlers/Connection_Handler.h:
+ * ciao/Deployment/Handlers/Connection_Handler.cpp:
+ * ciao/Deployment/Handlers/Container_Handler.h:
+ * ciao/Deployment/Handlers/Container_Handler.cpp:
+ * ciao/Deployment/Handlers/Home_Handler.h:
+ * ciao/Deployment/Handlers/Home_Handler.cpp:
+ * ciao/Deployment/Handlers/Homed_Component_Handler.h:
+ * ciao/Deployment/Handlers/Homed_Component_Handler.cpp:
+
+ * ciao/Deployment/Interceptors:
+
+ First round CIAO deployment handlers.
+
+ Wed May 19 12:11:34 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DAnCE/DAnCE_Core.mpc:
+ * DAnCE/DAnCE/DAnCE_LocalityManager.idl:
+ * DAnCE/DAnCE/DAnCE_Properties.idl:
+ * DAnCE/DAnCE/DAnCE_Utility.h:
+ * DAnCE/DAnCE/DAnCE_Utility.cpp:
+ * DAnCE/DAnCE/DAnCE_Utility.tpp:
+
+ * DAnCE/Deployment/Deployment_Core.mpc:
+
+ * DAnCE/LocalityManager/Daemon:
+
+ * DAnCE/LocalityManager/Daemon/Locality_Manager.cpp:
+ * DAnCE/LocalityManager/Daemon/Locality_Manager.mpc:
+ * DAnCE/LocalityManager/Daemon/Locality_Manager_Impl.h:
+ * DAnCE/LocalityManager/Daemon/Locality_Manager_Impl.cpp:
+ * DAnCE/LocalityManager/Daemon/Locality_Manager_Impl_Export.h:
+ * DAnCE/LocalityManager/Daemon/Locality_Manager_Task.h:
+ * DAnCE/LocalityManager/Daemon/Locality_Manager_Task.cpp:
+
+ * DAnCE/LocalityManager/Handler:
+
+ * DAnCE/LocalityManager/Handler/DAnCE_Locality_Handler_export.h:
+ * DAnCE/LocalityManager/Handler/LocalityActivator_Impl.h:
+ * DAnCE/LocalityManager/Handler/LocalityActivator_Impl.cpp:
+ * DAnCE/LocalityManager/Handler/LocalityHandler.mpc:
+ * DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.h:
+ * DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.cpp:
+
+ * DAnCE/MPC/config/dance_locality_handler.mpb:
+ * DAnCE/MPC/config/dance_locality_manager.mpb:
+ * DAnCE/MPC/config/dance_nodeapplication.mpb:
+ * DAnCE/MPC/config/dance_skel.mpb:
+ * DAnCE/MPC/config/dance_split_plan.mpb:
+ * DAnCE/MPC/config/dance_stub.mpb:
+
+ * DAnCE/NodeApplication/NodeApplication.mpc:
+ * DAnCE/NodeApplication/NodeApplication_Impl.h:
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp:
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp:
+
+ * DAnCE/NodeManager/NodeManager.mpc:
+ * DAnCE/NodeManager/NodeManager_Impl.h:
+ * DAnCE/NodeManager/Node_Manager_Module.h:
+ * DAnCE/NodeManager/Node_Manager_Module.cpp:
+
+ * DAnCE/tests/CIAO/NodeManager-Deployments/EmitsConnectionExplicitHome.cdp:
+ * DAnCE/tests/CIAO/NodeManager-Deployments/MultiplexConnectionExplicitHome.cdp:
+ * DAnCE/tests/CIAO/NodeManager-Deployments/PublishConnectionExplicitHome.cdp:
+ * DAnCE/tests/CIAO/NodeManager-Deployments/SimpleAttributeExplicitHome.cdp:
+ * DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentExplicitHome.cdp:
+ * DAnCE/tests/CIAO/NodeManager-Deployments/SimplexConnectionExplicitHome.cdp:
+ * DAnCE/tests/CIAO/NodeManager-Deployments/TwoComponentsOneHome.cdp:
+ * DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl:
+
+ * DAnCE/tests/LocalityManager:
+
+ * DAnCE/tests/LocalityManager/SpawnMultiple:
+
+ * DAnCE/tests/LocalityManager/SpawnMultiple/Deployment.cdp:
+ * DAnCE/tests/LocalityManager/SpawnMultiple/run_test.pl:
+
+ * DAnCE/tests/LocalityManager/SpawnOne:
+
+ * DAnCE/tests/LocalityManager/SpawnOne/Deployment.cdp:
+ * DAnCE/tests/LocalityManager/SpawnOne/run_test.pl:
+
+ * DAnCE/tools:
+
+ First round LocalityManager implementation.
+
+ * DAnCE/DAnCE/Deployment_common.h:
+
+ Removed this file.
+
+ Tue May 11 23:06:20 UTC 2010 wotte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp:
+
+ Fixed error when --help is passed, reverse -a and -m in usage.
+
+ Wed Apr 14 15:06:32 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DAnCE/DAnCE_ArtifactInstallation.idl:
+ * DAnCE/DAnCE/DAnCE_Core.mpc:
+ * DAnCE/DAnCE/DAnCE_DeploymentInterceptors.idl:
+ * DAnCE/DAnCE/DAnCE_LocalityManager.idl:
+ * DAnCE/Deployment/Deployment_Application.idl:
+ * DAnCE/Deployment/Deployment_ApplicationManager.idl:
+ * DAnCE/Deployment/Deployment_Core.mpc:
+ * DAnCE/Deployment/Deployment_InvalidComponentExecParameter.idl:
+ * DAnCE/Deployment/Deployment_InvalidConnection.idl:
+ * DAnCE/Deployment/Deployment_InvalidNodeExecParameter.idl:
+ * DAnCE/Deployment/Deployment_InvalidProperty.idl:
+ * DAnCE/Deployment/Deployment_ResourceNotAvailable.idl:
+ * DAnCE/LocalityManager:
+
+ Integrated new IDL.
+
+ * DAnCE/DAnCE/DAnCE_Properties.mpc:
+ * DAnCE/Deployment/DAnCE_Core.mpc:
+
+ Removed these files.
+
Fri May 21 13:51:16 UTC 2010 Adam Mitz <mitza@ociweb.com>
* ccm/ComponentServer/CCM_ComponentServer.mpc:
diff --git a/CIAO/DAnCE/DAnCE/DAnCE_ArtifactInstallation.idl b/CIAO/DAnCE/DAnCE/DAnCE_ArtifactInstallation.idl
new file mode 100644
index 00000000000..f1b1323a3a3
--- /dev/null
+++ b/CIAO/DAnCE/DAnCE/DAnCE_ArtifactInstallation.idl
@@ -0,0 +1,40 @@
+// $Id$
+
+#ifndef DANCE_ARTIFACTINSTALLATION_IDL
+#define DANCE_ARTIFACTINSTALLATION_IDL
+
+#include "Deployment/Deployment_DeploymentPlan.idl"
+#include "Deployment/Deployment_PlanError.idl"
+
+module DAnCE
+{
+ /// Each ArtifactInstallationHandler knows how to handle
+ /// a single protocol.
+ local interface ArtifactInstallationHandler
+ {
+ readonly attribute string protocol;
+
+ void install (inout ::Deployment::ArtifactDeploymentDescription artifact,
+ in string uuid)
+ raises (::Deployment::PlanError);
+
+ void uninstall (in string uuid);
+ };
+
+ interface ArtifactInstallation
+ {
+ /// Acts as a front end to the ArtifactInstallationHandlers
+ /// that were installed at object creation. Each InstallationHandler
+ /// is capable of handling a single URI type;
+ void install (in ::Deployment::ArtifactDeploymentDescription artifact,
+ in string uuid)
+ raises (::Deployment::PlanError);
+
+ void uninstall (in string uuid);
+
+ /// Used by component/locality server to query location of a given artifact
+ string get_artifact_location (in string uuid);
+ };
+};
+
+#endif
diff --git a/CIAO/DAnCE/DAnCE/DAnCE_Core.mpc b/CIAO/DAnCE/DAnCE/DAnCE_Core.mpc
new file mode 100644
index 00000000000..4416ba967e4
--- /dev/null
+++ b/CIAO/DAnCE/DAnCE/DAnCE_Core.mpc
@@ -0,0 +1,57 @@
+// $Id$
+project(DAnCE_IDL) : ciaolib_with_idl, dance_output, valuetype, gen_ostream, \
+ dance_deployment_stub {
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=DANCE_STUB_Export \
+ -Wb,stub_export_include=DAnCE_stub_export.h \
+ -Wb,skel_export_macro=DANCE_SKEL_Export \
+ -Wb,skel_export_include=DAnCE_skel_export.h
+
+ IDL_Files {
+ idlflags += -SS -Sci
+ DAnCE_DeploymentInterceptors.idl
+ DAnCE_Properties.idl
+ }
+
+ IDL_Files {
+ idlflags += -Gxhst -Gxhsk
+ DAnCE_LocalityManager.idl
+ }
+
+ IDL_Files {
+ DAnCE_ArtifactInstallation.idl
+ }
+}
+
+project (DAnCE_stub) : ciaolib_with_idl, dance_output, \
+ dance_applicationmanager_stub, dance_deployment_stub, \
+ dance_logger \
+ {
+ after += DAnCE_IDL
+ dynamicflags = DANCE_STUB_BUILD_DLL
+ IDL_Files {
+ }
+
+ Source_Files {
+ DAnCE_DeploymentInterceptorsC.cpp
+ DAnCE_PropertiesC.cpp
+ DAnCE_LocalityManagerC.cpp
+ DAnCE_ArtifactInstallationC.cpp
+ DAnCE_Utility.cpp
+ }
+}
+
+project (DAnCE_skel) : ciaolib_with_idl, dance_output, \
+ dance_applicationmanager_skel, dance_deployment_skel \
+ {
+ after += DAnCE_stub
+ libs += DAnCE_stub
+ dynamicflags = DANCE_SKEL_BUILD_DLL
+ IDL_Files {
+ }
+
+ Source_Files {
+ DAnCE_LocalityManagerS.cpp
+ DAnCE_ArtifactInstallationS.cpp
+ }
+}
diff --git a/CIAO/DAnCE/DAnCE/DAnCE_DeploymentInterceptors.idl b/CIAO/DAnCE/DAnCE/DAnCE_DeploymentInterceptors.idl
new file mode 100644
index 00000000000..c9c75fab3f9
--- /dev/null
+++ b/CIAO/DAnCE/DAnCE/DAnCE_DeploymentInterceptors.idl
@@ -0,0 +1,59 @@
+// $Id$
+
+#ifndef DANCE_DEPLOYMENTINTERCEPTOR_IDL
+#define DANCE_DEPLOYMENTINTERCEPTOR_IDL
+
+#include "Deployment/Deployment_DeploymentPlan.idl"
+#include "Deployment/Deployment_PlanError.idl"
+#include "Deployment/Deployment_InvalidProperty.idl"
+#include "Deployment/Deployment_InvalidNodeExecParameter.idl"
+#include "Deployment/Deployment_InvalidComponentExecParameter.idl"
+#include "Deployment/Deployment_InvalidConnection.idl"
+
+module DAnCE
+{
+ local interface DeploymentInterceptor
+ {
+
+ };
+
+ local interface PlanPreprocessing : DeploymentInterceptor
+ {
+ void preprocess_plan (inout ::Deployment::DeploymentPlan plan)
+ raises (::Deployment::PlanError);
+ };
+
+ local interface InstanceInstallation : DeploymentInterceptor
+ {
+ void instance_pre_install (inout ::Deployment::DeploymentPlan plan,
+ in unsigned long instanceRef)
+ raises (::Deployment::PlanError,
+ ::Deployment::InvalidProperty,
+ ::Deployment::InvalidNodeExecParameter,
+ ::Deployment::InvalidComponentExecParameter);
+
+ void instance_post_install (in ::Deployment::DeploymentPlan plan,
+ in unsigned long instance_index,
+ in any instance_reference,
+ in any exception_thrown)
+ raises (::Deployment::PlanError,
+ ::Deployment::InvalidProperty,
+ ::Deployment::InvalidNodeExecParameter,
+ ::Deployment::InvalidComponentExecParameter);
+ };
+
+ local interface InstanceConnection
+ {
+ void instance_pre_connect (inout ::Deployment::DeploymentPlan plan,
+ in unsigned long connection_index,
+ inout any provided_reference)
+ raises (::Deployment::InvalidConnection);
+
+ void instance_post_connect (in Deployment::DeploymentPlan plan,
+ in unsigned long connectionRef,
+ in any exceptionThrown)
+ raises (::Deployment::InvalidConnection);
+ };
+};
+
+#endif
diff --git a/CIAO/DAnCE/DAnCE/DAnCE_LocalityManager.idl b/CIAO/DAnCE/DAnCE/DAnCE_LocalityManager.idl
new file mode 100644
index 00000000000..31272758da2
--- /dev/null
+++ b/CIAO/DAnCE/DAnCE/DAnCE_LocalityManager.idl
@@ -0,0 +1,98 @@
+// $Id$
+
+#ifndef DANCE_LOCALITYMANAGER_IDL
+#define DANCE_LOCALITYMANAGER_IDL
+
+#include "Deployment/Deployment_Application.idl"
+#include "Deployment/Deployment_ApplicationManager.idl"
+#include "Deployment/Deployment_InvalidProperty.idl"
+#include "Deployment/Deployment_InvalidNodeExecParameter.idl"
+#include "Deployment/Deployment_InvalidComponentExecParameter.idl"
+#include "Deployment/Deployment_InvalidConnection.idl"
+#include "Deployment/Deployment_StopError.idl"
+#include "Deployment/Deployment_StopError.idl"
+#include "Deployment/Deployment_PlanError.idl"
+#include "Deployment/Deployment_ResourceNotAvailable.idl"
+#include "Deployment/Deployment_ResourceCommitmentManager.idl"
+
+module DAnCE
+{
+ /// intended to implement installation logic for a particular instance
+ /// type
+ local interface InstanceDeploymentHandler
+ {
+ readonly attribute string instance_type;
+
+ void install_instance (in ::Deployment::DeploymentPlan plan,
+ in unsigned long instanceRef,
+ out any instance_reference)
+ raises (Deployment::ResourceNotAvailable,
+ Deployment::StartError,
+ Deployment::InvalidProperty,
+ Deployment::InvalidNodeExecParameter,
+ Deployment::InvalidComponentExecParameter);
+
+ void activate_instance (in ::Deployment::DeploymentPlan plan,
+ in unsigned long instanceRef,
+ in any instance_reference)
+ raises (Deployment::StartError);
+
+ void passivate_instance (in ::Deployment::DeploymentPlan plan,
+ in unsigned long instanceRef,
+ in any instance_reference)
+ raises (Deployment::StopError);
+
+ void remove_instance (in ::Deployment::DeploymentPlan plan,
+ in unsigned long instanceRef,
+ in any instance_reference)
+ raises (::Deployment::StopError);
+
+ void provide_endpoint_reference (in ::Deployment::DeploymentPlan plan,
+ in unsigned long connectionRef,
+ out any endpoint_reference)
+ raises (Deployment::PlanError);
+
+ void connect_instance (in ::Deployment::DeploymentPlan plan,
+ in unsigned long connectionRef,
+ in any provided_reference)
+ raises (Deployment::StartError,
+ Deployment::InvalidConnection);
+
+ void disconnect_instance (in ::Deployment::DeploymentPlan plan,
+ in unsigned long connectionRef)
+ raises (::Deployment::StopError);
+
+ void instance_configured (in ::Deployment::DeploymentPlan plan,
+ in unsigned long instanceRef)
+ raises (Deployment::StartError);
+ };
+
+ interface LocalityManager :
+ Deployment::Application,
+ Deployment::ApplicationManager
+ {
+ readonly attribute ::Deployment::Properties configuration;
+
+ Deployment::ApplicationManager
+ preparePlan (in Deployment::DeploymentPlan plan,
+ in Deployment::ResourceCommitmentManager resourceCommitment)
+ raises (Deployment::StartError,
+ Deployment::PlanError);
+
+ void destroyManager (in ::Deployment::ApplicationManager manager)
+ raises (Deployment::StopError);
+
+ oneway void shutdown ();
+ };
+
+ interface LocalityManagerActivator
+ {
+ void locality_manager_callback (in LocalityManager ref,
+ in string uuid,
+ out Deployment::Properties config);
+
+ void configuration_complete (in string uuid);
+ };
+};
+
+#endif
diff --git a/CIAO/DAnCE/DAnCE/DAnCE_Properties.idl b/CIAO/DAnCE/DAnCE/DAnCE_Properties.idl
index d8599aed857..7e3bc9ade69 100644
--- a/CIAO/DAnCE/DAnCE/DAnCE_Properties.idl
+++ b/CIAO/DAnCE/DAnCE/DAnCE_Properties.idl
@@ -19,10 +19,6 @@ module DAnCE
/// Indicates that the component instance should be deployed using specified home ID.
/// Property value is string.
const string EXPLICIT_HOME = "edu.vanderbilt.dre.DAnCE.ExplicitHome";
-
- const string SERVER_EXECUTABLE = "edu.vanderbilt.dre.DAnCE.ServerExecutable";
-
- const string IMPL_TYPE = "edu.vanderbilt.dre.DAnCE.ImplementationType";
// Instance (i.e., Home or Component) Properties
/// Indicates that the instance object reference should be registered in the
@@ -42,6 +38,20 @@ module DAnCE
/// Indicates the naming context used for instance objects.
const string INSTANCE_NC = "edu.vanderbilt.dre.DAnCE.InstanceNC";
+ const string LOCALITY_TIMEOUT = "edu.vanderbilt.dre.DAnCE.LocalityTimeout";
+ const string LOCALITY_UUID = "edu.vanderbilt.dre.DAnCE.LocalityUUID";
+ const string LOCALITY_ARGUMENTS = "edu.vanderbilt.dre.DAnCE.LocalityArguments";
+ const string LOCALITY_EXECUTABLE = "edu.vanderbilt.dre.DAnCE.LocalityExec";
+ const string LOCALITY_MULTITHREAD = "edu.vanderbilt.dre.DAnCE.LocalityMutltithread";
+
+ // Implementation Types
+ const string IMPL_TYPE = "edu.vanderbilt.dre.DAnCE.ImplementationType";
+ const string SERVER_EXECUTABLE = "edu.vanderbilt.dre.DAnCE.ServerExecutable";
+ const string CCM_CONTAINER = "edu.dre.vanderbilt.dre.CCM.Container";
+ const string CCM_HOME = "edu.dre.vanderbilt.dre.CCM.Home";
+ const string CCM_COMPONENT = "edu.dre.vanderbilt.dre.CCM.Component";
+ const string CCM_HOMEDCOMPONENT = "edu.dre.vanderbilt.dre.CCM.HomedComponent";
+ const string DANCE_LOCALITYMANAGER = "edu.vanderbilt.dre.DAnCE.LocalityManager";
};
diff --git a/CIAO/DAnCE/DAnCE/DAnCE_Utility.cpp b/CIAO/DAnCE/DAnCE/DAnCE_Utility.cpp
new file mode 100644
index 00000000000..f320262e2b1
--- /dev/null
+++ b/CIAO/DAnCE/DAnCE/DAnCE_Utility.cpp
@@ -0,0 +1,261 @@
+// $Id$
+
+#ifndef DAnCE_Utility_CPP
+#define DAnCE_Utility_CPP
+
+#include "DAnCE_Utility.h"
+#include "ace/OS_NS_stdio.h"
+#include "DAnCE_PropertiesC.h"
+
+namespace DAnCE
+{
+ namespace Utility
+ {
+ void build_property_map (PROPERTY_MAP &map,
+ const ::Deployment::Properties &prop)
+ {
+ DANCE_TRACE("DAnCE::Utility::build_config_values_map");
+
+
+ for (CORBA::ULong i = 0; i < prop.length (); ++i)
+ {
+ int const retval = map.rebind (prop[i].name.in (), prop[i].value);
+
+ if (retval == 1)
+ {
+ DANCE_ERROR (1, (LM_WARNING, DLINFO
+ "build_property_map: Duplicate value "
+ "for %C encountered, "
+ "old value overwritten.\n",
+ prop[i].name.in ()));
+ }
+ else if (retval == -1)
+ {
+ DANCE_ERROR (1, (LM_WARNING, DLINFO
+ "build_property_map: "
+ "Error binding value for %C, ignoring.\n",
+ prop[i].name.in ()));
+ }
+ else
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "build_property_map: "
+ "Bound value for config value %C\n",
+ prop[i].name.in ()));
+ }
+ }
+ }
+
+ int write_IOR (const ACE_TCHAR *pathname, const char *ior)
+ {
+ FILE* ior_output_file_ = ACE_OS::fopen (pathname, ACE_TEXT("w"));
+
+ DANCE_DEBUG (7, (LM_DEBUG, DLINFO
+ "DAnCE::Utility::write_IOR - "
+ "Writing ior <%C> to file <%C>\n",
+ ior, pathname));
+
+ if (ior_output_file_)
+ {
+ ACE_OS::fprintf (ior_output_file_,
+ "%s",
+ ior);
+ ACE_OS::fclose (ior_output_file_);
+ return 0;
+ }
+
+ return -1;
+ }
+
+
+ void append_properties (::Deployment::Properties &dest,
+ const ::Deployment::Properties &src)
+ {
+ CORBA::ULong pos = dest.length ();
+ dest.length (pos + src.length ());
+
+ for (CORBA::ULong i = 0; i < src.length (); ++i)
+ {
+ dest[pos].name = CORBA::string_dup (src[i].name.in ());
+ dest[pos].value = src[i].value;
+ ++pos;
+ }
+ }
+
+ template<>
+ bool get_property_value (const char *name,
+ const PROPERTY_MAP &properties,
+ bool &val)
+ {
+ DANCE_TRACE ("DAnCE::Utility::get_property_value<bool>");
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<bool> - ")
+ ACE_TEXT("Finding property value for name '%C'\n"),
+ name));
+
+ CORBA::Any any;
+ if (properties.find (name, any) == 0)
+ {
+ if (any >>= CORBA::Any::to_boolean(val))
+ {
+ return true;
+ }
+ else
+ {
+ DANCE_ERROR (1, (LM_WARNING, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<T> - ")
+ ACE_TEXT("Failed to extract property value for %C\n"), name));
+ return false;
+ }
+ }
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<bool> - ")
+ ACE_TEXT("Property value for name '%C' has no value\n"),
+ name));
+
+ return false;
+ }
+
+ template<>
+ bool get_property_value (const char *name,
+ const PROPERTY_MAP &properties,
+ const char *&val)
+ {
+ DANCE_TRACE ("DAnCE::Utility::get_property_value<const char *>");
+ CORBA::Any any;
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<bool> - ")
+ ACE_TEXT("Finding property value for name '%C'\n"),
+ name));
+
+ if (properties.find (name, any) == 0)
+ {
+ if (any >>= CORBA::Any::to_string(val, 0))
+ {
+ return true;
+ }
+ else
+ {
+ DANCE_ERROR (1, (LM_WARNING, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<const char *> - ")
+ ACE_TEXT("Failed to extract property value for %C\n"), name));
+ return false;
+ }
+ }
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<bool> - ")
+ ACE_TEXT("Property value for name '%C' has no value\n"), name));
+
+ return false;
+ }
+
+ template<>
+ bool get_property_value (const char *name,
+ const ::Deployment::Properties &properties,
+ const char * &val)
+ {
+ DANCE_TRACE ("DAnCE::Utility::get_property_value<const char *>");
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<T> - ")
+ ACE_TEXT("Finding property value for name '%C'\n"),
+ name));
+
+ for (CORBA::ULong i = 0; i < properties.length (); ++i)
+ {
+ if (ACE_OS::strcmp (properties[i].name.in (), name) == 0)
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<T> - ")
+ ACE_TEXT("Found property '%C'\n"), name));
+ if (properties[i].value >>= CORBA::Any::to_string (val, 0))
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<T> - ")
+ ACE_TEXT("Value is %C\n"), val));
+ return true;
+ }
+ else
+ {
+ DANCE_ERROR (1, (LM_WARNING, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<T> - ")
+ ACE_TEXT("Failed to extract property value for %C\n"),
+ name));
+ return false;
+ }
+ }
+ }
+
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<T> - ")
+ ACE_TEXT("Unable to find property named %C\n"), name));
+
+ return false;
+ }
+
+ const char *
+ get_instance_type (const ::Deployment::Properties& prop)
+ {
+ DANCE_TRACE ("DAnCE::Utility::get_instance_type");
+
+ for (CORBA::ULong i = 0; i < prop.length (); ++i)
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_instance_type - ")
+ ACE_TEXT("Checking property %C\n"),
+ prop[i].name.in ()));
+
+ if (ACE_OS::strcmp (prop[i].name.in (),
+ DAnCE::HOME_FACTORY) == 0)
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_instance_type - ")
+ ACE_TEXT("Found Home type\n")));
+ return DAnCE::CCM_HOME;
+ }
+ if (ACE_OS::strcmp (prop[i].name.in (),
+ DAnCE::COMPONENT_FACTORY) == 0)
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_instance_type - ")
+ ACE_TEXT("Found unmanaged component type.\n")));
+ return DAnCE::CCM_COMPONENT;
+ }
+ if (ACE_OS::strcmp (prop[i].name.in (),
+ DAnCE::EXPLICIT_HOME) == 0)
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_instance_type - ")
+ ACE_TEXT("Found explicit home component type.\n")));
+ return DAnCE::CCM_HOMEDCOMPONENT;;
+ }
+
+ if (ACE_OS::strcmp (prop[i].name.in (),
+ DAnCE::IMPL_TYPE) == 0)
+ {
+ const char *val;
+ if (get_property_value (DAnCE::IMPL_TYPE,
+ prop,
+ val))
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_instance_type - ")
+ ACE_TEXT("Found instance type %C\n"), val));
+ return val;
+ }
+ }
+ }
+
+ DANCE_ERROR (1, (LM_INFO, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_instance_type - ")
+ ACE_TEXT("Unable to determine instance type, instance will be ignored.\n")));
+ return 0;
+ }
+ } /* namespace Utility */
+}
+#endif /*DAnCE_Utility_CPP*/
diff --git a/CIAO/DAnCE/DAnCE/DAnCE_Utility.h b/CIAO/DAnCE/DAnCE/DAnCE_Utility.h
new file mode 100644
index 00000000000..93567be7581
--- /dev/null
+++ b/CIAO/DAnCE/DAnCE/DAnCE_Utility.h
@@ -0,0 +1,106 @@
+// $Id$
+
+/**
+ * @file DAnCE_Uility.h
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Utility methods used throughought DAnCE.
+
+ */
+
+#ifndef DAnCE_Utility_H
+#define DAnCE_Utility_H
+
+#include /**/ "ace/pre.h"
+
+#include "DAnCE_stub_export.h"
+
+#include "ace/config-all.h"
+#include "ace/Hash_Map_Manager_T.h"
+#include "ace/Refcounted_Auto_Ptr.h"
+#include "tao/AnyTypeCode/Any.h"
+#include "Deployment/Deployment_DeploymentPlanC.h"
+#include "DAnCE/Logger/Log_Macros.h"
+
+namespace DAnCE
+{
+ namespace Utility
+ {
+ typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
+ CORBA::Any,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> PROPERTY_MAP;
+
+ typedef ACE_Refcounted_Auto_Ptr <PROPERTY_MAP,
+ ACE_SYNCH_MUTEX> PMAP_PTR;
+
+ DANCE_STUB_Export void build_property_map (PROPERTY_MAP &map,
+ const ::Deployment::Properties &prop);
+
+ template<class T>
+ bool
+ get_property_value (const char *name,
+ const PROPERTY_MAP &properties,
+ T &val);
+
+ template<class T>
+ bool
+ get_property_value (const char *name,
+ const ::Deployment::Properties &properties,
+ T &val);
+
+ template <typename EXCEPTION>
+ void test_and_set_exception (bool &flag, EXCEPTION &exception,
+ const char *name, const char *reason);
+
+
+ DANCE_STUB_Export const char *
+ get_instance_type (const ::Deployment::Properties& prop);
+
+ DANCE_STUB_Export void append_properties (::Deployment::Properties &dest,
+ const ::Deployment::Properties &src);
+
+ /// Write a string (usually a stringified IOR) to a file
+ /// designated by the @c pathname. The file named will always get
+ /// overwritten.
+ DANCE_STUB_Export int write_IOR (const ACE_TCHAR *pathname,
+ const char *IOR);
+ }
+}
+
+// Template specializations.
+namespace DAnCE
+{
+ namespace Utility
+ {
+ template<>
+ DANCE_STUB_Export bool
+ get_property_value (const char *name,
+ const PROPERTY_MAP &properties, bool &val);
+
+ template<>
+ DANCE_STUB_Export bool
+ get_property_value (const char *name,
+ const PROPERTY_MAP &properties, const char *&val);
+
+ template<>
+ DANCE_STUB_Export bool
+ get_property_value (const char *name,
+ const ::Deployment::Properties &properties,
+ const char * &val);
+ }
+}
+
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "DAnCE_Utility.tpp"
+#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("DAnCE_Utility.tpp")
+#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
+
+
+#include /**/ "ace/post.h"
+#endif
diff --git a/CIAO/DAnCE/DAnCE/DAnCE_Utility.tpp b/CIAO/DAnCE/DAnCE/DAnCE_Utility.tpp
new file mode 100644
index 00000000000..3933aa09211
--- /dev/null
+++ b/CIAO/DAnCE/DAnCE/DAnCE_Utility.tpp
@@ -0,0 +1,92 @@
+#ifndef DAnCE_Utility_TPP
+#define DAnCE_Utility_TPP
+
+#include "DAnCE/DAnCE_Utility.h"
+
+namespace DAnCE
+{
+ namespace Utility
+ {
+ template<class T>
+ bool get_property_value (const char *name, const PROPERTY_MAP &properties, T &val)
+ {
+ DANCE_TRACE ("DAnCE::Utility::get_property_value<T>");
+ CORBA::Any any;
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<T> - ")
+ ACE_TEXT("Finding property value for name '%C'\n"),
+ name));
+
+ if (properties.find (name, any) == 0)
+ {
+ if (any >>= val)
+ {
+ return true;
+ }
+ else
+ {
+ DANCE_ERROR (1, (LM_WARNING, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<T> - ")
+ ACE_TEXT("Failed to extract property value for %C\n"), name));
+ return false;
+ }
+ }
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("DAnCE::Utility::get_property_value<T> - ")
+ ACE_TEXT("Property value for name '%C' has no value\n"), name));
+
+ return false;
+ }
+
+ template<class T>
+ bool get_property_value (const char *name, const ::Deployment::Properties &properties, T &val)
+ {
+ DANCE_TRACE ("DAnCE::Utility::get_property_value<T>");
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("DAnCE::Utility::get_property_value<T> - ")
+ ACE_TEXT("Finding property value for name '%C'\n"),
+ name));
+
+ for (CORBA::ULong i = 0; i < properties.length (); ++i)
+ {
+ if (ACE_OS::strcmp (properties[i].name.in (), name) == 0)
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("DAnCE::Utility::get_property_value<T> - ")
+ ACE_TEXT("Found property '%C'\n"), name));
+ if (properties[i].value >>= val)
+ return true;
+ else
+ {
+ DANCE_ERROR (1, (LM_WARNING, DLINFO ACE_TEXT("DAnCE::Utility::get_property_value<T> - ")
+ ACE_TEXT("Failed to extract property value for %C\n"), name));
+ return false;
+ }
+ }
+ }
+
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("DAnCE::Utility::get_property_value<T> - ")
+ ACE_TEXT("Property value for name '%C' has no value\n"), name));
+
+ return false;
+ }
+
+ /// Tests flag, if false, sets it to true and replaces the name and
+ /// reason flags of the exception.
+ template <typename EXCEPTION>
+ void test_and_set_exception (bool &flag, EXCEPTION &exception,
+ const char *name, const char *reason)
+ {
+ if (!flag)
+ {
+ flag = true;
+ exception.name = name;
+ exception.reason = reason;
+ }
+ }
+ }
+}
+
+#endif
diff --git a/CIAO/DAnCE/DAnCE/Deployment_common.h b/CIAO/DAnCE/DAnCE/Deployment_common.h
deleted file mode 100644
index 8dd874bb119..00000000000
--- a/CIAO/DAnCE/DAnCE/Deployment_common.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// $Id$
-
-/**
- * @file Deployment_common.h
- *
- * This file collects common type definitions used across different
- * objects of DAnCE toolchain.
- *
- * @author Gan Deng <dengg@dre.vanderbilt.edu>
- */
-
-#ifndef DANCE_COMMON_H
-#define DANCE_COMMON_H
-#include /**/ "ace/pre.h"
-
-#include "ace/config-all.h"
-#include "ace/Hash_Map_Manager_T.h"
-#include "tao/AnyTypeCode/Any.h"
-
-#if !defined ACE_LACKS_PRAGMA_ONCE
-#pragma once
-#endif /* ! ACE_LACKS_PRAGMA_ONCE */
-
-/// A struct which captures the binding information about a component
-namespace DAnCE
-{
- typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
- CORBA::Any,
- ACE_Hash<ACE_CString>,
- ACE_Equal_To<ACE_CString>,
- ACE_Null_Mutex> PROPERTY_MAP;
-}
-
-#include /**/ "ace/post.h"
-#endif /* DANCE_COMMON_H */
diff --git a/CIAO/DAnCE/Deployment/Deployment_Application.idl b/CIAO/DAnCE/Deployment/Deployment_Application.idl
index d0f46188d25..3bd73105718 100644
--- a/CIAO/DAnCE/Deployment/Deployment_Application.idl
+++ b/CIAO/DAnCE/Deployment/Deployment_Application.idl
@@ -6,14 +6,10 @@
#include "DAnCE/Deployment/Deployment_Connection.idl"
#include "DAnCE/Deployment/Deployment_StartError.idl"
#include "DAnCE/Deployment/Deployment_StopError.idl"
+#include "DAnCE/Deployment/Deployment_InvalidConnection.idl"
module Deployment
{
- exception InvalidConnection {
- string name;
- string reason;
- };
-
interface Application {
void finishLaunch (in Connections providedReference, in boolean start)
raises (StartError, InvalidConnection);
diff --git a/CIAO/DAnCE/Deployment/Deployment_ApplicationManager.idl b/CIAO/DAnCE/Deployment/Deployment_ApplicationManager.idl
index ed5eab97c08..4b1dd46fb91 100644
--- a/CIAO/DAnCE/Deployment/Deployment_ApplicationManager.idl
+++ b/CIAO/DAnCE/Deployment/Deployment_ApplicationManager.idl
@@ -5,34 +5,15 @@
#define DEPLOYMENT_APPLICATIONMANAGER_IDL
#include "DAnCE/Deployment/Deployment.idl"
+#include "DAnCE/Deployment/Deployment_InvalidProperty.idl"
#include "DAnCE/Deployment/Deployment_Application.idl"
#include "DAnCE/Deployment/Deployment_Connection.idl"
+#include "DAnCE/Deployment/Deployment_ResourceNotAvailable.idl"
+#include "DAnCE/Deployment/Deployment_InvalidNodeExecParameter.idl"
+#include "DAnCE/Deployment/Deployment_InvalidComponentExecParameter.idl"
module Deployment {
- exception ResourceNotAvailable {
- string name;
- string resourceType;
- string propertyName;
- string elementName;
- string resourceName;
- };
-
- exception InvalidNodeExecParameter {
- string name;
- string reason;
- };
-
- exception InvalidComponentExecParameter {
- string name;
- string reason;
- };
-
- exception InvalidProperty {
- string name;
- string reason;
- };
-
interface ApplicationManager {
Application startLaunch (in Properties configProperty,
out Connections providedReference)
diff --git a/CIAO/DAnCE/Deployment/DAnCE_Core.mpc b/CIAO/DAnCE/Deployment/Deployment_Core.mpc
index d11f20e25af..5ba95dc8eb6 100644
--- a/CIAO/DAnCE/Deployment/DAnCE_Core.mpc
+++ b/CIAO/DAnCE/Deployment/Deployment_Core.mpc
@@ -1,7 +1,7 @@
// -*- MPC -*-
// $Id$
-project(Deployment_IDL) : install, ciaolib_with_idl, dance_output, valuetype, gen_ostream, ami, amh {
+project(Deployment_IDL) : ciaolib_with_idl, dance_output, valuetype, gen_ostream, ami, amh {
custom_only = 1
idlflags += -Wb,stub_export_macro=DEPLOYMENT_STUB_Export \
-Wb,stub_export_include=Deployment_stub_export.h \
@@ -13,6 +13,11 @@ project(Deployment_IDL) : install, ciaolib_with_idl, dance_output, valuetype, ge
idlflags += -SS -Sci
Deployment_Packaging_Data.idl
Deployment_PlanError.idl
+ Deployment_InvalidProperty.idl
+ Deployment_InvalidNodeExecParameter.idl
+ Deployment_InvalidComponentExecParameter.idl
+ Deployment_InvalidConnection.idl
+ Deployment_ResourceNotAvailable.idl
Deployment_Connection.idl
Deployment_StopError.idl
Deployment_StartError.idl
@@ -36,13 +41,9 @@ project(Deployment_IDL) : install, ciaolib_with_idl, dance_output, valuetype, ge
idlflags += -Ssi
Deployment_ResourceCommitmentManager.idl
}
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_ApplicationManager_IDL) : install, ciaolib_with_idl, dance_output, valuetype, gen_ostream, ami, amh {
+project(Deployment_ApplicationManager_IDL) : ciaolib_with_idl, dance_output, valuetype, gen_ostream, ami, amh {
custom_only = 1
idlflags += -Wb,stub_export_macro=DEPLOYMENT_APPLICATIONMANAGER_STUB_Export \
-Wb,stub_export_include=Deployment_ApplicationManager_stub_export.h \
@@ -54,13 +55,9 @@ project(Deployment_ApplicationManager_IDL) : install, ciaolib_with_idl, dance_ou
IDL_Files {
Deployment_ApplicationManager.idl
}
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_TargetManager_IDL) : install, ciaolib_with_idl, dance_output, valuetype, gen_ostream {
+project(Deployment_TargetManager_IDL) : ciaolib_with_idl, dance_output, valuetype, gen_ostream {
custom_only = 1
idlflags += -Wb,stub_export_macro=DEPLOYMENT_TARGETMANAGER_STUB_Export \
-Wb,stub_export_include=Deployment_TargetManager_stub_export.h \
@@ -71,12 +68,9 @@ project(Deployment_TargetManager_IDL) : install, ciaolib_with_idl, dance_output,
IDL_Files {
Deployment_TargetManager.idl
}
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_RepositoryManager_IDL) : install, ciaolib_with_idl, dance_output, valuetype, gen_ostream {
+project(Deployment_RepositoryManager_IDL) : ciaolib_with_idl, dance_output, valuetype, gen_ostream {
custom_only = 1
idlflags += -Wb,stub_export_macro=DEPLOYMENT_REPOSITORYMANAGER_STUB_Export \
-Wb,stub_export_include=Deployment_RepositoryManager_stub_export.h \
@@ -87,12 +81,9 @@ project(Deployment_RepositoryManager_IDL) : install, ciaolib_with_idl, dance_out
IDL_Files {
Deployment_RepositoryManager.idl
}
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_ExecutionManager_IDL) : install, ciaolib_with_idl, dance_output, valuetype, gen_ostream, amh {
+project(Deployment_ExecutionManager_IDL) : ciaolib_with_idl, dance_output, valuetype, gen_ostream, amh {
custom_only = 1
idlflags += -Wb,stub_export_macro=DEPLOYMENT_EXECUTIONMANAGER_STUB_Export \
-Wb,stub_export_include=Deployment_ExecutionManager_stub_export.h \
@@ -103,12 +94,9 @@ project(Deployment_ExecutionManager_IDL) : install, ciaolib_with_idl, dance_outp
IDL_Files {
Deployment_ExecutionManager.idl
}
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_DAM_IDL) : install, ciaolib_with_idl, dance_output, valuetype, gen_ostream, amh {
+project(Deployment_DAM_IDL) : ciaolib_with_idl, dance_output, valuetype, gen_ostream, amh {
custom_only = 1
idlflags += -Wb,stub_export_macro=DEPLOYMENT_DOMAINAPPLICATIONMANAGER_STUB_Export \
-Wb,stub_export_include=Deployment_DomainApplicationManager_stub_export.h \
@@ -119,12 +107,9 @@ project(Deployment_DAM_IDL) : install, ciaolib_with_idl, dance_output, valuetype
IDL_Files {
Deployment_DomainApplicationManager.idl
}
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_DomainApplication_IDL) : install, ciaolib_with_idl, dance_output, valuetype, gen_ostream, amh {
+project(Deployment_DomainApplication_IDL) : ciaolib_with_idl, dance_output, valuetype, gen_ostream, amh {
custom_only = 1
idlflags += -Wb,stub_export_macro=DEPLOYMENT_DOMAINAPPLICATION_STUB_Export \
-Wb,stub_export_include=Deployment_DomainApplication_stub_export.h \
@@ -135,12 +120,9 @@ project(Deployment_DomainApplication_IDL) : install, ciaolib_with_idl, dance_out
IDL_Files {
Deployment_DomainApplication.idl
}
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_NAM_IDL) : install, ciaolib_with_idl, dance_output, valuetype, gen_ostream, ami {
+project(Deployment_NAM_IDL) : ciaolib_with_idl, dance_output, valuetype, gen_ostream, ami {
custom_only = 1
idlflags += -Wb,stub_export_macro=DEPLOYMENT_NODEAPPLICATIONMANAGER_STUB_Export \
-Wb,stub_export_include=Deployment_NodeApplicationManager_stub_export.h \
@@ -151,12 +133,9 @@ project(Deployment_NAM_IDL) : install, ciaolib_with_idl, dance_output, valuetype
IDL_Files {
Deployment_NodeApplicationManager.idl
}
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_NodeManager_IDL) : install, ciaolib_with_idl, dance_output, valuetype, gen_ostream, ami {
+project(Deployment_NodeManager_IDL) : ciaolib_with_idl, dance_output, valuetype, gen_ostream, ami {
custom_only = 1
idlflags += -Wb,stub_export_macro=DEPLOYMENT_NODEMANAGER_STUB_Export \
-Wb,stub_export_include=Deployment_NodeManager_stub_export.h \
@@ -167,12 +146,9 @@ project(Deployment_NodeManager_IDL) : install, ciaolib_with_idl, dance_output, v
IDL_Files {
Deployment_NodeManager.idl
}
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_NodeApplication_IDL) : install, ciaolib_with_idl, dance_output, valuetype, gen_ostream {
+project(Deployment_NodeApplication_IDL) : ciaolib_with_idl, dance_output, valuetype, gen_ostream {
custom_only = 1
idlflags += -Wb,stub_export_macro=DEPLOYMENT_NODEAPPLICATION_STUB_Export \
-Wb,stub_export_include=Deployment_NodeApplication_stub_export.h \
@@ -183,14 +159,11 @@ project(Deployment_NodeApplication_IDL) : install, ciaolib_with_idl, dance_outpu
IDL_Files {
Deployment_NodeApplication.idl
}
- specific {
- install_dir = DAnCE/Deployment
- }
}
// Valuetype library must be linked for this project.
// Please don't remove.
-project(Deployment_stub) : install, ciaolib_with_idl, dance_output, valuetype, ifr_client, messaging, dance_lib, dance_logger, gen_ostream, ami, amh {
+project(Deployment_stub) : ciaolib_with_idl, dance_output, valuetype, ifr_client, messaging, dance_lib, dance_logger, gen_ostream, ami, amh {
sharedname = DAnCE_Deployment_stub
after += Deployment_IDL
@@ -214,33 +187,15 @@ project(Deployment_stub) : install, ciaolib_with_idl, dance_output, valuetype, i
Deployment_PlanErrorC.cpp
DeploymentC.cpp
Deployment_ResourceCommitmentManagerC.cpp
- }
- Header_Files {
- Deployment_stub_export.h
- Deployment_ApplicationC.h
- Deployment_BaseC.h
- DeploymentC.h
- Deployment_ConnectionC.h
- Deployment_DataC.h
- Deployment_DeploymentPlanC.h
- Deployment_Packaging_DataC.h
- Deployment_PlanErrorC.h
- Deployment_ResourceCommitmentManagerC.h
- Deployment_StartErrorC.h
- Deployment_StopErrorC.h
- Deployment_TargetDataC.h
- }
- Inline_Files {
- Deployment_ApplicationC.inl
- Deployment_ResourceCommitmentManagerC.inl
- Deployment_BaseC.inl
- }
- specific {
- install_dir = DAnCE/Deployment
+ Deployment_InvalidPropertyC.cpp
+ Deployment_InvalidNodeExecParameterC.cpp
+ Deployment_InvalidComponentExecParameterC.cpp
+ Deployment_InvalidConnectionC.cpp
+ Deployment_ResourceNotAvailableC.cpp
}
}
-project(Deployment_AM_stub) : install, dance_output, dance_deployment_stub, amh {
+project(Deployment_AM_stub) : dance_output, dance_deployment_stub, amh {
sharedname = DAnCE_ApplicationManager_stub
after += Deployment_ApplicationManager_IDL
dynamicflags = DEPLOYMENT_APPLICATIONMANAGER_STUB_BUILD_DLL
@@ -254,22 +209,9 @@ project(Deployment_AM_stub) : install, dance_output, dance_deployment_stub, amh
Source_Files {
Deployment_ApplicationManagerC.cpp
}
-
- Header_Files {
- Deployment_ApplicationManager_stub_export.h
- Deployment_ApplicationManagerC.h
- }
-
- Inline_Files {
- Deployment_ApplicationManagerC.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_AM_skel) : install, dance_output, dance_deployment_skel, dance_applicationmanager_stub, amh {
+project(Deployment_AM_skel) : dance_output, dance_deployment_skel, dance_applicationmanager_stub, amh {
sharedname = DAnCE_ApplicationManager_skel
after += Deployment_AM_stub
dynamicflags = DEPLOYMENT_APPLICATIONMANAGER_SKEL_BUILD_DLL
@@ -283,23 +225,10 @@ project(Deployment_AM_skel) : install, dance_output, dance_deployment_skel, danc
Source_Files {
Deployment_ApplicationManagerS.cpp
}
-
- Header_Files {
- Deployment_ApplicationManagerS.h
- Deployment_ApplicationManager_skel_export.h
- }
-
- Inline_Files {
- Deployment_ApplicationManagerS.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_DAM_stub) : install, dance_output, dance_applicationmanager_stub, amh {
+project(Deployment_DAM_stub) : dance_output, dance_applicationmanager_stub, amh {
sharedname = DAnCE_DomainApplicationManager_stub
after += Deployment_DAM_IDL
dynamicflags = DEPLOYMENT_DOMAINAPPLICATIONMANAGER_STUB_BUILD_DLL
@@ -313,22 +242,9 @@ project(Deployment_DAM_stub) : install, dance_output, dance_applicationmanager_s
Source_Files {
Deployment_DomainApplicationManagerC.cpp
}
-
- Header_Files {
- Deployment_DomainApplicationManager_stub_export.h
- Deployment_DomainApplicationManagerC.h
- }
-
- Inline_Files {
- Deployment_DomainApplicationManagerC.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_DAM_skel) : install, dance_output, dance_applicationmanager_skel, dance_domainapplicationmanager_stub, amh {
+project(Deployment_DAM_skel) : dance_output, dance_applicationmanager_skel, dance_domainapplicationmanager_stub, amh {
sharedname = DAnCE_DomainApplicationManager_skel
after += Deployment_DAM_stub
dynamicflags = DEPLOYMENT_DOMAINAPPLICATIONMANAGER_SKEL_BUILD_DLL
@@ -342,22 +258,9 @@ project(Deployment_DAM_skel) : install, dance_output, dance_applicationmanager_s
Source_Files {
Deployment_DomainApplicationManagerS.cpp
}
-
- Header_Files {
- Deployment_DomainApplicationManagerS.h
- Deployment_DomainApplicationManager_skel_export.h
- }
-
- Inline_Files {
- Deployment_DomainApplicationManagerS.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_ExecutionManager_stub) : install, dance_output, dance_deployment_stub, dance_domainapplicationmanager_stub, amh {
+project(Deployment_ExecutionManager_stub) : dance_output, dance_deployment_stub, dance_domainapplicationmanager_stub, amh {
sharedname = DAnCE_ExecutionManager_stub
after += Deployment_ExecutionManager_IDL
dynamicflags = DEPLOYMENT_EXECUTIONMANAGER_STUB_BUILD_DLL
@@ -371,22 +274,9 @@ project(Deployment_ExecutionManager_stub) : install, dance_output, dance_deploym
Source_Files {
Deployment_ExecutionManagerC.cpp
}
-
- Header_Files {
- Deployment_ExecutionManager_stub_export.h
- Deployment_ExecutionManagerC.h
- }
-
- Inline_Files {
- Deployment_ExecutionManagerC.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_ExecutionManager_skel) : install, dance_output, dance_deployment_skel, dance_executionmanager_stub, amh {
+project(Deployment_ExecutionManager_skel) : dance_output, dance_deployment_skel, dance_executionmanager_stub, amh {
sharedname = DAnCE_ExecutionManager_skel
after += Deployment_ExecutionManager_stub
dynamicflags = DEPLOYMENT_EXECUTIONMANAGER_SKEL_BUILD_DLL
@@ -400,22 +290,9 @@ project(Deployment_ExecutionManager_skel) : install, dance_output, dance_deploym
Source_Files {
Deployment_ExecutionManagerS.cpp
}
-
- Header_Files {
- Deployment_ExecutionManagerS.h
- Deployment_ExecutionManager_skel_export.h
- }
-
- Inline_Files {
- Deployment_ExecutionManagerS.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_DomainApplication_stub) : install, dance_output, dance_deployment_stub, amh {
+project(Deployment_DomainApplication_stub) : dance_output, dance_deployment_stub, amh {
sharedname = DAnCE_DomainApplication_stub
after += Deployment_DomainApplication_IDL
dynamicflags = DEPLOYMENT_DOMAINAPPLICATION_STUB_BUILD_DLL
@@ -429,22 +306,9 @@ project(Deployment_DomainApplication_stub) : install, dance_output, dance_deploy
Source_Files {
Deployment_DomainApplicationC.cpp
}
-
- Header_Files {
- Deployment_DomainApplicationC.h
- Deployment_DomainApplication_stub_export.h
- }
-
- Inline_Files {
- Deployment_DomainApplicationC.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_DomainApplication_skel) : install, dance_output, dance_deployment_skel, dance_domainapplication_stub, amh {
+project(Deployment_DomainApplication_skel) : dance_output, dance_deployment_skel, dance_domainapplication_stub, amh {
sharedname = DAnCE_DomainApplication_skel
after += Deployment_DomainApplication_stub
dynamicflags = DEPLOYMENT_DOMAINAPPLICATION_SKEL_BUILD_DLL
@@ -458,22 +322,9 @@ project(Deployment_DomainApplication_skel) : install, dance_output, dance_deploy
Source_Files {
Deployment_DomainApplicationS.cpp
}
-
- Header_Files {
- Deployment_DomainApplicationS.h
- Deployment_DomainApplication_skel_export.h
- }
-
- Inline_Files {
- Deployment_DomainApplicationS.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_NAM_stub) : install, dance_output, dance_applicationmanager_stub, ami {
+project(Deployment_NAM_stub) : dance_output, dance_applicationmanager_stub, ami {
sharedname = DAnCE_NodeApplicationManager_stub
after += Deployment_NAM_IDL
dynamicflags = DEPLOYMENT_NODEAPPLICATIONMANAGER_STUB_BUILD_DLL
@@ -487,22 +338,9 @@ project(Deployment_NAM_stub) : install, dance_output, dance_applicationmanager_s
Source_Files {
Deployment_NodeApplicationManagerC.cpp
}
-
- Header_Files {
- Deployment_NodeApplicationManager_stub_export.h
- Deployment_NodeApplicationManagerC.h
- }
-
- Inline_Files {
- Deployment_NodeApplicationManagerC.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_NAM_skel) : install, dance_output, dance_applicationmanager_skel, dance_nodeapplicationmanager_stub, ami {
+project(Deployment_NAM_skel) : dance_output, dance_applicationmanager_skel, dance_nodeapplicationmanager_stub, ami {
sharedname = DAnCE_NodeApplicationManager_skel
after += Deployment_NAM_stub
dynamicflags = DEPLOYMENT_NODEAPPLICATIONMANAGER_SKEL_BUILD_DLL
@@ -516,22 +354,9 @@ project(Deployment_NAM_skel) : install, dance_output, dance_applicationmanager_s
Source_Files {
Deployment_NodeApplicationManagerS.cpp
}
-
- Header_Files {
- Deployment_NodeApplicationManagerS.h
- Deployment_NodeApplicationManager_skel_export.h
- }
-
- Inline_Files {
- Deployment_NodeApplicationManagerS.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_NodeManager_stub) : install, dance_output, dance_deployment_stub, dance_nodeapplicationmanager_stub, dance_targetmanager_stub, ami {
+project(Deployment_NodeManager_stub) : dance_output, dance_deployment_stub, dance_nodeapplicationmanager_stub, dance_targetmanager_stub, ami {
sharedname = DAnCE_NodeManager_stub
after += Deployment_NodeManager_IDL
dynamicflags = DEPLOYMENT_NODEMANAGER_STUB_BUILD_DLL
@@ -545,22 +370,9 @@ project(Deployment_NodeManager_stub) : install, dance_output, dance_deployment_s
Source_Files {
Deployment_NodeManagerC.cpp
}
-
- Header_Files {
- Deployment_NodeManager_stub_export.h
- Deployment_NodeManagerC.h
- }
-
- Inline_Files {
- Deployment_NodeManagerC.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_NodeManager_skel) : install, dance_output, dance_deployment_skel, dance_nodemanager_stub, dance_nodeapplicationmanager_skel, ami {
+project(Deployment_NodeManager_skel) : dance_output, dance_deployment_skel, dance_nodemanager_stub, dance_nodeapplicationmanager_skel, ami {
sharedname = DAnCE_NodeManager_skel
after += Deployment_NodeManager_stub
dynamicflags = DEPLOYMENT_NODEMANAGER_SKEL_BUILD_DLL
@@ -574,22 +386,9 @@ project(Deployment_NodeManager_skel) : install, dance_output, dance_deployment_s
Source_Files {
Deployment_NodeManagerS.cpp
}
-
- Header_Files {
- Deployment_NodeManagerS.h
- Deployment_NodeManager_skel_export.h
- }
-
- Inline_Files {
- Deployment_NodeManagerS.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_TargetManager_stub) : install, dance_output, dance_deployment_stub {
+project(Deployment_TargetManager_stub) : dance_output, dance_deployment_stub {
sharedname = DAnCE_TargetManager_stub
after += Deployment_TargetManager_IDL
dynamicflags = DEPLOYMENT_TARGETMANAGER_STUB_BUILD_DLL
@@ -603,22 +402,9 @@ project(Deployment_TargetManager_stub) : install, dance_output, dance_deployment
Source_Files {
Deployment_TargetManagerC.cpp
}
-
- Header_Files {
- Deployment_TargetManagerC.h
- Deployment_TargetManager_stub_export.h
- }
-
- Inline_Files {
- Deployment_TargetManagerC.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_TargetManager_skel) : install, dance_output, dance_deployment_skel, dance_targetmanager_stub {
+project(Deployment_TargetManager_skel) : dance_output, dance_deployment_skel, dance_targetmanager_stub {
sharedname = DAnCE_TargetManager_skel
after += Deployment_TargetManager_stub
dynamicflags = DEPLOYMENT_TARGETMANAGER_SKEL_BUILD_DLL
@@ -632,18 +418,9 @@ project(Deployment_TargetManager_skel) : install, dance_output, dance_deployment
Source_Files {
Deployment_TargetManagerS.cpp
}
-
- Header_Files {
- Deployment_TargetManagerS.h
- Deployment_TargetManager_skel_export.h
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_RepositoryManager_stub) : install, dance_output, dance_deployment_stub {
+project(Deployment_RepositoryManager_stub) : dance_output, dance_deployment_stub {
sharedname = DAnCE_RepositoryManager_stub
after += Deployment_RepositoryManager_IDL
dynamicflags = DEPLOYMENT_REPOSITORYMANAGER_STUB_BUILD_DLL
@@ -657,22 +434,9 @@ project(Deployment_RepositoryManager_stub) : install, dance_output, dance_deploy
Source_Files {
Deployment_RepositoryManagerC.cpp
}
-
- Header_Files {
- Deployment_RepositoryManagerC.h
- Deployment_RepositoryManager_stub_export.h
- }
-
- Inline_Files {
- Deployment_RepositoryManagerC.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_RepositoryManager_skel) : install, dance_output, dance_deployment_skel, dance_repositorymanager_stub {
+project(Deployment_RepositoryManager_skel) : dance_output, dance_deployment_skel, dance_repositorymanager_stub {
sharedname = DAnCE_RepositoryManager_skel
after += Deployment_RepositoryManager_stub
dynamicflags = DEPLOYMENT_REPOSITORYMANAGER_SKEL_BUILD_DLL
@@ -686,22 +450,9 @@ project(Deployment_RepositoryManager_skel) : install, dance_output, dance_deploy
Source_Files {
Deployment_RepositoryManagerS.cpp
}
-
- Header_Files {
- Deployment_RepositoryManagerS.h
- Deployment_RepositoryManager_skel_export.h
- }
-
- Inline_Files {
- Deployment_RepositoryManagerS.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_NodeApplication_stub) : install, dance_output, dance_deployment_stub {
+project(Deployment_NodeApplication_stub) : dance_output, dance_deployment_stub {
sharedname = DAnCE_NodeApplication_stub
after += Deployment_NodeApplication_IDL
dynamicflags = DEPLOYMENT_NODEAPPLICATION_STUB_BUILD_DLL
@@ -715,22 +466,9 @@ project(Deployment_NodeApplication_stub) : install, dance_output, dance_deployme
Source_Files {
Deployment_NodeApplicationC.cpp
}
-
- Header_Files {
- Deployment_NodeApplication_stub_export.h
- Deployment_NodeApplicationC.h
- }
-
- Inline_Files {
- Deployment_NodeApplicationC.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
-project(Deployment_NodeApplication_skel) : install, dance_output, dance_deployment_skel, dance_nodeapplication_stub {
+project(Deployment_NodeApplication_skel) : dance_output, dance_deployment_skel, dance_nodeapplication_stub {
sharedname = DAnCE_NodeApplication_skel
after += Deployment_NodeApplication_stub
dynamicflags = DEPLOYMENT_NODEAPPLICATION_SKEL_BUILD_DLL
@@ -744,24 +482,11 @@ project(Deployment_NodeApplication_skel) : install, dance_output, dance_deployme
Source_Files {
Deployment_NodeApplicationS.cpp
}
-
- Header_Files {
- Deployment_NodeApplicationS.h
- Deployment_NodeApplication_skel_export.h
- }
-
- Inline_Files {
- Deployment_NodeApplicationS.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
// CIAO_DnC_Client library must be linked for this project.
// Please don't remove. dance_deployment_stub,
-project(Deployment_skel) : install, dance_deployment_stub, dance_output, ciaolib_with_idl, portableserver, valuetype, \
+project(Deployment_skel) : dance_deployment_stub, dance_output, ciaolib_with_idl, portableserver, valuetype, \
ifr_client, naming, dance_lib, dance_logger, messaging, gen_ostream, ami, amh {
sharedname = DAnCE_Deployment_skel
dynamicflags = DEPLOYMENT_SKEL_BUILD_DLL
@@ -778,27 +503,4 @@ project(Deployment_skel) : install, dance_deployment_stub, dance_output, ciaolib
Deployment_ResourceCommitmentManagerS.cpp
}
- Header_Files {
- Deployment_ApplicationS.h
- Deployment_BaseS.h
- Deployment_ConnectionS.h
- Deployment_DataS.h
- Deployment_DeploymentPlanS.h
- Deployment_Packaging_DataS.h
- Deployment_PlanErrorS.h
- Deployment_ResourceCommitmentManagerS.h
- DeploymentS.h
- Deployment_skel_export.h
- Deployment_StartErrorS.h
- Deployment_StopErrorS.h
- Deployment_TargetDataS.h
- }
-
- Inline_Files {
- Deployment_ApplicationS.inl
- }
-
- specific {
- install_dir = DAnCE/Deployment
- }
}
diff --git a/CIAO/DAnCE/Deployment/Deployment_InvalidComponentExecParameter.idl b/CIAO/DAnCE/Deployment/Deployment_InvalidComponentExecParameter.idl
new file mode 100644
index 00000000000..d8ba9724259
--- /dev/null
+++ b/CIAO/DAnCE/Deployment/Deployment_InvalidComponentExecParameter.idl
@@ -0,0 +1,13 @@
+// $Id$
+
+#ifndef DEPLOYMENT_INVALIDCOMPONENTEXECPARAMETER_IDL
+#define DEPLOYMENT_INVALIDCOMPONENTEXECPARAMETER_IDL
+
+module Deployment {
+ exception InvalidComponentExecParameter {
+ string name;
+ string reason;
+ };
+};
+
+#endif
diff --git a/CIAO/DAnCE/Deployment/Deployment_InvalidConnection.idl b/CIAO/DAnCE/Deployment/Deployment_InvalidConnection.idl
new file mode 100644
index 00000000000..16b68012339
--- /dev/null
+++ b/CIAO/DAnCE/Deployment/Deployment_InvalidConnection.idl
@@ -0,0 +1,13 @@
+// $Id$
+
+#ifndef DEPLOYMENT_INVALIDCONNECTION_IDL
+#define DEPLOYMENT_INVALIDCONNECTION_IDL
+
+module Deployment {
+ exception InvalidConnection {
+ string name;
+ string reason;
+ };
+};
+
+#endif
diff --git a/CIAO/DAnCE/Deployment/Deployment_InvalidNodeExecParameter.idl b/CIAO/DAnCE/Deployment/Deployment_InvalidNodeExecParameter.idl
new file mode 100644
index 00000000000..255f5dbff21
--- /dev/null
+++ b/CIAO/DAnCE/Deployment/Deployment_InvalidNodeExecParameter.idl
@@ -0,0 +1,13 @@
+// $Id$
+
+#ifndef DEPLOYMENT_INVALIDNODEEXECPARAMETER_IDL
+#define DEPLOYMENT_INVALIDNODEEXECPARAMETER_IDL
+
+module Deployment {
+ exception InvalidNodeExecParameter {
+ string name;
+ string reason;
+ };
+};
+
+#endif
diff --git a/CIAO/DAnCE/Deployment/Deployment_InvalidProperty.idl b/CIAO/DAnCE/Deployment/Deployment_InvalidProperty.idl
new file mode 100644
index 00000000000..c75adf9360c
--- /dev/null
+++ b/CIAO/DAnCE/Deployment/Deployment_InvalidProperty.idl
@@ -0,0 +1,13 @@
+// $Id$
+
+#ifndef DEPLOYMENT_INVALIDPROPERTY_IDL
+#define DEPLOYMENT_INVALIDPROPERTY_IDL
+
+module Deployment {
+ exception InvalidProperty {
+ string name;
+ string reason;
+ };
+};
+
+#endif
diff --git a/CIAO/DAnCE/Deployment/Deployment_ResourceNotAvailable.idl b/CIAO/DAnCE/Deployment/Deployment_ResourceNotAvailable.idl
new file mode 100644
index 00000000000..a98a47f122b
--- /dev/null
+++ b/CIAO/DAnCE/Deployment/Deployment_ResourceNotAvailable.idl
@@ -0,0 +1,16 @@
+// $Id$
+
+#ifndef DEPLOYMENT_RESOURCENOTAVAILABLE_IDL
+#define DEPLOYMENT_RESOURCENOTAVAILABLE_IDL
+
+module Deployment {
+ exception ResourceNotAvailable {
+ string name;
+ string resourceType;
+ string propertyName;
+ string elementName;
+ string resourceName;
+ };
+};
+
+#endif
diff --git a/CIAO/DAnCE/LocalityManager/Daemon/Deployment_Interceptors.cpp b/CIAO/DAnCE/LocalityManager/Daemon/Deployment_Interceptors.cpp
new file mode 100644
index 00000000000..0a2869d6134
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Daemon/Deployment_Interceptors.cpp
@@ -0,0 +1,120 @@
+// $Id$
+
+#include "Deployment_Interceptors.h"
+#include "Logger/Log_Macros.h"
+#include "Name_Utilities.h"
+#include "DAnCE/DAnCE_PropertiesC.h"
+#include "DAnCE/DAnCE_Utility.h"
+
+namespace DAnCE
+{
+ // Implementation skeleton constructor
+ DAnCE_StoreReferences_i::DAnCE_StoreReferences_i (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+
+ {
+ try
+ {
+ CORBA::Object_var obj = orb->resolve_initial_references ("NameService");
+ ctx_ = CosNaming::NamingContext::_narrow (obj.in ());
+ }
+ catch (...)
+ {
+ // swallow
+ }
+ }
+
+ // Implementation skeleton destructor
+ DAnCE_StoreReferences_i::~DAnCE_StoreReferences_i (void)
+ {
+ }
+
+ void DAnCE_StoreReferences_i::instance_pre_install (::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef)
+ {
+ // no-op
+ }
+
+ void DAnCE_StoreReferences_i::instance_post_install (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instance_index,
+ const ::CORBA::Any & instance_reference,
+ const ::CORBA::Any & exception_thrown)
+ {
+ const ::Deployment::InstanceDeploymentDescription &inst =
+ plan.instance[instance_index];
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO "DAnCE_StoreReferences_i::instance_post_install - "
+ "Interceptor post install for instance %C\n",
+ plan.instance[instance_index].name.in ()));
+
+ for (CORBA::ULong i = 0;
+ i < inst.configProperty.length ();
+ ++i)
+ {
+ if (ACE_OS::strcmp (inst.configProperty[i].name.in (),
+ DAnCE::REGISTER_NAMING) == 0)
+ {
+ CORBA::Object_var obj;
+
+ if (!(instance_reference >>= CORBA::Any::to_object (obj)))
+ {
+ DANCE_ERROR (1, (LM_WARNING, DLINFO
+ "DAnCE_StoreReferences_i::instance_post_install - "
+ "Unable to extract instance reference from Any\n"));
+ }
+
+ const char * name;
+ inst.configProperty[i].value >>= CORBA::Any::to_string (name, 0);
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO "DAnCE_StoreReferences_i::instance_post_install - "
+ "Registering name %C for instance %C\n",
+ name,
+ plan.instance[instance_index].name.in ()));
+
+ Name_Utilities::bind_object (name,
+ obj.in (),
+ this->ctx_.in ());
+ }
+ else if (ACE_OS::strcmp (inst.configProperty[i].name.in (),
+ DAnCE::INSTANCE_IOR_FILE) == 0)
+ {
+ CORBA::Object_var obj;
+ instance_reference >>= CORBA::Any::to_object (obj);
+
+ const char * name;
+ inst.configProperty[i].value >>= CORBA::Any::to_string (name, 0);
+
+ ACE_CString ior = this->orb_->object_to_string (obj.in ());
+
+ DAnCE::Utility::write_IOR (name, ior.c_str ());
+ }
+ }
+ }
+
+ // Implementation skeleton constructor
+ DAnCE_ReferenceLookup_i::DAnCE_ReferenceLookup_i (void)
+ {
+ }
+
+ // Implementation skeleton destructor
+ DAnCE_ReferenceLookup_i::~DAnCE_ReferenceLookup_i (void)
+ {
+ }
+
+ void
+ DAnCE_ReferenceLookup_i::instance_pre_connect (::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connection_index,
+ ::CORBA::Any & provided_reference)
+ {
+ // Add your implementation here
+ }
+
+ void DAnCE_ReferenceLookup_i::instance_post_connect (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ const ::CORBA::Any & exceptionThrown)
+ {
+ // Add your implementation here
+ }
+
+
+}
diff --git a/CIAO/DAnCE/LocalityManager/Daemon/Deployment_Interceptors.h b/CIAO/DAnCE/LocalityManager/Daemon/Deployment_Interceptors.h
new file mode 100644
index 00000000000..78f321b8693
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Daemon/Deployment_Interceptors.h
@@ -0,0 +1,72 @@
+// $Id$
+/**
+ * @file Deployment_Interceptors.h
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Initial deployment interceptors for use in DAnCE.
+ */
+
+#ifndef DEPLOYMENT_INTERCEPTORS_H
+#define DEPLOYMENT_INTERCEPTORS_H
+
+#include "DAnCE/DAnCE_DeploymentInterceptorsC.h"
+#include "orbsvcs/CosNamingC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/LocalObject.h"
+
+namespace DAnCE
+{
+ class DAnCE_StoreReferences_i
+ : public virtual DAnCE::InstanceInstallation,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ // Constructor
+
+ DAnCE_StoreReferences_i (CORBA::ORB_ptr orb);
+
+ // Destructor
+ virtual ~DAnCE_StoreReferences_i (void);
+
+ virtual
+ void instance_pre_install (::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef);
+
+ virtual
+ void instance_post_install (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instance_index,
+ const ::CORBA::Any & instance_reference,
+ const ::CORBA::Any & exception_thrown);
+
+ CORBA::ORB_var orb_;
+ private:
+ CosNaming::NamingContext_var ctx_;
+ };
+
+ class DANCE_STUB_Export DAnCE_ReferenceLookup_i
+ : public virtual DAnCE::InstanceConnection,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ // Constructor
+ DAnCE_ReferenceLookup_i (void);
+
+ // Destructor
+ virtual ~DAnCE_ReferenceLookup_i (void);
+
+ virtual
+ void instance_pre_connect (::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connection_index,
+ ::CORBA::Any & provided_reference);
+
+ virtual
+ void instance_post_connect (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ const ::CORBA::Any & exceptionThrown);
+ };
+}
+#endif
diff --git a/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager.cpp b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager.cpp
new file mode 100644
index 00000000000..b86fee16b59
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager.cpp
@@ -0,0 +1,47 @@
+/**
+ * @file LocalityManager.cpp
+ * @author William R. Otte
+ * $Id$
+ *
+ * Implementation and main for the DAnCE LocalityManager
+ */
+
+#include "Locality_Manager_Task.h"
+#include "DAnCE/Logger/Log_Macros.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR **argv)
+{
+ // Tracing disabled by default
+ DANCE_DISABLE_TRACE ();
+
+ DANCE_TRACE ("LocalityManager::ACE_TMAIN");
+
+ int retval = 0;
+ try
+ {
+ DAnCE::LocalityManager_Task cs (argc, argv);
+ cs.run ();
+
+ // Wait for the threads to exit.
+ //ACE_Thread_Manager::instance ()->wait ();
+ }
+ catch (const DAnCE::LocalityManager_Task::Error &e)
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO "LocalityManager main: Caught ComponentServer exception: %C\n",
+ e.err_.c_str ()));
+ retval = -1;
+ }
+ catch (const CORBA::Exception& ex)
+ {
+ ex._tao_print_exception ("LocalityManager main: Caught corba exception:");
+ retval = -1;
+ }
+ catch (...)
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO "LocalityManager main: Caught unknown exception.\n"));
+ retval = -1;
+ }
+
+ return retval;
+}
+
diff --git a/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager.mpc b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager.mpc
new file mode 100644
index 00000000000..df052df3d29
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager.mpc
@@ -0,0 +1,32 @@
+// $Id$
+
+project (DAnCE_LocalityManager_Impl) : dance_lib, dance_output, naming, \
+ dance_skel, dance_logger {
+
+ dynamicflags = LOCALITY_MANAGER_IMPL_BUILD_DLL
+
+ includes += $(CIAO_ROOT)
+ libs += CIAO_Deployment_Handlers
+ after += CIAO_Deployment_Handlers
+ Source_Files {
+ Locality_Manager_Impl.cpp
+ Deployment_Interceptors.cpp
+ Name_Utilities.h
+ }
+
+ Header_Files {
+ Locality_Manager_Impl.h
+ Locality_Manager_Impl_Export.h
+ }
+}
+
+project (DAnCE_LocalityManager_Exec) : dance_exe, dance_exe, dance_output, \
+ dance_locality_manager, dance_logger, ciao_logger {
+ exename = dance_locality_manager
+ libs += CIAO_Deployment_Handlers
+ after += CIAO_Deployment_Handlers
+ Source_Files {
+ Locality_Manager_Task.cpp
+ Locality_Manager.cpp
+ }
+}
diff --git a/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Impl.cpp b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Impl.cpp
new file mode 100644
index 00000000000..e0f373fe4a3
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Impl.cpp
@@ -0,0 +1,418 @@
+// -*- C++ -*-
+// $Id$
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1579
+
+#include "Locality_Manager_Impl.h"
+#include "Logger/Log_Macros.h"
+
+
+/*
+ * CIAO Instance handlers
+ * @TODO: Needs to be replaced by dynamic provisioning system.
+ */
+#include "ciao/Deployment/Handlers/Container_Handler.h"
+#include "ciao/Deployment/Handlers/Component_Handler.h"
+#include "ciao/Deployment/Handlers/Home_Handler.h"
+#include "ciao/Deployment/Handlers/Homed_Component_Handler.h"
+#include "Deployment_Interceptors.h"
+//
+
+namespace DAnCE
+{
+ // Implementation skeleton constructor
+ LocalityManager_i::LocalityManager_i (const ACE_TString &uuid,
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa)
+ : uuid_ (uuid),
+ orb_ (CORBA::ORB::_duplicate (orb)),
+ poa_ (PortableServer::POA::_duplicate (poa))
+ {
+ DANCE_TRACE ("LocalityManager_i::LocalityManager_i");
+ }
+
+ // Implementation skeleton destructor
+ LocalityManager_i::~LocalityManager_i (void)
+ {
+ DANCE_TRACE ("LocalityManager_i::~LocalityManager_i");
+ }
+
+ void
+ LocalityManager_i::init (Deployment::Properties *)
+ {
+ DANCE_TRACE ("LocalityManager_i::init");
+
+ // Initialize the CIAO instance handlers
+ ::DAnCE::InstanceDeploymentHandler_ptr tmp;
+
+ DAnCE::Utility::PROPERTY_MAP props;
+
+ ACE_NEW_THROW_EX (tmp,
+ CIAO::Container_Handler_i (props,
+ this->orb_,
+ this->poa_),
+ CORBA::NO_MEMORY ());
+
+ this->instance_handlers_[tmp->instance_type ()] = Handler (tmp);
+ this->handler_order_.push_back (tmp->instance_type ());
+
+ ACE_NEW_THROW_EX (tmp,
+ CIAO::Home_Handler_i,
+ CORBA::NO_MEMORY ());
+
+ this->instance_handlers_[tmp->instance_type ()] = Handler (tmp);
+ this->handler_order_.push_back (tmp->instance_type ());
+
+ ACE_NEW_THROW_EX (tmp,
+ CIAO::Component_Handler_i (),
+ CORBA::NO_MEMORY ());
+
+ this->instance_handlers_[tmp->instance_type ()] = Handler (tmp);
+ this->handler_order_.push_back (tmp->instance_type ());
+
+ ACE_NEW_THROW_EX (tmp,
+ CIAO::Homed_Component_Handler_i (),
+ CORBA::NO_MEMORY ());
+
+ this->instance_handlers_[tmp->instance_type ()] = Handler (tmp);
+ this->handler_order_.push_back (tmp->instance_type ());
+
+ ACE_NEW_THROW_EX (this->ii_interceptor_,
+ DAnCE_StoreReferences_i (this->orb_.in ()),
+ CORBA::NO_MEMORY ());
+ }
+
+ ::Deployment::Properties *
+ LocalityManager_i::configuration (void)
+ {
+ DANCE_TRACE ("LocalityManager_i::configuration");
+ throw CORBA::NO_IMPLEMENT ();
+ }
+
+ ::Deployment::ApplicationManager_ptr
+ LocalityManager_i::preparePlan (const ::Deployment::DeploymentPlan & plan,
+ ::Deployment::ResourceCommitmentManager_ptr)
+ {
+ DANCE_TRACE ("LocalityManager_i::preparePlan");
+
+ this->plan_ = plan;
+
+ // populate the impl_type_table.
+ for (CORBA::ULong i = 0;
+ i < plan_.instance.length ();
+ ++i)
+ {
+ CORBA::ULong implRef = plan.instance[i].implementationRef;
+
+ const char *instance_type =
+ Utility::get_instance_type (plan.implementation[implRef].execParameter);
+
+ instance_handlers_[instance_type].instances_.push_back (i);
+ }
+
+ return this->_this ();
+ // Add your implementation here
+ }
+
+ ::Deployment::Application_ptr
+ LocalityManager_i::startLaunch (const ::Deployment::Properties &,
+ ::Deployment::Connections_out providedReference)
+ {
+ DANCE_TRACE ("LocalityManager_i::startLaunch");
+
+
+ for (HANDLER_ORDER::const_iterator i = this->handler_order_.begin ();
+ i != this->handler_order_.end ();
+ ++i)
+ {
+ DANCE_DEBUG (8, (LM_TRACE, DLINFO
+ "LocalityManager_i::startLaunch - "
+ "Starting installation of %C type instances\n",
+ i->c_str ()));
+
+ ::DAnCE::InstanceDeploymentHandler_ptr handler =
+ this->instance_handlers_[*i].handler_;
+ INSTANCE_LIST &inst_list = this->instance_handlers_[*i].instances_;
+
+ for (INSTANCE_LIST::const_iterator j = inst_list.begin ();
+ j != inst_list.end ();
+ ++j)
+ {
+ DANCE_DEBUG (7, (LM_TRACE, DLINFO
+ "LocalityManager_i::startLaunch - "
+ "Starting installation of instance %C\n",
+ this->plan_.instance[*j].name.in ()));
+
+
+ this->ii_interceptor_->instance_pre_install (this->plan_,
+ *j);
+
+ CORBA::Any_var reference;
+ handler->install_instance (this->plan_,
+ *j,
+ reference.out ());
+
+ CORBA::Any exception;
+
+ this->ii_interceptor_->instance_post_install (this->plan_,
+ *j,
+ reference.in (),
+ exception);
+ this->instance_references_[*j] = reference._retn ();
+
+
+ // @@ todo: post-interceptor
+ }
+ }
+
+ ::Deployment::Connections *conn_cmp;
+
+ ACE_NEW_THROW_EX (conn_cmp,
+ ::Deployment::Connections (this->plan_.connection.length ()),
+ CORBA::NO_MEMORY ());
+
+ CORBA::ULong pos (0);
+
+ for (CORBA::ULong i = 0;
+ i < this->plan_.connection.length ();
+ ++i)
+ {
+ const ::Deployment::PlanConnectionDescription &conn =
+ this->plan_.connection[i];
+ for (CORBA::ULong j = 0;
+ j != conn.internalEndpoint.length ();
+ ++j)
+ {
+ if (conn.internalEndpoint[j].provider)
+ {
+ CORBA::ULong instRef =
+ conn.internalEndpoint[j].instanceRef;
+ CORBA::ULong implRef =
+ this->plan_.instance[instRef].implementationRef;
+
+ const char *inst_type =
+ Utility::get_instance_type (this->plan_.implementation[implRef].execParameter);
+
+ CORBA::Any_var ref;
+
+ this->instance_handlers_[inst_type].handler_->
+ provide_endpoint_reference (this->plan_,
+ i,
+ ref.out ());
+
+ CORBA::Object_var obj_ref;
+
+ ref >>= CORBA::Any::to_object (obj_ref);
+ conn_cmp->length (pos + 1);
+ (*conn_cmp)[pos].name = conn.name.in ();
+ (*conn_cmp)[pos].endpoint.length (1);
+ (*conn_cmp)[pos].endpoint[0] = obj_ref;
+ ++pos;
+ }
+ }
+ }
+
+
+ providedReference = conn_cmp;
+
+ return this->_this ();
+ }
+
+ void
+ LocalityManager_i::finishLaunch (const ::Deployment::Connections & providedReference,
+ ::CORBA::Boolean start)
+ {
+ DANCE_TRACE ("LocalityManager_i::finishLaunch");
+ // Add your implementation here
+
+ typedef std::map < std::string, CORBA::ULong > ConnMap;
+ ConnMap conns;
+
+ DANCE_DEBUG (6, (LM_TRACE, DLINFO
+ "LocalityManager_i::finishLaunch - "
+ "Starting finsihLaunch, received %u references, "
+ "have %u connections\n",
+ providedReference.length (),
+ this->plan_.connection.length ()
+ ));
+
+ for (CORBA::ULong i = 0; i < this->plan_.connection.length (); ++i)
+ {
+ conns[this->plan_.connection[i].name.in ()] = i;
+ }
+
+ for (CORBA::ULong i = 0; i < providedReference.length (); ++i)
+ {
+ const char * name = providedReference[i].name.in ();
+ ConnMap::const_iterator conn_ref = conns.find (name);
+
+ if (conn_ref == conns.end ())
+ continue;
+
+ CORBA::ULong j (0);
+
+ const ::Deployment::PlanConnectionDescription &conn =
+ this->plan_.connection[conn_ref->second];
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "LocalityManager_i::finishLaunch - "
+ "Connection <%C> has %u endpoints\n",
+ conn.name.in (),
+ conn.internalEndpoint.length ()));
+
+ if (conn.internalEndpoint.length () == 2)
+ {
+ if (!conn.internalEndpoint[1].provider)
+ j = 1;
+ }
+ else if (conn.internalEndpoint[0].provider &&
+ conn.externalReference.length () == 0)
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "LocalityManager_i::finishLaunch - "
+ "Skipping connection <%C>\n",
+ conn.name.in ()));
+ continue;
+ }
+
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO
+ "LocalityManager_i::finishLaunch - "
+ "Starting connection <%C>\n",
+ name));
+
+ CORBA::Any reference;
+
+ reference <<= providedReference[i].endpoint[0];
+
+ CORBA::ULong instRef =
+ conn.internalEndpoint[j].instanceRef;
+ CORBA::ULong implRef =
+ this->plan_.instance[instRef].implementationRef;
+
+ const char *inst_type =
+ Utility::get_instance_type (this->plan_.implementation[implRef].execParameter);
+
+ // @@ placeholder for pre_connect interceptor
+ this->instance_handlers_[inst_type].handler_->
+ connect_instance (this->plan_,
+ conn_ref->second,
+ reference);
+ // @@ placeholder for post_connect interceptor
+ }
+
+
+ for (HANDLER_ORDER::const_iterator i = this->handler_order_.begin ();
+ i != this->handler_order_.end ();
+ ++i)
+ {
+ ::DAnCE::InstanceDeploymentHandler_ptr handler =
+ this->instance_handlers_[*i].handler_;
+ INSTANCE_LIST &inst_list = this->instance_handlers_[*i].instances_;
+
+ for (INSTANCE_LIST::const_iterator i = inst_list.begin ();
+ i != inst_list.end ();
+ ++i)
+ {
+ CORBA::Any_var reference;
+ handler->instance_configured (this->plan_,
+ *i);
+ }
+ }
+
+ if (start)
+ this->start ();
+ }
+
+ void
+ LocalityManager_i::start (void)
+ {
+ DANCE_TRACE ("LocalityManager_i::start");
+
+ for (HANDLER_ORDER::const_iterator i = this->handler_order_.begin ();
+ i != this->handler_order_.end ();
+ ++i)
+ {
+ ::DAnCE::InstanceDeploymentHandler_ptr handler =
+ this->instance_handlers_[*i].handler_;
+ INSTANCE_LIST &inst_list = this->instance_handlers_[*i].instances_;
+
+ for (INSTANCE_LIST::const_iterator i = inst_list.begin ();
+ i != inst_list.end ();
+ ++i)
+ {
+ CORBA::Any_var reference;
+ handler->activate_instance (this->plan_,
+ *i,
+ reference.in ());
+ }
+ }
+ }
+
+ void
+ LocalityManager_i::destroyApplication (::Deployment::Application_ptr)
+ {
+ DANCE_TRACE ("LocalityManager_i::destroyApplication");
+
+ for (HANDLER_ORDER::const_reverse_iterator i = this->handler_order_.rbegin ();
+ i != this->handler_order_.rend ();
+ ++i)
+ {
+ ::DAnCE::InstanceDeploymentHandler_ptr handler =
+ this->instance_handlers_[*i].handler_;
+ INSTANCE_LIST &inst_list = this->instance_handlers_[*i].instances_;
+
+ for (INSTANCE_LIST::const_iterator i = inst_list.begin ();
+ i != inst_list.end ();
+ ++i)
+ {
+ CORBA::Any_var reference;
+ handler->passivate_instance (this->plan_,
+ *i,
+ reference.in ());
+ }
+ }
+
+ for (HANDLER_ORDER::const_reverse_iterator i = this->handler_order_.rbegin ();
+ i != this->handler_order_.rend ();
+ ++i)
+ {
+ ::DAnCE::InstanceDeploymentHandler_ptr handler =
+ this->instance_handlers_[*i].handler_;
+ INSTANCE_LIST &inst_list = this->instance_handlers_[*i].instances_;
+
+ for (INSTANCE_LIST::const_iterator i = inst_list.begin ();
+ i != inst_list.end ();
+ ++i)
+ {
+ CORBA::Any_var reference;
+ handler->remove_instance (this->plan_,
+ *i,
+ reference.in ());
+ }
+ }
+ // Add your implementation here
+ }
+
+
+ void
+ LocalityManager_i::destroyManager (::Deployment::ApplicationManager_ptr)
+ {
+ DANCE_TRACE ("LocalityManager_i::destroyManager");
+ // Add your implementation here
+ }
+
+
+ void
+ LocalityManager_i::shutdown (void)
+ {
+ DANCE_TRACE ("LocalityManager_i::shutdown");
+
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO
+ "DAnCE LocalityManager shutdown request received for UUID <%C>\n",
+ uuid_.c_str ()));
+
+ this->orb_->shutdown ();
+ // Add your implementation here
+ }
+}
diff --git a/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Impl.h b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Impl.h
new file mode 100644
index 00000000000..aa1ae6d02a5
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Impl.h
@@ -0,0 +1,111 @@
+// -*- C++ -*-
+// $Id$
+
+/**
+ * @file DAnCE_LocalityManager_impl.h
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ **/
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1521
+
+#ifndef DANCE_LOCALITYMANAGERI_PDD6RP_H_
+#define DANCE_LOCALITYMANAGERI_PDD6RP_H_
+
+#include "DAnCE/DAnCE_LocalityManagerS.h"
+#include "DAnCE/DAnCE_DeploymentInterceptorsC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/LocalObject.h"
+
+
+#include "LocalityManager/Daemon/Locality_Manager_Impl_Export.h"
+#include <map>
+#include <vector>
+#include <list>
+#include <string>
+
+namespace DAnCE
+{
+
+ class Locality_Manager_Impl_Export LocalityManager_i
+ : public virtual POA_DAnCE::LocalityManager
+ {
+ public:
+ // Constructor
+ LocalityManager_i (const ACE_TString &uuid,
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa);
+
+ void init (Deployment::Properties *prop);
+ // Destructor
+ virtual ~LocalityManager_i (void);
+
+ virtual
+ ::Deployment::Properties * configuration (void);
+
+ virtual
+ ::Deployment::ApplicationManager_ptr preparePlan (
+ const ::Deployment::DeploymentPlan & plan,
+ ::Deployment::ResourceCommitmentManager_ptr resourceCommitment);
+
+ virtual
+ void destroyManager (::Deployment::ApplicationManager_ptr manager);
+
+ virtual
+ void shutdown (void);
+
+ virtual
+ void finishLaunch (const ::Deployment::Connections & providedReference,
+ ::CORBA::Boolean start);
+
+ virtual
+ void start (void);
+
+ virtual
+ ::Deployment::Application_ptr startLaunch (const ::Deployment::Properties & configProperty,
+ ::Deployment::Connections_out providedReference);
+
+ virtual
+ void destroyApplication (::Deployment::Application_ptr app);
+
+ private:
+ ACE_TString uuid_;
+ CORBA::ORB_var orb_;
+ PortableServer::POA_var poa_;
+
+ typedef std::list< CORBA::ULong > INSTANCE_LIST;
+
+ struct Handler
+ {
+ Handler (void) {};
+ Handler (::DAnCE::InstanceDeploymentHandler_ptr h)
+ : handler_ (h) {};
+
+ ::DAnCE::InstanceDeploymentHandler_var handler_;
+ INSTANCE_LIST instances_;
+ };
+
+ typedef std::map <std::string,
+ Handler> HANDLER_TABLE;
+
+ HANDLER_TABLE instance_handlers_;
+
+ typedef std::vector< std::string > HANDLER_ORDER;
+
+ HANDLER_ORDER handler_order_;
+
+ typedef std::map < CORBA::ULong, CORBA::Any_var > REFERENCE_MAP;
+
+ REFERENCE_MAP instance_references_;
+
+ ::Deployment::DeploymentPlan plan_;
+
+ ::DAnCE::InstanceInstallation_var ii_interceptor_;
+ };
+
+}
+#endif /* DANCE_LOCALITYMANAGERI_H_ */
diff --git a/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Impl_Export.h b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Impl_Export.h
new file mode 100644
index 00000000000..42f664a2c36
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Impl_Export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl Locality_Manager_Impl
+// ------------------------------
+#ifndef LOCALITY_MANAGER_IMPL_EXPORT_H
+#define LOCALITY_MANAGER_IMPL_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (LOCALITY_MANAGER_IMPL_HAS_DLL)
+# define LOCALITY_MANAGER_IMPL_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && LOCALITY_MANAGER_IMPL_HAS_DLL */
+
+#if !defined (LOCALITY_MANAGER_IMPL_HAS_DLL)
+# define LOCALITY_MANAGER_IMPL_HAS_DLL 1
+#endif /* ! LOCALITY_MANAGER_IMPL_HAS_DLL */
+
+#if defined (LOCALITY_MANAGER_IMPL_HAS_DLL) && (LOCALITY_MANAGER_IMPL_HAS_DLL == 1)
+# if defined (LOCALITY_MANAGER_IMPL_BUILD_DLL)
+# define Locality_Manager_Impl_Export ACE_Proper_Export_Flag
+# define LOCALITY_MANAGER_IMPL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define LOCALITY_MANAGER_IMPL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* LOCALITY_MANAGER_IMPL_BUILD_DLL */
+# define Locality_Manager_Impl_Export ACE_Proper_Import_Flag
+# define LOCALITY_MANAGER_IMPL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define LOCALITY_MANAGER_IMPL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* LOCALITY_MANAGER_IMPL_BUILD_DLL */
+#else /* LOCALITY_MANAGER_IMPL_HAS_DLL == 1 */
+# define Locality_Manager_Impl_Export
+# define LOCALITY_MANAGER_IMPL_SINGLETON_DECLARATION(T)
+# define LOCALITY_MANAGER_IMPL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* LOCALITY_MANAGER_IMPL_HAS_DLL == 1 */
+
+// Set LOCALITY_MANAGER_IMPL_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (LOCALITY_MANAGER_IMPL_NTRACE)
+# if (ACE_NTRACE == 1)
+# define LOCALITY_MANAGER_IMPL_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define LOCALITY_MANAGER_IMPL_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !LOCALITY_MANAGER_IMPL_NTRACE */
+
+#if (LOCALITY_MANAGER_IMPL_NTRACE == 1)
+# define LOCALITY_MANAGER_IMPL_TRACE(X)
+#else /* (LOCALITY_MANAGER_IMPL_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define LOCALITY_MANAGER_IMPL_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (LOCALITY_MANAGER_IMPL_NTRACE == 1) */
+
+#endif /* LOCALITY_MANAGER_IMPL_EXPORT_H */
+
+// End of auto generated file.
diff --git a/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Task.cpp b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Task.cpp
new file mode 100644
index 00000000000..7504983d7ea
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Task.cpp
@@ -0,0 +1,314 @@
+/**
+ * @file LocalityManager_Task.cpp
+ * @author William R. Otte
+ * $Id$
+ *
+ * Implementation and main for LocalityManager.
+ */
+
+#include "Locality_Manager_Task.h"
+
+#include "ace/OS_NS_string.h"
+#include "ace/Log_Msg.h"
+#include "ace/Get_Opt.h"
+#include "tao/ORB.h"
+#include "tao/PortableServer/PortableServer.h"
+#include "DAnCE/Logger/Logger_Service.h"
+#include "DAnCE/Logger/Log_Macros.h"
+#include "DAnCE/DAnCE_Utility.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "ciao/Logger/Logger_Service.h"
+#include "LocalityManager/Daemon/Locality_Manager_Impl.h"
+
+namespace DAnCE
+{
+ LocalityManager_Task::Error::Error(const ACE_CString &err) : err_(err)
+ {
+ }
+
+ LocalityManager_Task::LocalityManager_Task (int argc, ACE_TCHAR **argv)
+ {
+ DANCE_TRACE ("DAnCE_LocalityManager_Task::DAnCE_LocalityManager_Task ()");
+
+ Logger_Service
+ *dlf = ACE_Dynamic_Service<Logger_Service>::instance ("DAnCE_Logger");
+
+ if (dlf)
+ {
+ dlf->init (argc, argv);
+ }
+
+ // Also initialize CIAO logger since we reuse parts of CIAO in the locality manager
+ CIAO::Logger_Service
+ * clf = ACE_Dynamic_Service<CIAO::Logger_Service>::instance ("CIAO_Logger");
+
+ if (clf)
+ {
+ clf->init (argc, argv);
+ }
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "DAnCE_LocalityManager_Task::DAnCE_LocalityManager_Task - "
+ "Creating ORB\n"));
+
+ this->orb_ = CORBA::ORB_init (argc, argv);
+
+ this->parse_args (argc, argv);
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "DAnCE_LocalityManager_Task::DAnCE_LocalityManager_Task - "
+ "DAnCE_LocalityManager_Task_ object created.\n"));
+ }
+
+ int
+ LocalityManager_Task::svc (void)
+ {
+ DANCE_TRACE ("LocalityManager_Task::svc");
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "LocalityManager_Task::svc - "
+ "Activating the root POA\n"));
+
+ CORBA::Object_var object =
+ this->orb_->resolve_initial_references ("RootPOA");
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (object.in ());
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager ();
+
+ poa_manager->activate ();
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "LocalityManager_Task::svc - "
+ "Creating server implementation object\n"));
+
+ DAnCE::LocalityManager_i *lm_srv = 0;
+ ACE_NEW_NORETURN (lm_srv,
+ LocalityManager_i (this->uuid_,
+ this->orb_.in (),
+ root_poa.in ()));
+
+ if (lm_srv == 0)
+ {
+ DANCE_ERROR (1, (LM_CRITICAL,
+ "LocalityManager_Task::run - "
+ "Out of memory error while allocating servant."));
+ throw Error ("Out of memory whilst allocating servant.");
+ }
+
+ PortableServer::ServantBase_var safe_config = lm_srv;
+ PortableServer::ObjectId_var id =
+ root_poa->activate_object (lm_srv);
+ CORBA::Object_var lm_object = root_poa->id_to_reference (id.in ());
+ DAnCE::LocalityManager_var lm =
+ DAnCE::LocalityManager::_narrow (lm_object.in ());
+
+ if (this->output_file_ != ACE_TEXT(""))
+ {
+ CORBA::String_var ior = this->orb_->object_to_string (lm.in ());
+ ::DAnCE::Utility::write_IOR (this->output_file_.c_str (), ior.in ());
+ }
+
+ if (this->callback_ior_str_ != ACE_TEXT(""))
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO "LocalityManager_Task::run - "
+ "Resolving callback IOR\n"));
+ CORBA::Object_var obj =
+ this->orb_->string_to_object (this->callback_ior_str_.c_str ());
+ LocalityManagerActivator_var sa (LocalityManagerActivator::_narrow (obj));
+
+ if (CORBA::is_nil (sa.in ()))
+ {
+ DANCE_DEBUG (6, (LM_ERROR, DLINFO
+ "LocalityManager_Task::svc - "
+ "Failed to narrow callback IOR [%s]\n",
+ this->callback_ior_str_.c_str ()));
+ throw Error ("Failed to narrow callback IOR");
+ }
+
+ Deployment::Properties_var config;
+ {
+ Deployment::Properties *cf = 0;
+ ACE_NEW_NORETURN (cf, Deployment::Properties (0));
+
+ if (cf == 0)
+ {
+ DANCE_ERROR (1, (LM_CRITICAL, "LocalityManager_Task::run - "
+ "Out of memory error while allocating config values."));
+ }
+ else
+ {
+ config = cf;
+ }
+ }
+
+ // Make callback.
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "LocalityManager_Task::svc - "
+ "Making callback on my Activator\n"));
+
+ try
+ {
+ // Callback to NodeApplication to get configuration
+ sa->locality_manager_callback (lm.in (),
+ this->uuid_.c_str (),
+ config.out ());
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO "LocalityManager_Task::svc - "
+ "Configuration received\n"));
+ // @@WO: Probably need to do something with these config values.
+
+ lm_srv->init (config._retn ());
+
+ DANCE_DEBUG (6, (LM_NOTICE, DLINFO "LocalityManager_Task::svc - "
+ "Configuration complete for component server %C\n",
+ this->uuid_.c_str ()));
+
+ sa->configuration_complete (this->uuid_.c_str ());
+ }
+ catch (const CORBA::BAD_PARAM &)
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO "LocalityManager_Task::svc - "
+ "The Callback IOR provided pointed to the "
+ "wrong Activator\n"));
+ throw Error ("Bad callback IOR");
+ }
+ catch (...)
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO "LocalityManager_Task::svc - "
+ "Caught exception while calling back\n"));
+ throw Error ("Caught exception while calling back");
+ }
+
+ }
+ else
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO "LocalityManager_Task::svc - "
+ "Initializing ComponentServer without ServantActivator "
+ "callback\n"));
+ lm_srv->init (0);
+ }
+
+ this->orb_->run ();
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO "LocalityManager_Task::svc - "
+ "ORB Event loop completed.\n"));
+
+ root_poa->destroy (1, 1);
+
+ this->orb_->destroy ();
+
+ return 0;
+ }
+
+ void
+ LocalityManager_Task::run (void)
+ {
+ DANCE_TRACE ("LocalityManager_Task::run");
+
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO "LocalityManager_Task::run - Starting ORB\n"));
+ this->svc ();
+ DANCE_DEBUG (6, (LM_INFO,
+ DLINFO "LocalityManager_Task::run - ORB has "
+ "shutdown, terminating ComponentServer\n"));
+ }
+
+ void
+ LocalityManager_Task::parse_args (int argc, ACE_TCHAR **argv)
+ {
+ DANCE_TRACE ("LocalityManager_Task::parse_args");
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO "LocalityManager_Task::parse_args - "
+ "parsing arguments...\n"));
+
+ ACE_Get_Opt opts (argc, argv, ACE_TEXT("hu:c:"), 1, 0,
+ ACE_Get_Opt::RETURN_IN_ORDER);
+ opts.long_option (ACE_TEXT("uuid"), 'u', ACE_Get_Opt::ARG_REQUIRED);
+ opts.long_option (ACE_TEXT("callback-ior"), 'c', ACE_Get_Opt::ARG_REQUIRED);
+ opts.long_option (ACE_TEXT("help"), 'h');
+ opts.long_option (ACE_TEXT("log-level"),'l', ACE_Get_Opt::ARG_REQUIRED);
+ opts.long_option (ACE_TEXT("trace"),'t', ACE_Get_Opt::NO_ARG);
+ opts.long_option (ACE_TEXT("output-ior"),'o', ACE_Get_Opt::ARG_REQUIRED);
+
+ int c = 0;
+ while ((c = opts ()) != -1)
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO "LocalityManager_Task::parse_args - "
+ "Found option: \"%s\" with argument \"%s\"\n",
+ opts.last_option (), opts.opt_arg ()));
+
+ switch (c)
+ {
+ case 'u':
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO "LocalityManager_Task::parse_args - "
+ "uuid is %s\n",
+ opts.opt_arg ()));
+ this->uuid_ = ACE_TEXT_ALWAYS_CHAR (opts.opt_arg ());
+ break;
+
+ case 'c':
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO "LocalityManager_Task::parse_args - "
+ "callback ior is %s\n",
+ opts.opt_arg ()));
+ this->callback_ior_str_ = opts.opt_arg ();
+ break;
+
+ case 'l':
+ {
+ continue; // no-op, already taken care of
+ }
+
+ case 't':
+ continue; // already taken care of
+
+ case 'o':
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO "LocalityManager_Task::parse_args - "
+ "IOR Output file: %s\n",
+ opts.opt_arg ()));
+ this->output_file_ = opts.opt_arg ();
+ break;
+
+ case 'h':
+ this->usage ();
+ throw Error ("Command line help requested, bailing out....");
+
+ default:
+ DANCE_ERROR (1, (LM_ERROR, DLINFO " Unknown option: %s\n",
+ opts.last_option ()));
+ this->usage ();
+ ACE_CString err ("Unknown option ");
+ err += ACE_TEXT_ALWAYS_CHAR (opts.last_option ());
+ throw Error (err);
+ }
+ }
+
+ // check required options.
+ if (this->uuid_ == "")
+ throw Error ("Option required: -u|--uuid");
+ if (this->callback_ior_str_ == ACE_TEXT(""))
+ {
+ DANCE_ERROR (1, (LM_WARNING, DLINFO
+ "LocalityManager_Task::parse_args - Starting ComponentServer without a callback IOR\n"));
+ }
+ }
+
+ void
+ LocalityManager_Task::usage (void)
+ {
+ DANCE_TRACE ("LocalityManager_Task::usage");
+ // Shouldn't be subject to CIAO's logging policy
+ ACE_ERROR ((LM_EMERGENCY, "Usage: dance_locality_manager <options>\n"
+ "Options:\n"
+ "\t-h|--help\t\t\t\tShow help\n"
+ "\t-l|--log-level <level>\t\t\tSets log level (default 5). 1 - most detailed.\n"
+ "\t-u|--uuid <uuid> \t\t\tSets UUID of spawned component server (required)\n"
+ "\t-c|--callback-ior <string ior>\t\tSets callback url for the spawning Activator.\n"
+ "\t-o|--output-ior <filename>\t\tOutputs the IOR of the component server object to file\n"
+ ));
+
+ }
+}
+
+
diff --git a/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Task.h b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Task.h
new file mode 100644
index 00000000000..cb75d20295a
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Daemon/Locality_Manager_Task.h
@@ -0,0 +1,46 @@
+// $Id$
+/**
+ * @file LocalityManager_Task.h
+ * @author William R. Otte
+ *
+ * Defines interface for the bootstrap element of the Locality Manager.
+ */
+
+#ifndef DAnCE_LOCALITY_TASK_H_
+#define DAnCE_LOCALITY_TASK_H_
+
+#include "ace/String_Base.h"
+#include "ace/Task.h"
+#include "tao/ORB.h"
+
+namespace DAnCE
+{
+ class LocalityManager_Task : ACE_Task_Base
+ {
+ public:
+ LocalityManager_Task (int argc, ACE_TCHAR **argv);
+
+ int svc (void);
+
+ struct Error
+ {
+ Error (const ACE_CString &err);
+ ACE_CString err_;
+ };
+
+ void run (void);
+
+ private:
+ void parse_args (int argc, ACE_TCHAR **argv);
+
+ void usage (void);
+
+ CORBA::ORB_var orb_;
+
+ ACE_TString uuid_;
+ ACE_TString callback_ior_str_;
+ ACE_TString output_file_;
+ };
+}
+
+#endif
diff --git a/CIAO/DAnCE/NodeApplication/Name_Utilities.cpp b/CIAO/DAnCE/LocalityManager/Daemon/Name_Utilities.cpp
index 258584aeb40..258584aeb40 100644
--- a/CIAO/DAnCE/NodeApplication/Name_Utilities.cpp
+++ b/CIAO/DAnCE/LocalityManager/Daemon/Name_Utilities.cpp
diff --git a/CIAO/DAnCE/NodeApplication/Name_Utilities.h b/CIAO/DAnCE/LocalityManager/Daemon/Name_Utilities.h
index 2685ee36012..2685ee36012 100644
--- a/CIAO/DAnCE/NodeApplication/Name_Utilities.h
+++ b/CIAO/DAnCE/LocalityManager/Daemon/Name_Utilities.h
diff --git a/CIAO/DAnCE/LocalityManager/Handler/DAnCE_Locality_Handler_export.h b/CIAO/DAnCE/LocalityManager/Handler/DAnCE_Locality_Handler_export.h
new file mode 100644
index 00000000000..c01f1718853
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Handler/DAnCE_Locality_Handler_export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl DAnCE_Locality_Handler
+// ------------------------------
+#ifndef DANCE_LOCALITY_HANDLER_EXPORT_H
+#define DANCE_LOCALITY_HANDLER_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (DANCE_LOCALITY_HANDLER_HAS_DLL)
+# define DANCE_LOCALITY_HANDLER_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && DANCE_LOCALITY_HANDLER_HAS_DLL */
+
+#if !defined (DANCE_LOCALITY_HANDLER_HAS_DLL)
+# define DANCE_LOCALITY_HANDLER_HAS_DLL 1
+#endif /* ! DANCE_LOCALITY_HANDLER_HAS_DLL */
+
+#if defined (DANCE_LOCALITY_HANDLER_HAS_DLL) && (DANCE_LOCALITY_HANDLER_HAS_DLL == 1)
+# if defined (DANCE_LOCALITY_HANDLER_BUILD_DLL)
+# define DAnCE_Locality_Handler_Export ACE_Proper_Export_Flag
+# define DANCE_LOCALITY_HANDLER_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define DANCE_LOCALITY_HANDLER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* DANCE_LOCALITY_HANDLER_BUILD_DLL */
+# define DAnCE_Locality_Handler_Export ACE_Proper_Import_Flag
+# define DANCE_LOCALITY_HANDLER_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define DANCE_LOCALITY_HANDLER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* DANCE_LOCALITY_HANDLER_BUILD_DLL */
+#else /* DANCE_LOCALITY_HANDLER_HAS_DLL == 1 */
+# define DAnCE_Locality_Handler_Export
+# define DANCE_LOCALITY_HANDLER_SINGLETON_DECLARATION(T)
+# define DANCE_LOCALITY_HANDLER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* DANCE_LOCALITY_HANDLER_HAS_DLL == 1 */
+
+// Set DANCE_LOCALITY_HANDLER_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (DANCE_LOCALITY_HANDLER_NTRACE)
+# if (ACE_NTRACE == 1)
+# define DANCE_LOCALITY_HANDLER_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define DANCE_LOCALITY_HANDLER_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !DANCE_LOCALITY_HANDLER_NTRACE */
+
+#if (DANCE_LOCALITY_HANDLER_NTRACE == 1)
+# define DANCE_LOCALITY_HANDLER_TRACE(X)
+#else /* (DANCE_LOCALITY_HANDLER_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define DANCE_LOCALITY_HANDLER_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (DANCE_LOCALITY_HANDLER_NTRACE == 1) */
+
+#endif /* DANCE_LOCALITY_HANDLER_EXPORT_H */
+
+// End of auto generated file.
diff --git a/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.cpp b/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.cpp
new file mode 100644
index 00000000000..86b745ffc74
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.cpp
@@ -0,0 +1,453 @@
+// $Id$
+
+#include "LocalityActivator_Impl.h"
+#include "ace/Log_Msg.h"
+#include "ace/UUID.h"
+#include "DAnCE/Logger/Log_Macros.h"
+#include "DAnCE/DAnCE_PropertiesC.h"
+
+namespace DAnCE
+{
+ DAnCE_LocalityActivator_i::DAnCE_LocalityActivator_i (CORBA::ULong def_spawn_delay,
+ const char * default_cs_path,
+ const char * cs_args,
+ bool multithreaded,
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa)
+ : spawn_delay_ (def_spawn_delay),
+ multithreaded_ (multithreaded),
+ orb_ (CORBA::ORB::_duplicate (orb)),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ cs_path_ (default_cs_path),
+ cs_args_ (cs_args),
+ mutex_ (),
+ condition_ (mutex_)
+ {
+ DANCE_TRACE ("DAnCE_LocalityActivator_i::DAnCE_LocalityActivator_i");
+ ACE_Utils::UUID_GENERATOR::instance ()->init ();
+ }
+
+ DAnCE_LocalityActivator_i::~DAnCE_LocalityActivator_i(void)
+ {
+ }
+
+ void
+ DAnCE_LocalityActivator_i::locality_manager_callback (
+ ::DAnCE::LocalityManager_ptr serverref,
+ const char * server_UUID,
+ ::Deployment::Properties_out config)
+ {
+ DANCE_TRACE("DAnCE_LocalityActivator_i::locaity_manager_callback");
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "DAnCE_LocalityActivator_i::locality_manager_callback - "
+ "Received callback from LocalityManager %C\n",
+ server_UUID));
+
+ Server_Info *info = 0;
+
+ for (SERVER_INFOS::iterator i (this->server_infos_.begin ());
+ !i.done (); ++i)
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "DAnCE_LocalityActivator_i::locality_manager_callback - "
+ "Comparing %C with %C\n", (*i)->uuid_.c_str (), server_UUID));
+ if ((*i)->uuid_ == server_UUID)
+ {
+ info = (*i).get ();
+ }
+ }
+
+ if (!info)
+ {
+ DANCE_ERROR (1, (LM_WARNING, DLINFO
+ "DAnCE_LocalityActivator_i::locality_manager_callback - "
+ "Received callback from LocalityManager %C, which doesn't belong to me.\n",
+ server_UUID));
+ throw ::CORBA::BAD_PARAM ();
+ }
+
+ if (info->activated_)
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "DAnCE_LocalityActivator_i::locality_manager_callback - "
+ "Received callback from LocalityManager %C, which has already been configured.\n",
+ server_UUID));
+ throw ::CORBA::BAD_INV_ORDER ();
+ }
+
+ if (!CORBA::is_nil (info->ref_))
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "DAnCE_LocalityActivator_i::locality_manager_callback - "
+ "Received callback from LocalityManager %C, which has already called back.\n",
+ server_UUID));
+ throw ::CORBA::BAD_INV_ORDER ();
+ }
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "DAnCE_LocalityActivator_i::locality_manager_callback - "
+ "Received callback from LocalityManager %C\n",
+ server_UUID));
+
+ info->ref_ = ::DAnCE::LocalityManager::_duplicate (serverref);
+
+ this->create_properties (*info, config);
+
+ // @@TODO: May want to print out configvalues here.
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO
+ "DAnCE_LocalityActivator_i::locality_manager_callback - "
+ "Generated %u Properties for LocalityManager %C\n",
+ config->length (), server_UUID));
+ }
+
+ void
+ DAnCE_LocalityActivator_i::configuration_complete (const char *server_UUID)
+ {
+ DANCE_TRACE ("DAnCE_LocalityActivator_i::configuration_complete");
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "DAnCE_LocalityActivator_i::configuration_complete - "
+ "Received configuration_complete from LocalityManager %C\n",
+ server_UUID));
+
+ try
+ {
+ Server_Info *info = 0;
+
+ for (SERVER_INFOS::ITERATOR j (this->server_infos_);
+ !j.done (); ++j)
+ {
+ if ((*j)->uuid_ == server_UUID)
+ {
+ info = (*j).get ();
+ }
+ }
+
+ if (!info)
+ {
+ DANCE_ERROR (1, (LM_WARNING, DLINFO
+ "DAnCE_LocalityActivator_i::configuration_complete - "
+ "Received configuration_complete from LocalityManager %C, which doesn't belong to me.\n",
+ server_UUID));
+ throw ::CORBA::BAD_PARAM ();
+ }
+
+ if (info->activated_)
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "DAnCE_LocalityActivator_i::configuration_complete - "
+ "Received configuration_complete from LocalityManager %C, which has already been completed.\n",
+ server_UUID));
+ throw ::CORBA::BAD_INV_ORDER ();
+ }
+
+ if (CORBA::is_nil (info->ref_.in ()))
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "DAnCE_LocalityActivator_i::configuration_complete - "
+ "Received configuration_complete from LocalityManager %C, which has not called back.\n",
+ server_UUID));
+ throw ::CORBA::BAD_INV_ORDER ();
+ }
+
+ info->activated_ = true;
+ }
+ catch (...)
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "DAnCE_LocalityActivator_i::configuration_complete - "
+ "Caught unknown exception while processing configuration_complete\n"));
+ throw;
+ }
+ }
+
+ ::DAnCE::LocalityManager_ptr
+ DAnCE_LocalityActivator_i::create_locality_manager (const ::Deployment::Properties & config)
+ {
+ DANCE_TRACE("DAnCE_LocalityActivator_i::create_locality_manager");
+
+ Safe_Server_Info server (new Server_Info (config.length () + 1));
+
+ DAnCE::Utility::build_property_map (*server->cmap_, config);
+
+ ACE_CString cmd_options = this->construct_command_line (*server);
+
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO
+ "DAnCE_LocalityActivator_i::create_locality_manager - LocalityManager arguments: %C\n",
+ cmd_options.c_str ()));
+
+ server_infos_.insert_tail (server);
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "DAnCE_LocalityActivator_i::create_locality_manager - "
+ "Attempting to spawn LocalityManager with UUID %C\n",
+ server->uuid_.c_str ()));
+
+ // Now we need to get a copy of the one that was inserted...
+ pid_t const pid = this->spawn_locality_manager (*server, cmd_options);
+ ACE_UNUSED_ARG (pid);
+
+ ACE_Time_Value timeout (this->spawn_delay_);
+
+ CORBA::Any val;
+
+ if (server->cmap_->find (DAnCE::LOCALITY_TIMEOUT, val) == 0)
+ {
+ CORBA::ULong t;
+ if (val >>= t)
+ {
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO "DAnCE_LocalityActivator_i::create_locality_manager - "
+ "Using provided non-default server timeout of %u\n", t));
+ timeout = ACE_Time_Value (t);
+ }
+ else
+ {
+ DANCE_ERROR (1, (LM_WARNING, DLINFO "DAnCE_LocalityActivator_i::create_locality_manager - "
+ "Failed to extract provided non-default server timeout from property '%C', "
+ "falling back to default timeout of %u\n",
+ this->spawn_delay_));
+ }
+ }
+
+ if (this->multithreaded_)
+ this->multi_threaded_wait_for_callback (*server, timeout/*, pid*/);
+ else
+ this->single_threaded_wait_for_callback (*server, timeout/*, pid*/);
+
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO
+ "DAnCE_LocalityActivator_i::create_locality_manager - "
+ "LocalityManager %C successfully spawned and configured!\n",
+ server->uuid_.c_str ()));
+
+ return ::DAnCE::LocalityManager::_duplicate (server->ref_.in ());
+ }
+
+ ACE_CString
+ DAnCE_LocalityActivator_i::construct_command_line (Server_Info &server)
+ {
+ DANCE_TRACE ("DAnCE_LocalityActivator_i::construct_command_line");
+
+ // Build our command line to launch the component server
+ ACE_CString cmd_options (this->cs_args_);
+
+ CORBA::Any val;
+
+ if (server.cmap_->find (DAnCE::LOCALITY_UUID, val) == 0)
+ {
+ // Nodeapplication has requested a custom uuid
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "DAnCE_LocalityActivator_i::construct_command_line - Using provided UUID\n"));
+ const char *uuid = 0;
+ val >>= uuid;
+ server.uuid_ = uuid;
+ }
+ else
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "DAnCE_LocalityActivator_i::construct_command_line - Using generated UUID\n"));
+ ACE_Utils::UUID uuid;
+ ACE_Utils::UUID_GENERATOR::instance ()->generate_UUID (uuid);
+ server.uuid_ = *uuid.to_string ();
+ }
+
+ if (server.cmap_->find (DAnCE::LOCALITY_ARGUMENTS, val) == 0)
+ {
+ const char *args = 0;
+ val >>= args;
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "DAnCE_LocalityActivator_i::construct_command_line - "
+ "Adding provided server arguments %C\n", args));
+
+ cmd_options += ' ';
+ cmd_options += args;
+ cmd_options += ' ';
+ }
+
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO
+ "DAnCE_LocalityActivator_i::construct_command_line - Creating component server"
+ " with UUID %C\n", server.uuid_.c_str ()));
+
+ cmd_options += " -u ";
+ cmd_options += server.uuid_;
+
+ return cmd_options;
+ }
+
+ pid_t
+ DAnCE_LocalityActivator_i::spawn_locality_manager (const Server_Info &si,
+ const ACE_CString &cmd_line)
+ {
+ DANCE_TRACE ("DAnCE_LocalityActivator_i::spawn_locality_manager");
+
+ // Get my object reference
+ CORBA::Object_var obj = this->poa_->servant_to_reference (this);
+ CORBA::String_var ior = this->orb_->object_to_string (obj.in ());
+ CORBA::Any val;
+
+ const char *path = this->cs_path_.c_str ();
+
+ if (si.cmap_->find (SERVER_EXECUTABLE, val) == 0)
+ {
+ val >>= path;
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO "DAnCE_LocalityActivator_i::spawn_locality_manager - "
+ "Using provided component server executable: %C\n", path));
+ }
+ else
+ {
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO "DAnCE_LocalityActivator_i::spawn_locality_manager - "
+ "Using default component server executable\n"));
+ }
+
+ ACE_Process_Options options (true,
+ ACE_OS::strlen (path) + ACE_OS::strlen (cmd_line.c_str()) + ACE_OS::strlen (ior.in ()) + 15);
+ if (options.command_line ("%s %s -c %s",
+ path,
+ cmd_line.c_str (),
+ ior.in ()) != 0)
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "Failed to create commandline\n"));
+ throw Deployment::StartError ();
+ }
+
+ options.avoid_zombies (0);
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "DAnCE_LocalityActivator_i::spawn_locality_manager - Spawning process, command line is %s\n",
+ options.command_line_buf ()));
+
+ pid_t const pid = this->process_manager_.spawn (options,
+ &this->child_handler_);
+
+ if (pid == ACE_INVALID_PID)
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "Failed to spawn a LocalityManager process\n"));
+ throw Deployment::StartError ();
+ }
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "DAnCE_LocalityActivator_i::spawn_locality_manager - Process successfully spawned with pid %u\n",
+ pid));
+ return pid;
+ }
+
+ void
+ DAnCE_LocalityActivator_i::
+ single_threaded_wait_for_callback (const Server_Info &si,
+ ACE_Time_Value &timeout)
+ {
+ DANCE_TRACE ("DAnCE_LocalityActivator_i::single_threaded_wait_for_callback");
+
+ // Below code is broken for thread-per-connection concurrency model,
+ // since the main thread is running ORB event loop and will spawn
+ // a different thread to handle the call <register_node_application>,
+ // the <perform_work> operation will not be invoked and finally
+ // a timeout will occur. For a similar reason, it won't work
+ // for thread-pool concurrency model.
+ while (true)
+ {
+ this->orb_->perform_work (timeout);
+
+ if (timeout == ACE_Time_Value::zero)
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "DAnCE_LocalityActivator_i::single_threaded_wait_for_callback - "
+ "Timed out while waiting for LocalityManager %C to call back.\n",
+ si.uuid_.c_str ()));
+ throw ::Deployment::StartError ();
+ }
+
+ if (si.activated_)
+ {
+ break;
+ }
+ }
+ }
+
+ void
+ DAnCE_LocalityActivator_i::
+ multi_threaded_wait_for_callback (const Server_Info &si,
+ ACE_Time_Value &timeout)
+ {
+ DANCE_TRACE ("DAnCE_LocalityActivator_i::multi_threaded_wait_for_callback");
+
+ // Wait for a conditional variable
+ ACE_GUARD_THROW_EX ( TAO_SYNCH_MUTEX,
+ guard,
+ this->mutex_,
+ CORBA::NO_RESOURCES ());
+
+ while (! si.activated_ )
+ if (this->condition_.wait (&timeout) == -1)
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "DAnCE_LocalityActivator_i::multi_threaded_wait_for_callback - "
+ "Timed out while waiting for LocalityManager %C to call back.\n",
+ si.uuid_.c_str ()));
+ throw Deployment::StartError ();
+ }
+ }
+
+ void
+ DAnCE_LocalityActivator_i::remove_locality_manager (::DAnCE::LocalityManager_ptr server)
+ {
+ DANCE_TRACE ("DAnCE_LocalityActivator_i::remove_locality_manager");
+
+ Server_Info *info = 0;
+
+ for (SERVER_INFOS::ITERATOR i (this->server_infos_);
+ !i.done (); ++i)
+ {
+ if ((*i)->ref_->_is_equivalent (server))
+ {
+ info = (*i).get ();
+ }
+ }
+
+ if (!info)
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "DAnCE_LocalityActivator_i::remove_locality_manager - "
+ "Failed to find equivalent LocalityManager under my management.\n"));
+ throw ::Deployment::StopError ();
+ }
+
+ try
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "DAnCE_LocalityActivator_i::remove_locality_manager - "
+ "Calling shutdown () on LocalityManager %C\n",
+ info->uuid_.c_str ()));
+ server->shutdown ();
+ }
+ catch (::Deployment::StopError &)
+ {
+ DANCE_ERROR (1, (LM_WARNING, DLINFO
+ "DAnCE_LocalityActivator_i::remove_locality_manager - "
+ "Received RemoveFailure exception from LocalityManager %C\n",
+ info->uuid_.c_str ()));
+ }
+
+ DANCE_DEBUG (6, (LM_INFO, DLINFO
+ "DAnCE_LocalityActivator_i::remove_locality_manager - "
+ "LocalityManager %C successfully shut down.\n",
+ info->uuid_.c_str ()));
+ }
+
+ void
+ DAnCE_LocalityActivator_i::create_properties (
+ const Server_Info &,
+ Deployment::Properties_out &config)
+ {
+ ACE_NEW_THROW_EX (config,
+ Deployment::Properties (1),
+ CORBA::NO_MEMORY ());
+
+
+ }
+}
+
+
diff --git a/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.h b/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.h
new file mode 100644
index 00000000000..6834a13df5b
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Handler/LocalityActivator_Impl.h
@@ -0,0 +1,181 @@
+// $Id$
+/**
+ * @file LocalityActivator_Impl.h
+ * @author William R. Otte
+ */
+
+#ifndef DAnCE_LocalityActivator_H_
+#define DAnCE_LocalityActivator_H_
+
+#include "ace/Process_Manager.h"
+#include "ace/Event_Handler.h"
+#include "ace/Condition_T.h"
+#include "ace/OS_NS_sys_wait.h"
+#include "ace/Refcounted_Auto_Ptr.h"
+#include "ace/Unbounded_Set_Ex.h"
+#include "ace/Synch_Traits.h"
+#include "ace/Condition_T.h"
+#include "tao/PortableServer/PortableServer.h"
+#include "DAnCE/DAnCE_LocalityManagerS.h"
+#include "DAnCE/DAnCE_Utility.h"
+
+#include "NodeApplication/NodeApplication_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace DAnCE
+{
+ /**
+ * @brief The signal handler class for the SIGCHLD handling to avoid
+ * zombies
+ */
+ class Child_Handler : public virtual ACE_Event_Handler
+ {
+ public:
+ virtual int handle_signal (int,
+ siginfo_t *,
+ ucontext_t *)
+ {
+ // @@ Note that this code is not portable to all OS platforms
+ // since it uses print statements within signal handler context.
+ ACE_exitcode status;
+ // makes a claal to the underlying os system call
+ // -1 to wait for any child process
+ // and WNOHANG so that it retuurns immediately
+ ACE_OS::waitpid (-1 ,&status, WNOHANG, 0);
+
+ return 0;
+ }
+ };
+
+ /**
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ * @brief Default server activator for CIAO component servers.
+ *
+ * Implements the default component server activation strategy
+ * which is to spawn new processes. This is not thread-safe,
+ * nor is it intended to be. Containers are reated serially,
+ * so there will be only one actor *modifying* data at a particular
+ * point in time.
+ */
+ class DAnCE_LocalityActivator_i
+ : public virtual ::POA_DAnCE::LocalityManagerActivator
+ {
+ public:
+ /// Constructor
+ DAnCE_LocalityActivator_i (CORBA::ULong def_spawn_delay,
+ const char * default_cs_path,
+ const char * cs_args,
+ bool multithreaded,
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa_);
+
+ /// Destructor
+ virtual ~DAnCE_LocalityActivator_i (void);
+
+ virtual
+ void locality_manager_callback (::DAnCE::LocalityManager_ptr serverref,
+ const char * server_UUID,
+ ::Deployment::Properties_out config);
+
+ virtual void configuration_complete (const char *server_UUID);
+
+ ::DAnCE::LocalityManager_ptr
+ create_locality_manager (const ::Deployment::Properties & config);
+
+ void remove_locality_manager (
+ ::DAnCE::LocalityManager_ptr server);
+
+ ::DAnCE::LocalityManager * get_locality_managers (void);
+
+ private:
+ struct Server_Info;
+
+ /// Builds command line options based on configuration information.
+ /// May modify the uuid of the component server.
+ ACE_CString construct_command_line (Server_Info &si);
+
+ /// Spawns the component server process, but does not wait for it
+ /// to call back.
+ pid_t spawn_locality_manager (const Server_Info &si,
+ const ACE_CString &cmd_line);
+
+ /// This method is only applicable when our program is configured as
+ /// singled threaded . Internally it uses a @c perform_work blocking
+ /// call to wait for NA object to call back
+ void single_threaded_wait_for_callback (const Server_Info &si,
+ ACE_Time_Value &timeout);
+
+ /// This method is only applicable when our program is configured as
+ /// multiple threaded. Internally it waits on a conditional variable
+ /// that could be modified by the callback servant which runs in
+ /// another thread
+ void multi_threaded_wait_for_callback (const Server_Info &si,
+ ACE_Time_Value &timeout);
+
+ void create_properties (const Server_Info &info,
+ Deployment::Properties_out &config);
+
+ struct Server_Info
+ {
+ Server_Info (size_t cmap_size_hint = 128)
+ : cmap_ (new DAnCE::Utility::PROPERTY_MAP (cmap_size_hint)),
+ ref_ (DAnCE::LocalityManager::_nil ()),
+ pid_ (ACE_INVALID_PID),
+ activated_ (false) {}
+
+ typedef ACE_Refcounted_Auto_Ptr <DAnCE::Utility::PROPERTY_MAP,
+ ACE_Null_Mutex> PROPERTY_MAP_PTR;
+
+ ACE_CString uuid_;
+ PROPERTY_MAP_PTR cmap_;
+ DAnCE::LocalityManager_var ref_;
+ pid_t pid_;
+ bool activated_;
+ };
+
+ typedef ACE_Refcounted_Auto_Ptr<Server_Info, ACE_Null_Mutex> Safe_Server_Info;
+
+ struct _server_info
+ {
+ bool operator() (const Safe_Server_Info &a, const Safe_Server_Info &b) const
+ {
+ return a->uuid_ == b->uuid_;
+ }
+ };
+
+ // Presumably, there won't be too many component servers per node application
+ typedef ACE_Unbounded_Set_Ex <Safe_Server_Info, _server_info> SERVER_INFOS;
+
+ /// Default args to pass to all componentservers.
+ ACE_CString default_args_;
+
+ SERVER_INFOS server_infos_;
+
+ ACE_Process_Manager process_manager_;
+
+ Child_Handler child_handler_;
+
+ CORBA::ULong spawn_delay_;
+
+ /////*******NEW
+ bool multithreaded_;
+
+ CORBA::ORB_var orb_;
+
+ PortableServer::POA_var poa_;
+
+ ACE_CString cs_path_;
+
+ ACE_CString cs_args_;
+
+ TAO_SYNCH_MUTEX mutex_;
+
+ ACE_Condition<TAO_SYNCH_MUTEX> condition_;
+ };
+
+
+}
+#endif /* DAnCE_LocalityActivator_H_ */
diff --git a/CIAO/DAnCE/LocalityManager/Handler/LocalityHandler.mpc b/CIAO/DAnCE/LocalityManager/Handler/LocalityHandler.mpc
new file mode 100644
index 00000000000..74c22be794b
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Handler/LocalityHandler.mpc
@@ -0,0 +1,8 @@
+project(DAnCE_Locality_Handler) : dance_skel, dance_split_plan, dance_lib, dance_output, dance_logger {
+
+ dynamicflags = DANCE_LOCALITY_HANDLER_BUILD_DLL
+ Source_Files {
+ LocalityActivator_Impl.cpp
+ Locality_Manager_Handler_Impl.cpp
+ }
+}
diff --git a/CIAO/DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.cpp b/CIAO/DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.cpp
new file mode 100644
index 00000000000..1373682a61a
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.cpp
@@ -0,0 +1,167 @@
+// -*- C++ -*-
+// $Id$
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1560
+
+#include "Locality_Manager_Handler_Impl.h"
+#include "LocalityActivator_Impl.h"
+
+#include "DAnCE/DAnCE_PropertiesC.h"
+
+namespace DAnCE
+{
+ const char *
+ Locality_Handler_i::instance_type_ =
+ "edu.vanderbilt.dre.DAnCE.LocalityManager";
+
+ // Implementation skeleton constructor
+ Locality_Handler_i::
+ Locality_Handler_i (const Utility::PROPERTY_MAP &prop,
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa)
+ : activator_ (0),
+ properties_ (prop)
+ {
+ CORBA::ULong spawn = 0;
+ const char *cs_path = 0;
+ const char *cs_args = 0;
+ CORBA::Boolean multithread = false;
+
+ Utility::get_property_value (DAnCE::LOCALITY_EXECUTABLE,
+ this->properties_, cs_path);
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("Locality_Handler_i - ")
+ ACE_TEXT("Component server path: %C\n"), cs_path));
+ Utility::get_property_value (DAnCE::LOCALITY_ARGUMENTS,
+ this->properties_, cs_args);
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("Locality_Handler_i - ")
+ ACE_TEXT("Component server arguments: %C\n"), cs_args));
+ Utility::get_property_value (DAnCE::LOCALITY_TIMEOUT,
+ this->properties_, spawn);
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("Locality_Handler_i - ")
+ ACE_TEXT("Spawn delay: %u\n"), spawn));
+ Utility::get_property_value (DAnCE::LOCALITY_MULTITHREAD,
+ this->properties_, multithread);
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("Locality_Handler_i - ")
+ ACE_TEXT("Threading: %C\n"),
+ multithread ? "Multi" : "Single"));
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("Locality_Handler_i - ")
+ ACE_TEXT("Spawning Locality handler\n")));
+
+ ACE_NEW_THROW_EX (this->activator_,
+ DAnCE_LocalityActivator_i (spawn,
+ cs_path,
+ cs_args,
+ multithread,
+ orb,
+ poa),
+ CORBA::NO_MEMORY ());
+
+ PortableServer::ServantBase_var safe_servant (this->activator_);
+
+ poa->activate_object (this->activator_);
+ }
+
+ // Implementation skeleton destructor
+ Locality_Handler_i::~Locality_Handler_i (void)
+ {
+ }
+
+ char * Locality_Handler_i::instance_type (void)
+ {
+ DANCE_TRACE ("Locality_Handler_i::instance_type");
+ return CORBA::string_dup (Locality_Handler_i::instance_type_);
+ }
+
+ void
+ Locality_Handler_i::install_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ ::CORBA::Any_out instance_reference)
+ {
+ if (plan.instance.length () <= instanceRef)
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "Locality_Handler_i::install_instance - "
+ "Invalid instance reference %u provided "
+ "to install_instance\n",
+ instanceRef));
+ throw ::Deployment::PlanError (plan.UUID.in (),
+ "Invalid instance reference");
+ }
+
+ const ::Deployment::InstanceDeploymentDescription &idd =
+ plan.instance[instanceRef];
+ const ::Deployment::MonolithicDeploymentDescription &mdd =
+ plan.implementation[idd.implementationRef];
+
+ CORBA::ULong allprops_len =
+ idd.configProperty.length () + mdd.execParameter.length ();
+ ::Deployment::Properties allprops (allprops_len);
+
+ Utility::append_properties (allprops,
+ mdd.execParameter);
+ Utility::append_properties (allprops,
+ idd.configProperty);
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "Locality_Handler_i::install_instance - "
+ "Passing %u properties to activator\n",
+ allprops.length ()));
+
+ ::DAnCE::LocalityManager_var lm_ref =
+ this->activator_->create_locality_manager (allprops);
+
+ if (CORBA::is_nil (lm_ref))
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "Locality_Handler_i::install_instance - "
+ "Received nil reference from LocalityActivator\n"));
+ throw ::Deployment::StartError (idd.name.in (),
+ "Received nil object reference for "
+ "LocalityManager from Activator\n");
+ }
+
+ CORBA::Any *outany (0);
+ ACE_NEW_THROW_EX (outany,
+ CORBA::Any (),
+ CORBA::NO_MEMORY ());
+ (*outany) <<= lm_ref.in ();
+
+ instance_reference = outany;
+ }
+
+ void
+ Locality_Handler_i::remove_instance (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong,
+ const ::CORBA::Any &instance_reference)
+ {
+ LocalityManager_var lm_ref;
+
+ if (!(instance_reference >>= lm_ref) ||
+ CORBA::is_nil (lm_ref.in ()))
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "Locality_Handler_i::remove_instance - ",
+ "Unable to extract valid LocalityManager "
+ "reference from parameter\n"));
+ }
+ this->activator_->remove_locality_manager (lm_ref.in ());
+ }
+
+ void
+ Locality_Handler_i::connect_instance (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong,
+ const ::CORBA::Any &)
+ {
+ throw CORBA::NO_IMPLEMENT ();
+ }
+
+ void
+ Locality_Handler_i::disconnect_instance (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong)
+ {
+ throw CORBA::NO_IMPLEMENT ();
+ }
+
+}
diff --git a/CIAO/DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.h b/CIAO/DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.h
new file mode 100644
index 00000000000..cbea942727d
--- /dev/null
+++ b/CIAO/DAnCE/LocalityManager/Handler/Locality_Manager_Handler_Impl.h
@@ -0,0 +1,88 @@
+// -*- C++ -*-
+// $Id$
+
+/**
+ * @file Locality_Manager_Handler_Impl.h
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Installation handler implementation for spawning LocalityManagers.
+ */
+
+#ifndef DANCE_LOCALITYMANAGERI_MIGAYG_H_
+#define DANCE_LOCALITYMANAGERI_MIGAYG_H_
+
+#include "DAnCE/DAnCE_LocalityManagerS.h"
+#include "DAnCE/DAnCE_Utility.h"
+#include "Split_Plan/Locality_Splitter.h"
+#include "Split_Plan/Split_Plan.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "LocalityManager/Handler/DAnCE_Locality_Handler_export.h"
+#include "tao/LocalObject.h"
+
+namespace DAnCE
+{
+ class DAnCE_LocalityActivator_i;
+
+ class DAnCE_Locality_Handler_Export Locality_Handler_i
+ : public virtual DAnCE::InstanceDeploymentHandler,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ // Constructor
+ Locality_Handler_i (const Utility::PROPERTY_MAP &props,
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa);
+
+ // Destructor
+ virtual ~Locality_Handler_i (void);
+
+ virtual
+ char * instance_type (void);
+
+ virtual
+ void install_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ ::CORBA::Any_out instance_reference);
+
+ virtual
+ void activate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &) {};
+ virtual
+ void passivate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &) {};
+
+ virtual
+ void remove_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any & instance_reference);
+
+ virtual
+ void provide_endpoint_reference (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong,
+ ::CORBA::Any_out) {};
+
+ virtual
+ void connect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ const ::CORBA::Any & provided_reference);
+
+ virtual
+ void disconnect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef);
+
+ virtual
+ void instance_configured (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong) {};
+ private:
+ static const char *instance_type_;
+ DAnCE_LocalityActivator_i *activator_;
+ const Utility::PROPERTY_MAP &properties_;
+ };
+}
+#endif
diff --git a/CIAO/DAnCE/MPC/config/dance_locality_handler.mpb b/CIAO/DAnCE/MPC/config/dance_locality_handler.mpb
new file mode 100644
index 00000000000..48eb73dfe66
--- /dev/null
+++ b/CIAO/DAnCE/MPC/config/dance_locality_handler.mpb
@@ -0,0 +1,4 @@
+project : dance_skel, dance_split_plan {
+ after += DAnCE_Locality_Handler
+ libs += DAnCE_Locality_Handler
+}
diff --git a/CIAO/DAnCE/MPC/config/dance_locality_manager.mpb b/CIAO/DAnCE/MPC/config/dance_locality_manager.mpb
new file mode 100644
index 00000000000..647856e8a0e
--- /dev/null
+++ b/CIAO/DAnCE/MPC/config/dance_locality_manager.mpb
@@ -0,0 +1,5 @@
+// $Id$
+project : dance_skel {
+ after += DAnCE_LocalityManager_Impl
+ libs += DAnCE_LocalityManager_Impl
+}
diff --git a/CIAO/DAnCE/MPC/config/dance_nodeapplication.mpb b/CIAO/DAnCE/MPC/config/dance_nodeapplication.mpb
index a6d521290eb..d07be70f2f6 100644
--- a/CIAO/DAnCE/MPC/config/dance_nodeapplication.mpb
+++ b/CIAO/DAnCE/MPC/config/dance_nodeapplication.mpb
@@ -2,7 +2,7 @@
// $Id$
project : dance, dance_nodeapplication_skel, dance_logger, \
- ciao_cs_client, ciao_componentserver_stub, dynamicinterface, iortable, naming {
+ dynamicinterface, iortable, naming, dance_locality_handler {
after += DAnCE_NodeApplication
libs += DAnCE_NodeApplication
}
diff --git a/CIAO/DAnCE/MPC/config/dance_skel.mpb b/CIAO/DAnCE/MPC/config/dance_skel.mpb
new file mode 100644
index 00000000000..84a038ec06e
--- /dev/null
+++ b/CIAO/DAnCE/MPC/config/dance_skel.mpb
@@ -0,0 +1,6 @@
+// $Id$
+project : dance_deployment_skel, \
+ dance_applicationmanager_skel, dance_stub {
+ after += DAnCE_skel
+ libs += DAnCE_skel
+}
diff --git a/CIAO/DAnCE/MPC/config/dance_split_plan.mpb b/CIAO/DAnCE/MPC/config/dance_split_plan.mpb
index 7dca6a02e25..b86a9efacd5 100644
--- a/CIAO/DAnCE/MPC/config/dance_split_plan.mpb
+++ b/CIAO/DAnCE/MPC/config/dance_split_plan.mpb
@@ -3,4 +3,5 @@
project : dance, dance_deployment_stub, dance_tools {
after += DAnCE_Split_Plan_Impl
libs += DAnCE_Split_Plan_Impl
+ includes += $DANCE_ROOT/tools
}
diff --git a/CIAO/DAnCE/MPC/config/dance_stub.mpb b/CIAO/DAnCE/MPC/config/dance_stub.mpb
new file mode 100644
index 00000000000..2e06f253229
--- /dev/null
+++ b/CIAO/DAnCE/MPC/config/dance_stub.mpb
@@ -0,0 +1,5 @@
+// $Id$
+project : dance_deployment_stub, dance_applicationmanager_stub {
+ after += DAnCE_stub
+ libs += DAnCE_stub
+}
diff --git a/CIAO/DAnCE/NodeApplication/NodeApplication.mpc b/CIAO/DAnCE/NodeApplication/NodeApplication.mpc
index 201ac740788..0a5c75ac6c6 100644
--- a/CIAO/DAnCE/NodeApplication/NodeApplication.mpc
+++ b/CIAO/DAnCE/NodeApplication/NodeApplication.mpc
@@ -3,7 +3,7 @@
project(DAnCE_NodeApplication): install, dance_lib, dynamicinterface, \
dance_nodeapplication_skel, \
- dance_logger, iortable, naming, ccm_configvalue, ciao_cs_client, ciao_componentserver_stub, \
+ dance_logger, iortable, naming, dance_locality_handler, \
gen_ostream, avoids_ace_for_tao, dance_applicationmanager_stub {
sharedname = DAnCE_NodeApplication
dynamicflags = NODEAPPLICATION_BUILD_DLL
@@ -11,13 +11,11 @@ project(DAnCE_NodeApplication): install, dance_lib, dynamicinterface, \
Source_Files {
NodeApplication_Impl.cpp
ComponentAttributesSetter.cpp
- Name_Utilities.cpp
}
Header_Files {
NodeApplication_Impl.h
ComponentAttributesSetter.h
- Name_Utilities.h
}
specific {
diff --git a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
index 49e2965082d..1d13615ca5b 100644
--- a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
+++ b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
@@ -7,21 +7,17 @@
#include "tao/AnyTypeCode/Any.h"
#include "tao/Object.h"
#include "tao/ORB.h"
-#include "ccm/CCM_ObjectC.h"
-#include "ccm/CCM_SessionComponentC.h"
-#include "ciao/Valuetype_Factories/ConfigValue.h"
-#include "ciao/ComponentServer/CIAO_ServerActivator_Impl.h"
-#include "ciao/ComponentServer/CIAO_ComponentInstallation_Impl.h"
-#include "ciao/ComponentServer/CIAO_PropertiesC.h"
+#include "tao/AnyTypeCode/TypeCode.h"
#include "DAnCE/Logger/Log_Macros.h"
#include "Deployment/Deployment_BaseC.h"
#include "Deployment/Deployment_ApplicationC.h"
#include "Deployment/Deployment_PlanErrorC.h"
#include "Deployment/Deployment_ApplicationManagerC.h"
-#include "DAnCE/Deployment_common.h"
+#include "DAnCE/DAnCE_Utility.h"
#include "DAnCE/DAnCE_PropertiesC.h"
+#include "DAnCE/DAnCE_LocalityManagerC.h"
+
#include "ComponentAttributesSetter.h"
-#include "Name_Utilities.h"
#include <string>
@@ -31,210 +27,7 @@
#endif /* GEN_OSTREAM_OPS */
using namespace DAnCE;
-
-namespace
-{
- template<class T>
- bool get_property_value (const char *name, PROPERTY_MAP &properties, T &val)
- {
- DANCE_TRACE ("NodeApplication::<anonymous>::get_property_value<T>");
- CORBA::Any any;
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO
- ACE_TEXT("NodeApplication::<anonymous>::get_property_value<T> - ")
- ACE_TEXT("Finding property value for name '%C'\n"),
- name));
-
- if (properties.find (name, any) == 0)
- {
- if (any >>= val)
- {
- return true;
- }
- else
- {
- DANCE_ERROR (1, (LM_WARNING, DLINFO
- ACE_TEXT("NodeApplication::<anonymous>::get_property_value<T> - ")
- ACE_TEXT("Failed to extract property value for %C\n"), name));
- return false;
- }
- }
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO
- ACE_TEXT("NodeApplication::<anonymous>::get_property_value<T> - ")
- ACE_TEXT("Property value for name '%C' has no value\n"), name));
-
- return false;
- }
-
- template<>
- bool get_property_value (const char *name, PROPERTY_MAP &properties, bool &val)
- {
- DANCE_TRACE ("NodeApplication::<anonymous>::get_property_value<bool>");
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value<bool> - ")
- ACE_TEXT("Finding property value for name '%C'\n"),
- name));
-
- CORBA::Any any;
- if (properties.find (name, any) == 0)
- {
- if (any >>= CORBA::Any::to_boolean(val))
- {
- return true;
- }
- else
- {
- DANCE_ERROR (1, (LM_WARNING, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value<T> - ")
- ACE_TEXT("Failed to extract property value for %C\n"), name));
- return false;
- }
- }
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value<bool> - ")
- ACE_TEXT("Property value for name '%C' has no value\n"), name));
-
- return false;
- }
-
- template<>
- bool get_property_value (const char *name, PROPERTY_MAP &properties, const char * &val)
- {
- DANCE_TRACE ("NodeApplication::<anonymous>::get_property_value<const char *>");
- CORBA::Any any;
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value<const char *> - ")
- ACE_TEXT("Finding property value for name '%C'\n"),
- name));
-
- if (properties.find (name, any) == 0)
- {
- if (any >>= CORBA::Any::to_string(val, 0))
- {
- DANCE_DEBUG (9, (LM_TRACE,
- DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value<const char *> - ")
- ACE_TEXT("Value is %C\n"), val));
- return true;
- }
- else
- {
- DANCE_ERROR (1, (LM_WARNING, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value<const char *> - ")
- ACE_TEXT("Failed to extract property value for %C\n"), name));
- return false;
- }
- }
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value<const char *> - ")
- ACE_TEXT("Property value for name '%C' has no value\n"), name));
-
- return false;
- }
-
- template<class T>
- bool get_property_value (const char *name, const ::Deployment::Properties &properties, T &val)
- {
- DANCE_TRACE ("NodeApplication::<anonymous>::get_property_value<T>");
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value<T> - ")
- ACE_TEXT("Finding property value for name '%C'\n"),
- name));
-
- for (CORBA::ULong i = 0; i < properties.length (); ++i)
- {
- if (ACE_OS::strcmp (properties[i].name.in (), name) == 0)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value<T> - ")
- ACE_TEXT("Found property '%C'\n"), name));
- if (properties[i].value >>= val)
- return true;
- else
- {
- DANCE_ERROR (1, (LM_WARNING, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value<T> - ")
- ACE_TEXT("Failed to extract property value for %C\n"), name));
- return false;
- }
- }
- }
-
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value<T> - ")
- ACE_TEXT("Property value for name '%C' has no value\n"), name));
-
- return false;
- }
-
- template<>
- bool get_property_value (const char *name, const ::Deployment::Properties &properties, const char * &val)
- {
- DANCE_TRACE ("NodeApplication::<anonymous>::get_property_value<const char *>");
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value< const char *> - ")
- ACE_TEXT("Finding property value for name '%C'\n"),
- name));
-
- for (CORBA::ULong i = 0; i < properties.length (); ++i)
- {
- if (ACE_OS::strcmp (properties[i].name.in (), name) == 0)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value< const char *> - ")
- ACE_TEXT("Found property '%C'\n"), name));
- if (properties[i].value >>= CORBA::Any::to_string (val, 0))
- {
- DANCE_DEBUG (9, (LM_TRACE,
- DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value< const char *> - ")
- ACE_TEXT("Value is %C\n"), val));
- return true;
- }
- else
- {
- DANCE_ERROR (1, (LM_WARNING, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value< const char *> - ")
- ACE_TEXT("Failed to extract property value for %C\n"), name));
- return false;
- }
- }
- }
-
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication::<anonymous>::get_property_value<T> - ")
- ACE_TEXT("Unable to find property named %C\n"), name));
-
- return false;
- }
-
- /// Tests flag, if false, sets it to true and replaces the name and
- /// reason flags of the exception.
- template <typename EXCEPTION>
- void test_and_set_exception (bool &flag, EXCEPTION &exception,
- const char *name, const char *reason)
- {
- if (!flag)
- {
- flag = true;
- exception.name = name;
- exception.reason = reason;
- }
- }
-
- void append_properties (::Deployment::Properties &dest,
- const ::Deployment::Properties &src)
- {
- const char* edu_prop = "edu.vanderbilt.dre.CIAO.ComponentServer.";
- for (CORBA::ULong i = 0; i < src.length (); ++i)
- {
- if (ACE_OS::strncmp (src[i].name.in (), edu_prop, ACE_OS::strlen (edu_prop)) == 0)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO
- ACE_TEXT("NodeApplication::append_properties - ")
- ACE_TEXT("Adding property %C\n"), src[i].name.in ()));
- CORBA::ULong const dest_length = dest.length ();
- dest.length (dest_length + 1);
- dest[dest_length].name = CORBA::string_dup (src[i].name.in ());
- dest[dest_length].value = src[i].value;
- }
- }
- }
-}
-
+using namespace DAnCE::Utility;
NodeApplication_Impl::NodeApplication_Impl (CORBA::ORB_ptr orb,
PortableServer::POA_ptr poa,
@@ -246,7 +39,9 @@ NodeApplication_Impl::NodeApplication_Impl (CORBA::ORB_ptr orb,
plan_ (plan),
node_name_ (node_name),
properties_ (),
- instances_ (plan.instance.length ())
+ handler_ (properties,
+ orb,
+ poa)
{
DANCE_TRACE ("NodeApplication_Impl::NodeApplication_Impl");
PROPERTY_MAP::const_iterator i = properties.begin ();
@@ -263,76 +58,6 @@ NodeApplication_Impl::NodeApplication_Impl (CORBA::ORB_ptr orb,
NodeApplication_Impl::~NodeApplication_Impl()
{
DANCE_TRACE( "NodeApplication_Impl::~NodeApplication_Impl()");
-
- using namespace Components;
- ConfigValues config_values;
- config_values.length (1L);
- CORBA::Any feature_any;
-
- /* TODO: This is highly suspect. I believe we should be using get_component_server,
- not calling create_container. */
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::~NodeApplication_Impl - ")
- ACE_TEXT("Deactivating %u ComponentServers\n"),
- this->servers_.size ()));
- for (size_t i = 0; i < this->servers_.size (); ++i)
- {
- ComponentServer &server = this->servers_[i];
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::~NodeApplication_Impl - ")
- ACE_TEXT("In ComponentServer %u, deactivating %u containers\n"), i, server.containers.size ()));
- for (size_t j = 0; j < server.containers.size (); ++j)
- {
- Container &container = server.containers[j];
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::~NodeApplication_Impl - ")
- ACE_TEXT("In container %u hosted in server %u\n"), j, i));
-
- try
- {
- if (!CORBA::is_nil (container.ref))
- server.ref->remove_container (container.ref.in ());
-
- container.ref = CIAO::Deployment::Container::_nil ();
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::~NodeApplication_Impl - ")
- ACE_TEXT("Caught CORBA exception while removing container %u on server %u: %C\n"),
- j, i, ex._info ().c_str ()));
- }
- catch (...)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::~NodeApplication_Impl - ")
- ACE_TEXT("Caught unknown C++ exception while removing container %u on server %u.\n"),
- j, i));
- }
- }
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::~NodeApplication_Impl - ")
- ACE_TEXT("Removing component server %u\n"), i));
-
- try
- {
- if (!CORBA::is_nil (server.ref))
- this->activator_->remove_component_server (server.ref.in ());
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::~NodeApplication_Impl - ")
- ACE_TEXT("Caught CORBA exception while removing server %u: %C\n"),
- i, ex._info ().c_str ()));
- }
- catch (...)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::~NodeApplication_Impl - ")
- ACE_TEXT("Caught unknown C++ exception while removing server %u.\n"),
- i));
- }
-
- DANCE_DEBUG (8, (LM_INFO, DLINFO ACE_TEXT("NodeApplication_Impl::~NodeApplication_Impl - ")
- ACE_TEXT("Successfully removed container %u on node %C.\n"),
- i, this->node_name_.c_str ()));
- }
}
void
@@ -343,65 +68,7 @@ NodeApplication_Impl::init()
/* TODO: Lets move this stuff to the constructor, shall we?!? */
/* TODO: Might be nice to use a component configurator here to load the proper versions
of the serveractivator. */
-
- /* ServerActivator configuration */
- CORBA::ULong spawn = 0;
- const char *cs_path = 0;
- const char *cs_args = 0;
- CORBA::Boolean multithread = false;
-
- get_property_value (CIAO::Deployment::SERVER_EXECUTABLE, this->properties_, cs_path);
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::init - ")
- ACE_TEXT("Component server path: %C\n"), cs_path));
- get_property_value (CIAO::Deployment::SERVER_ARGUMENTS, this->properties_, cs_args);
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::init - ")
- ACE_TEXT("Component server arguments: %C\n"), cs_args));
- get_property_value (CIAO::Deployment::SERVER_TIMEOUT, this->properties_, spawn);
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::init - ")
- ACE_TEXT("Spawn delay: %u\n"), spawn));
- get_property_value (CIAO::Deployment::SERVER_MULTITHREAD, this->properties_, multithread);
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::init - ")
- ACE_TEXT("Threading: %C\n"), multithread ? "Multi" : "Single"));
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::init - ")
- ACE_TEXT("Spawning server activator\n")));
-
- CIAO::Deployment::ComponentInstallation_Impl *tmp_ci = 0;
-
- ACE_NEW_THROW_EX (tmp_ci,
- CIAO::Deployment::ComponentInstallation_Impl (),
- CORBA::NO_MEMORY ());
-
- PortableServer::ServantBase_var safe_servant = tmp_ci;
-
- PortableServer::ObjectId_var id = this->poa_->activate_object (tmp_ci);
- CORBA::Object_var ci_object = this->poa_->id_to_reference (id.in ());
- Components::Deployment::ComponentInstallation_var ci =
- Components::Deployment::ComponentInstallation::_narrow (ci_object.in ());
-
- for (CORBA::ULong i = 0; i < this->plan_.artifact.length (); ++i)
- {
- tmp_ci->install (this->plan_.artifact[i].name,
- this->plan_.artifact[i].location[0]);
- }
-
- CIAO::Deployment::CIAO_ServerActivator_i *tmp_act = 0;
- ACE_NEW_THROW_EX (tmp_act,
- CIAO::Deployment::CIAO_ServerActivator_i (spawn,
- cs_path,
- cs_args,
- multithread,
- ci.in (),
- this->orb_.in(),
- this->poa_.in()),
- CORBA::NO_MEMORY ());
- this->activator_.reset (tmp_act);
-
- PortableServer::ObjectId_var sa_id =
- this->poa_->activate_object (this->activator_.get ());
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::init - ServerActivator object created\n")));
-
+
const ACE_TCHAR *ior = 0;
if (get_property_value (DAnCE::INSTANCE_NC, this->properties_, ior) ||
@@ -425,1944 +92,380 @@ NodeApplication_Impl::init()
ACE_TEXT("No instance NC was provided\n")));
}
-void
-NodeApplication_Impl::configuration_complete_components ()
+void
+NodeApplication_Impl::init_instances (void)
{
- DANCE_TRACE( "NodeApplication_Impl::configuration_complete_components");
-
- bool error = false;
- ::Deployment::StartError exception;
-
- for (INSTANCES::size_type k = 0; k < this->instances_.size (); ++k)
+ DANCE_TRACE ("NodeApplication::init_instances");
+
+ for (CORBA::ULong i = 0; i < plan_.instance.length (); ++i)
{
- if (!this->instances_[k] ||
- this->instances_[k]->type == eHome ||
- this->instances_[k]->type == eComponentServer)
+ CORBA::ULong impl_idx = plan_.instance[i].implementationRef;
+
+ if (impl_idx >= plan_.implementation.length ())
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ ACE_TEXT("NodeApplication_Impl::init_instances - ")
+ ACE_TEXT("Invalid impelmentation index\n")));
+ }
+
+ const char *instance_type =
+ DAnCE::Utility::get_instance_type (plan_.implementation[impl_idx].execParameter);
+
+ if (instance_type)
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO
+ ACE_TEXT("NodeApplication_Impl::init_instances - ")
+ ACE_TEXT("Considering instance %u:%C with type %C\n"),
+ i,
+ plan_.instance[i].name.in (),
+ instance_type));
+ else
{
- DANCE_DEBUG (9, (LM_TRACE, DLINFO
- ACE_TEXT("NodeApplication_Impl::configuration_complete_components - ")
- ACE_TEXT("Skipping non-component instance\n")));
+ DANCE_DEBUG (4, (LM_DEBUG, DLINFO
+ ACE_TEXT ("NodeApplication_Impl::init_instances - ")
+ ACE_TEXT ("Skipping instance %u:%C\n"),
+ i,
+ plan_.instance[i].name.in ()
+ ));
continue;
}
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::configuration_complete_components - ")
- ACE_TEXT("Invoking configuration_complete on component instance %C on node %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- this->node_name_.c_str ()));
-
- try
- {
- Components::CCMObject_var ccmobj =
- Components::CCMObject::_narrow (this->instances_[k]->ref.in ());
- if (CORBA::is_nil (this->instances_[k]->ref))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::configuration_complete_components - ")
- ACE_TEXT("Failed to narrow object reference for component instance %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- continue;
- }
-
- if (this->instances_[k]->state == eInstalled)
- {
- ccmobj->configuration_complete ();
- this->instances_[k]->state = eConfigured;
+ if (ACE_OS::strcmp (instance_type,
+ DANCE_LOCALITYMANAGER) == 0)
+ {
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO
+ ACE_TEXT("NodeApplication_Impl::init_instances - ")
+ ACE_TEXT("Found LocalityManager instance, deploying\n")));
+
+ CORBA::Any_var reference;
+ this->handler_.install_instance (this->plan_,
+ i,
+ reference.out ());
+
+ ::DAnCE::LocalityManager_var lm_ref;
+ if (reference.in () >>= lm_ref)
+ {
+ this->localities_[plan_.instance[i].name.in ()] = lm_ref._retn ();
+ DANCE_DEBUG (4, (LM_INFO, DLINFO
+ ACE_TEXT("NodeApplication_Impl::init_instances - ")
+ ACE_TEXT("Successfully started Locality %C\n"),
+ plan_.instance[i].name.in ()));
}
else
{
- if (!error)
- {
- error = true;
- exception.name = this->plan_.instance[this->instances_[k]->idd_idx].name.in ();
- exception.reason = "Attempting to activate component that has already passed the configure stage.\n";
- continue;
- }
- }
-
- DANCE_DEBUG (8, (LM_INFO, DLINFO ACE_TEXT("NodeApplication_Impl::configuration_complete_components - ")
- ACE_TEXT("Component %C successfully configured.\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::configuration_complete_components - ")
- ACE_TEXT("Caught CORBA exception from ccm_activate on component %C: %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- ex._info ().c_str ()));
- if (!error)
- {
- error = true;
- exception.name = this->plan_.instance[this->instances_[k]->idd_idx].name.in ();
- exception.reason = ex._info ().c_str ();
- }
- }
- catch (...)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::configuration_complete_components - ")
- ACE_TEXT("Caught unknown C++ exception from ccm_activate on component %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- if (!error)
- {
- error = true;
- exception.name = this->plan_.instance[this->instances_[k]->idd_idx].name.in ();
- exception.reason = "Unknown C++ exception";
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ ACE_TEXT("NodeApplication_Impl::init_instances - ")
+ ACE_TEXT("Unable to resolve LocalityManager object reference\n")));
+ throw ::Deployment::StartError (plan_.instance[i].name.in (),
+ "Unable to resolve LocalityManager object ref\n");
}
}
}
-
- if (error)
- throw exception;
}
-void
-NodeApplication_Impl::start ()
+void
+NodeApplication_Impl::prepare_instances (void)
{
- DANCE_TRACE( "NodeApplication_Impl::start");
-
- bool error (false);
- ::Deployment::StartError exception;
-
- for (INSTANCES::size_type k = 0; k < this->instances_.size (); ++k)
- {
- if (this->instances_[k]->type == eHome ||
- this->instances_[k]->type == eComponentServer)
- {
- continue;
- }
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::start - ")
- ACE_TEXT("Invoking start on component instance %C on node %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- this->node_name_.c_str ()));
-
- try
- {
- CIAO::Deployment::Container_var cont =
- CIAO::Deployment::Container::_narrow (this->instances_[k]->container->ref.in());
-
- if (CORBA::is_nil (this->instances_[k]->container->ref.in ()))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::start - ")
- ACE_TEXT("Failed to narrow object reference for container managing ")
- ACE_TEXT("component instance %C to a CIAO container reference\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- test_and_set_exception (error, exception,
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- "Failed to narrow managing container to CIAO container type");
- continue;
- }
-
- if (this->instances_[k]->state == eConfigured ||
- this->instances_[k]->state == ePassive)
- {
- Components::CCMObject_var comp (Components::CCMObject::_narrow (this->instances_[k]->ref));
- cont->activate_component (comp.in ());
- this->instances_[k]->state = eActive;
+ DANCE_TRACE ("NodeApplication_Impl::prepare_instances");
+
+ typedef DAnCE::Split_Plan < DAnCE::Locality_Splitter > Splitter;
+ Splitter split_plan;
+ split_plan.split_plan (this->plan_);
+
+ Splitter::TSubPlans &plans = split_plan.plans ();
+
+ // @@ Ideally, it would be nice to have the key for the subplans
+ // be the name of the locality instance.
+
+ CORBA::ULong plan (0);
+ // for each sub plan
+ for (Splitter::TSubPlanIterator i = plans.begin ();
+ i != plans.end ();
+ ++i)
+ {
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ "NodeApplication_Impl::prepare_instances - "
+ "Considering sub-plan %u\n",
+ plan++));
+ ::Deployment::DeploymentPlan &sub_plan =
+ (*i).int_id_;
+
+ bool locality_found (false);
+
+ // We need to find the locality
+ for (CORBA::ULong j = 0; j < sub_plan.instance.length (); ++j)
+ {
+ ::Deployment::InstanceDeploymentDescription &inst =
+ sub_plan.instance[j];
+ ::Deployment::MonolithicDeploymentDescription &mdd =
+ sub_plan.implementation[inst.implementationRef];
+
+ const char *instance_type =
+ DAnCE::Utility::get_instance_type (mdd.execParameter);
+
+ if (instance_type &&
+ ACE_OS::strcmp (instance_type,
+ DANCE_LOCALITYMANAGER) == 0)
+ {
+ locality_found = true;
+ DANCE_DEBUG (4, (LM_DEBUG, DLINFO
+ "NodeApplication_Impl::prepare_instances - "
+ "Invoking preparePlan on locality %C\n",
+ inst.name.in ()));
+ this->prepare_instance (inst.name.in (),
+ sub_plan);
}
- else
- {
- if (!error)
- {
- error = true;
- exception.name = this->plan_.instance[this->instances_[k]->idd_idx].name.in ();
- exception.reason = "Attempting to activate component that is not configured or passive.\n";
- }
- }
-
- DANCE_DEBUG (8, (LM_INFO, DLINFO ACE_TEXT("NodeApplication_Impl::start - ")
- ACE_TEXT("Component %C successfully activated.\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
}
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::start - ")
- ACE_TEXT("Caught CORBA exception from ccm_activate on component %C: %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- ex._info ().c_str ()));
- if (!error)
- {
- error = true;
- exception.name = this->plan_.instance[this->instances_[k]->idd_idx].name.in ();
- exception.reason = ex._info ().c_str ();
+
+ if (!locality_found &&
+ sub_plan.instance.length () != 0)
+ {
+ // Need to spawn default locality.
+ DANCE_DEBUG (4, (LM_DEBUG, DLINFO
+ "NodeApplication_Impl::prepare_instances - "
+ "No locality manager found, creating a default locality "
+ "named <%C>\n",
+ sub_plan.instance[0].name.in ()
+ ));
+
+ // Create minimal plan required for locality manager spawn
+ // This is a temporary workaround.
+ ::Deployment::DeploymentPlan tmp_plan;
+ tmp_plan.UUID = this->plan_.UUID;
+ tmp_plan.implementation.length (1);
+ tmp_plan.instance.length (1);
+ tmp_plan.instance[0].implementationRef = 0;
+ tmp_plan.instance[0].name = sub_plan.instance[0].name.in ();
+
+ CORBA::Any_var reference;
+ this->handler_.install_instance (tmp_plan,
+ 0,
+ reference.out ());
+
+ ::DAnCE::LocalityManager_var lm_ref;
+ if (reference.in () >>= lm_ref)
+ {
+ this->localities_[tmp_plan.instance[0].name.in ()] = lm_ref._retn ();
+ DANCE_DEBUG (4, (LM_INFO, DLINFO
+ ACE_TEXT("NodeApplication_Impl::prepare_instances - ")
+ ACE_TEXT("Successfully started Locality %C\n"),
+ tmp_plan.instance[0].name.in ()));
}
- }
- catch (...)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::start - ")
- ACE_TEXT("Caught unknown C++ exception from ccm_activate on component %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- if (!error)
+ else
{
- error = true;
- exception.name = this->plan_.instance[this->instances_[k]->idd_idx].name.in ();
- exception.reason = "Unknown C++ exception";
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ ACE_TEXT("NodeApplication_Impl::prepare_instances - ")
+ ACE_TEXT("Unable to resolve LocalityManager object reference\n")));
+ throw ::Deployment::StartError (tmp_plan.instance[0].name.in (),
+ "Unable to resolve default LocalityManager object ref\n");
}
- }
- }
-
- if (error)
- throw exception;
-}
-
-void
-NodeApplication_Impl::install_home (Container &cont, Instance &inst)
-{
- DANCE_TRACE( "NodeApplication_Impl::install_home");
-
- const ::Deployment::MonolithicDeploymentDescription &mdd =
- this->plan_.implementation[inst.mdd_idx];
- const ::Deployment::InstanceDeploymentDescription &idd =
- this->plan_.instance[inst.idd_idx];
-
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::install_home - ")
- ACE_TEXT("Starting installation of home %C on node %C\n"),
- idd.name.in (), idd.node.in ()));
-
- this->instances_[inst.idd_idx] = &inst;
-
- // Need to get significant property values
- const char *entrypt = 0;
- get_property_value (DAnCE::HOME_FACTORY, mdd.execParameter, entrypt);
-
- if (entrypt == 0)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_home - ")
- ACE_TEXT("Unable to find home factory property on home %C\n"),
- idd.name.in ()));
- throw ::Deployment::InvalidComponentExecParameter (mdd.name.in (),
- "No 'home factory' property present on MDD\n");
- }
-
- // @@TODO: Perhaps need better way to do this.
- Components::ConfigValues config;
- config.length (mdd.execParameter.length () + idd.configProperty.length ());
- CORBA::ULong pos (0);
-
- for (CORBA::ULong i = 0; i < mdd.execParameter.length (); ++i)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::install_home - ")
- ACE_TEXT("Inserting value for execParameter %C\n"), mdd.execParameter[i].name.in ()));
- config[pos++] = new CIAO::ConfigValue_impl (mdd.execParameter[i].name.in (),
- mdd.execParameter[i].value);
- }
-
- for (CORBA::ULong i = 0; i < idd.configProperty.length (); ++i)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::install_home - ")
- ACE_TEXT("Inserting value for configProperty %C\n"), idd.configProperty[i].name.in ()));
- config[pos++] = new CIAO::ConfigValue_impl (idd.configProperty[i].name.in (),
- idd.configProperty[i].value);
- }
-
- try
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::install_home - ")
- ACE_TEXT("Calling install_home on container. Home id '%C', entrypt '%C', ")
- ACE_TEXT("length of config values is %u\n"),
- idd.name.in (), entrypt, config.length ()));
-
- ::Components::CCMHome_var home = cont.ref->install_home (idd.name.in (),
- entrypt,
- config);
-
- if (CORBA::is_nil (home))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_home - ")
- ACE_TEXT("Got nil object reference from container while installing home %C on node %C,")
- ACE_TEXT("throwing PlanError\n"),
- idd.name.in (), idd.node.in ()));
- throw ::Deployment::PlanError (idd.name.in (),
- "Nil object reference returned from conainer");
- }
-
- DANCE_DEBUG (8, (LM_INFO, DLINFO ACE_TEXT("NodeApplication_Impl::install_home - ")
- ACE_TEXT("Home '%C' on node '%C' successfully installed\n"),
- idd.name.in (), idd.node.in ()));
-
- inst.ref = CORBA::Object::_narrow (home);
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::install_home - ")
- ACE_TEXT("Populating attributes for home %C\n"),
- idd.name.in ()));
-
-
- ComponentAttributesSetter::SetComponentAttributes (idd.name.in (),
- inst.ref.in (),
- idd.configProperty,
- this->orb_.in ());
-
- inst.state = eInstalled;
- }
- catch (const Components::InvalidConfiguration &)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_home - ")
- ACE_TEXT("Error creating home %C on node %C, caught InvalidConfiguration. Throwing exception\n"),
- idd.name.in (), idd.node.in ()));
- throw ::Deployment::InvalidProperty (idd.name.in (),
- "Invalid configuration exception from container");
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_home - ")
- ACE_TEXT("Caught CORBA exception while installing home %C: %C\n"),
- idd.name.in (),
- ex._info ().c_str ()));
- throw ::Deployment::StartError (idd.name.in (),
- ex._info ().c_str ());
- }
- catch (...)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_home - ")
- ACE_TEXT("Caught unknown C++ exception while installing home %C\n"),
- idd.name.in ()));
- throw ::Deployment::StartError (idd.name.in (),
- "Unknown C++ exception");
- }
-}
-
-void
-NodeApplication_Impl::install_component (Container &cont, Instance &inst)
-{
- DANCE_TRACE( "NodeApplication_Impl::install_component");
-
- ::Deployment::MonolithicDeploymentDescription const &mdd =
- this->plan_.implementation[inst.mdd_idx];
- ::Deployment::InstanceDeploymentDescription const &idd =
- this->plan_.instance[inst.idd_idx];
-
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::install_home - ")
- ACE_TEXT("Starting installation of home %C on node %C\n"),
- idd.name.in (), idd.node.in ()));
-
- this->instances_[inst.idd_idx] = &inst;
-
- const char *entrypt = 0;
- get_property_value (DAnCE::COMPONENT_FACTORY, mdd.execParameter, entrypt);
-
- if (entrypt == 0)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_component - ")
- ACE_TEXT("Unable to find component factory property on component %C\n"),
- idd.name.in ()));
- throw ::Deployment::InvalidComponentExecParameter (mdd.name.in (),
- "No 'component factory' property present on MDD\n");
- }
-
- // @@TODO: Perhaps need better way to do this.
- Components::ConfigValues config;
- config.length (mdd.execParameter.length () + idd.configProperty.length ());
- CORBA::ULong pos (0);
-
- for (CORBA::ULong i = 0; i < mdd.execParameter.length (); ++i)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::install_component - ")
- ACE_TEXT("Inserting value for execParameter %C\n"), mdd.execParameter[i].name.in ()));
- config[pos++] = new CIAO::ConfigValue_impl (mdd.execParameter[i].name.in (),
- mdd.execParameter[i].value);
- }
-
- for (CORBA::ULong i = 0; i < idd.configProperty.length (); ++i)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::install_component - ")
- ACE_TEXT("Inserting value for configProperty %C\n"), idd.configProperty[i].name.in ()));
- config[pos++] = new CIAO::ConfigValue_impl (idd.configProperty[i].name.in (),
- idd.configProperty[i].value);
- }
-
- ::CIAO::Deployment::Container_var ciao_cont = ::CIAO::Deployment::Container::_narrow (cont.ref.in ());
-
- if (CORBA::is_nil (ciao_cont.in ()))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_component - ")
- ACE_TEXT("Unable to narrow container assigned for component instance %C to one that supports ")
- ACE_TEXT("un-homed components.\n")));
- throw ::Deployment::PlanError (idd.name.in (),
- "Hosting container does not support unhomed components.\n");
- }
-
- try
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::install_component - ")
- ACE_TEXT("Calling install_component on container. Component id '%C', entrypt '%C', ")
- ACE_TEXT("length of config values is %u\n"),
- idd.name.in (), entrypt, config.length ()));
-
- ::Components::CCMObject_var comp = ciao_cont->install_component (idd.name.in (),
- entrypt,
- config);
-
- if (CORBA::is_nil (comp))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_component - ")
- ACE_TEXT("Got nil object reference from container while installing component %C on node %C,")
- ACE_TEXT("throwing PlanError\n"),
- idd.name.in (), idd.node.in ()));
- throw ::Deployment::PlanError (idd.name.in (),
- "Nil object reference returned from install_component on conainer");
- }
-
- DANCE_DEBUG (8, (LM_INFO, DLINFO ACE_TEXT("NodeApplication_Impl::install_component - ")
- ACE_TEXT("Component '%C' on node '%C' successfully installed\n"),
- idd.name.in (), idd.node.in ()));
-
- inst.ref = CORBA::Object::_narrow (comp);
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::install_component - ")
- ACE_TEXT("Populating attributes for home %C\n"),
- idd.name.in ()));
-
-
- ComponentAttributesSetter::SetComponentAttributes (idd.name.in (),
- inst.ref.in (),
- idd.configProperty,
- this->orb_.in ());
-
- inst.state = eInstalled;
- }
- catch (const Components::InvalidConfiguration &)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_component - ")
- ACE_TEXT("Error creating component %C on node %C, caught InvalidConfiguration. Throwing exception\n"),
- idd.name.in (), idd.node.in ()));
- throw ::Deployment::InvalidProperty (idd.name.in (),
- "Invalid configuration exception from container");
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_component - ")
- ACE_TEXT("Caught CORBA exception while installing component %C: %C\n"),
- idd.name.in (),
- ex._info ().c_str ()));
- throw ::Deployment::StartError (idd.name.in (),
- ex._info ().c_str ());
- }
- catch (...)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_component - ")
- ACE_TEXT("Caught unknown C++ exception while installing component %C\n"),
- idd.name.in ()));
- throw ::Deployment::StartError (idd.name.in (),
- "Unknown C++ exception");
- }
-}
-
-void
-NodeApplication_Impl::install_homed_component (Container &cont, Instance &inst)
-{
- DANCE_TRACE("NodeApplication_Impl::install_homed_component (unsigned int index)");
-
- ::Deployment::InstanceDeploymentDescription const &idd =
- this->plan_.instance[inst.idd_idx];
- this->instances_[inst.idd_idx] = &inst;
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::install_homed_component - ")
- ACE_TEXT("Starting installation of homed component %C on node %C\n"),
- idd.name.in (),
- idd.node.in ()));
-
- const char *home_id = 0;
- get_property_value (DAnCE::EXPLICIT_HOME, idd.configProperty, home_id);
-
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::install_homed_component - ")
- ACE_TEXT("Property %C has value %C\n"),
- DAnCE::EXPLICIT_HOME, home_id));
-
-
- if (home_id == 0)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("Nodeapplication_Impl::install_homed_component - ")
- ACE_TEXT("Apparent homed component %C lacks a %C configProperty, aborting installation\n"),
- idd.name.in (), DAnCE::EXPLICIT_HOME));
- throw ::Deployment::PlanError (idd.name.in (),
- "No explicit home property on component requiring explicit home.");
- }
-
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::install_homed_component - ")
- ACE_TEXT("Found explicit home property '%C' for component '%C'\n"),
- home_id,
- idd.name.in ()));
-
- Instance *home_inst (0);
- for (size_t i = 0; i < cont.homes.size (); ++i)
- {
- if (ACE_OS::strcmp (home_id,
- this->plan_.instance[cont.homes[i].idd_idx].name.in ()) == 0)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::install_homed_component - ")
- ACE_TEXT("Found home designated for component '%C'\n"),
- idd.name.in ()));
- home_inst = &cont.homes[i];
- break;
+ this->prepare_instance (sub_plan.instance[0].name.in (),
+ sub_plan);
}
- }
-
- if (home_inst == 0)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_homed_component - ")
- ACE_TEXT("Unable to find home instance matching %C allocated to same container as component %C\n"),
- home_id,
- idd.name.in ()));
- throw ::Deployment::InvalidProperty (idd.name.in (),
- "Unable to find valid home allocated to same container.");
- }
-
- Components::KeylessCCMHome_var home =
- Components::KeylessCCMHome::_narrow (home_inst->ref.in ());
-
- if (CORBA::is_nil (home.in ()))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_homed_component - ")
- ACE_TEXT("Object reference for home '%C' for homed component '%C' is nil\n"),
- home_id,
- idd.name.in ()));
- throw ::Deployment::PlanError (idd.name.in (),
- "Installed home for explicitly homed component has nil object reference\n");
- }
-
- try
- {
- inst.home = home_inst;
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::install_homed_component - ")
- ACE_TEXT("Invoking create_component on home %C for component %C\n"),
- home_id,
- idd.name.in ()));
-
- Components::CCMObject_var ccm_obj = home->create_component ();
-
- if (CORBA::is_nil (ccm_obj))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_homed_component - ")
- ACE_TEXT("Received nil component reference from create_component on home %C ")
- ACE_TEXT(" while creating component %C\n"),
- home_id, idd.name.in ()));
- throw ::Deployment::StartError (idd.name.in (),
- "Home for explicitly homed component returned nil");
- }
-
- inst.ref = CORBA::Object::_narrow (ccm_obj.in ());
- DANCE_DEBUG (8, (LM_INFO, DLINFO ACE_TEXT("NodeApplication_Impl::install_homed_component - ")
- ACE_TEXT("Component %C successfully installed in home %C\n"),
- idd.name.in (),
- home_id));
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::install_home - ")
- ACE_TEXT("Populating attributes for component %C\n"),
- idd.name.in ()));
- ComponentAttributesSetter::SetComponentAttributes (idd.name.in (),
- inst.ref.in (),
- idd.configProperty,
- this->orb_.in ());
- inst.state = eInstalled;
- }
- catch (const Components::CreateFailure &)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_homed_component - ")
- ACE_TEXT("Caught CreateFailure exception from home '%C' while installing component '%C'\n"),
- home_inst,
- idd.name.in ()));
- throw ::Deployment::StartError (idd.name.in (),
- "Caught CreateFailure exception");
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_homed_component - ")
- ACE_TEXT("Caught CORBA exception while installing component %C in home %C: %C\n"),
- idd.name.in (),
- home_id,
- ex._info ().c_str ()));
- throw ::Deployment::StartError (idd.name.in (),
- ex._info ().c_str ());
- }
- catch (...)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::install_homed_component - ")
- ACE_TEXT("Caught unknown C++ exception while installing component %C in home %C\n"),
- idd.name.in (),
- home_id));
- throw ::Deployment::StartError (idd.name.in (),
- "Unknown C++ exception");
+
}
}
-void
-NodeApplication_Impl::create_component_server (size_t index)
+void
+NodeApplication_Impl::prepare_instance (const char *name,
+ const Deployment::DeploymentPlan &plan)
{
- DANCE_TRACE ("NodeApplication_Impl::create_component_server");
+ DANCE_TRACE ("NodeApplication_Impl::prepare_instance");
- ComponentServer &server = this->servers_[index];
+ ::Deployment::ApplicationManager_var app;
try
{
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::create_component_Server - ")
- ACE_TEXT("creating component server %u\n"), index));
- ::Components::ConfigValues config_values;
-
- if (this->servers_[index].properties != 0)
- {
- DANCE_DEBUG (9, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::create_component_Server - ")
- ACE_TEXT ("Passing %u properties to component server\n"),
- this->servers_[index].properties->length ()));
-
- config_values.length (this->servers_[index].properties->length ());
- for (CORBA::ULong i = 0; i < this->servers_[index].properties->length ();
- ++i)
- {
- DANCE_DEBUG (9, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::create_component_Server - ")
- ACE_TEXT ("Copying value <%C>\n"),
- (*this->servers_[index].properties)[i].name.in ()));
-
- config_values[i] = new CIAO::ConfigValue_impl ((*this->servers_[index].properties)[i].name.in (),
- (*this->servers_[index].properties)[i].value);
-
- }
- }
-
-
- server.ref = this->activator_->create_component_server (config_values);
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::create_component_server - ")
- ACE_TEXT("component server created\n")));
- }
- catch (const ::Components::CreateFailure& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::create_container - ")
- ACE_TEXT("Components::Deployment::ServerActivator_var::create_component_server() ")
- ACE_TEXT("returned ::Components::CreateFailure exception\n")));
- throw ::Deployment::StartError("",
- "Received a ::Components::CreateFailure exception while creating component server.");
- }
- catch (const ::Components::Deployment::InvalidConfiguration& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::create_container - ")
- ACE_TEXT("Components::Deployment::ServerActivator_var::create_component_server() ")
- ACE_TEXT("returned ::Components::Deployment::InvalidConfiguration exception\n")));
- throw ::Deployment::InvalidProperty("",
- "::Components::Deployment::InvalidConfiguration exception caught while creating server");
+ app = this->localities_[name]->preparePlan (plan,
+ 0);
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO
+ "NodeApplication_Impl::prepare_instance - "
+ "Locality <%C> successfully prepared.\n",
+ name));
}
-
- try
- {
- for (size_t i = 0; i < server.containers.size (); ++i)
- {
- this->create_container (index, i);
- }
- }
- catch (...)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::create_container - ")
- ACE_TEXT("Caught exception whilst creating container; re-throwing.\n")));
- throw;
- }
-}
-
-void
-NodeApplication_Impl::store_instance_ior (Instance &inst)
-{
- DANCE_TRACE ("NodeApplication_Impl::store_instance_ior");
-
- const char *name = 0;
-
- if (get_property_value (DAnCE::REGISTER_NAMING,
- this->plan_.instance[inst.idd_idx].configProperty,
- name))
+ catch (CORBA::Exception &ex)
{
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::store_instance_ior - ")
- ACE_TEXT("Storing instance '%C' object reference in Naming Service as %C\n"),
- this->plan_.instance[inst.idd_idx].name.in (),
- name));
-
- Name_Utilities::bind_object (name, inst.ref.in (), this->instance_nc_.in ());
- }
-
- if (get_property_value (DAnCE::INSTANCE_IOR_FILE,
- this->plan_.instance[inst.idd_idx].configProperty,
- name))
- {
- CORBA::String_var ior = this->orb_->object_to_string (inst.ref.in ());
- Name_Utilities::write_ior (ACE_TEXT_CHAR_TO_TCHAR (name),
- (ior.in ()));
- }
-}
-
-void
-NodeApplication_Impl::create_container (size_t server, size_t cont_idx)
-{
- DANCE_TRACE ("NodeApplication_Impl::create_container");
-
- Container &container = this->servers_[server].containers[cont_idx];
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::create_container - ")
- ACE_TEXT("Creating container\n")));
- // TODO: Need to create configvalues
- Components::ConfigValues cvs;
-
- container.ref = this->servers_[server].ref->create_container (cvs);
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::create_container - ")
- ACE_TEXT("Configuring %u homes on container %u on server %u\n"),
- container.homes.size (),
- server, cont_idx));
-
- // Configure homes first
- for (size_t i = 0; i < container.homes.size (); ++i)
- {
- this->install_home (container, container.homes[i]);
- this->store_instance_ior (container.homes[i]);
+ DANCE_ERROR (2, (LM_ERROR, DLINFO
+ "NodeApplication_Impl::prepare_instance - "
+ "Caugt unexpected CORBA exception while invoking preparePlan %C\n",
+ ex._info ().c_str ()));
}
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::create_container - ")
- ACE_TEXT("Configuring %u components on container %u on server %u\n"),
- container.components.size (),
- server,
- cont_idx));
-
- // Configure components
- for (size_t i = 0; i < container.components.size (); ++i)
+ if (CORBA::is_nil (app.in ()))
{
- switch (container.components[i].type)
- {
- case eComponent:
- this->install_component (container, container.components[i]);
- break;
- case eHomedComponent:
- this->install_homed_component (container, container.components[i]);
- break;
- default:
- break;
- }
- this->store_instance_ior (container.components[i]);
+ DANCE_ERROR (1, (LM_ERROR, DLINFO "NodeApplication_Impl::prepare_instance - "
+ "Error: Didn't get a valid reference back from LM preparePlan "
+ "for locality %C\n",
+ name));
+
+ // For the time being, we don't need to cache this reference.
+ // it's the same as the reference we used to invoke preparePlan.
}
+
}
-NodeApplication_Impl::ColocationMap
-NodeApplication_Impl::create_colocation_groups (void)
+void
+NodeApplication_Impl::start_launch_instances (const Deployment::Properties &prop,
+ Deployment::Connections_out providedReference)
{
- DANCE_TRACE ("NodeApplication_Impl::create_colocation_groups");
-
- ColocationMap retval;
- this->servers_.max_size (this->plan_.localityConstraint.length () + 1);
-
- size_t num_servers = 0;
-
- for (CORBA::ULong i = 0; i < this->plan_.instance.length (); ++i)
- {
- retval [this->plan_.instance[i].name.in ()] = -1;
- }
-
- for (CORBA::ULong i = 0; i < this->plan_.localityConstraint.length (); ++i)
- {
- if (this->plan_.localityConstraint[i].constraint == ::Deployment::PlanNoConstraint)
+ DANCE_TRACE ("NodeApplication_Impl::start_launch_instances");
+ Deployment::Connections *tmp (0);
+
+ ACE_NEW_THROW_EX (tmp,
+ Deployment::Connections (this->plan_.connection.length ()),
+ CORBA::NO_MEMORY ());
+
+ Deployment::Connections_var retval (tmp);
+
+ for (LOCALITY_MAP::const_iterator i = this->localities_.begin ();
+ i != this->localities_.end (); ++i)
+ {
+ DANCE_DEBUG (4, (LM_INFO, DLINFO
+ "NodeApplication_Impl::start_launch_instances - "
+ "StartLaunching locality <%C>\n",
+ i->first.c_str ()));
+
+ try
{
- DANCE_DEBUG (10, (LM_INFO, DLINFO
- ACE_TEXT ("NodeApplication_Impl::create_colocation_groups - ")
- ACE_TEXT ("Skipping NoConstraint Colocation group\n")));
- continue;
+ i->second->startLaunch (prop,
+ providedReference);
}
- else if (this->plan_.localityConstraint[i].constraint != ::Deployment::PlanSameProcess)
+ catch (Deployment::PlanError &ex)
{
DANCE_ERROR (1, (LM_ERROR, DLINFO
- ACE_TEXT ("NodeApplication_Impl::create_colocation_groups - ")
- ACE_TEXT ("Error: On locality constraint %u, unsupported locality constraint.\n"),
- i));
- continue;
- }
-
- ::CORBA::ULongSeq const &instances =
- this->plan_.localityConstraint[i].constrainedInstanceRef;
-
- this->servers_.size (num_servers + 1);
-
- for (CORBA::ULong j = 0; j < instances.length (); ++j)
- {
- std::string id = this->plan_.instance[instances[j]].name.in ();
-
- DANCE_DEBUG (8, (LM_INFO, DLINFO
- ACE_TEXT ("NodeApplication_Impl::create_colocation_groups - ")
- ACE_TEXT ("Instance <%C> allocated to component server %u\n"),
- id.c_str (), num_servers));
-
- retval[id] = num_servers;
-
- CORBA::ULong impl = this->plan_.instance[instances[j]].implementationRef;
-
- if (this->get_instance_type (this->plan_.implementation[impl].execParameter) ==
- eComponentServer)
- {
- DANCE_DEBUG (8, (LM_INFO, DLINFO
- ACE_TEXT ("NodeApplication_Impl::create_colocation_groups - ")
- ACE_TEXT ("Found component server instance\n")));
-
- this->servers_[num_servers].properties = &this->plan_.instance[instances[j]].configProperty;
- }
- }
-
- ++num_servers;
- }
-
- bool create_default_server (false);
-
- for (ColocationMap::iterator i = retval.begin ();
- i != retval.end (); ++i)
- {
- if (i->second == -1)
- {
- if (!create_default_server)
- {
- DANCE_DEBUG (8, (LM_INFO, DLINFO
- ACE_TEXT ("NodeApplication_Impl::create_colocation_groups - ")
- ACE_TEXT ("Creating default colocation group.\n")));
- create_default_server = true;
- }
-
- DANCE_DEBUG (8, (LM_INFO, DLINFO
- ACE_TEXT ("NodeApplication_Impl::create_colocation_groups - ")
- ACE_TEXT ("Assigning instance <%C> to default colocation group.\n"),
- i->first.c_str ()));
- i->second = num_servers;
+ "NodeApplication_Impl::start_launch_instances - "
+ "Caught PlanError Exception %C:%C\n",
+ ex.name.in (),
+ ex.reason.in ()));
+ throw;
}
- else
+ catch (CORBA::Exception &ex)
{
-
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "NodeApplication_Impl::start_launch_instances - "
+ "Caught CORBA Exception %C\n",
+ ex._info ().c_str ()));
+ throw;
}
}
-
- if (create_default_server)
- {
- ++num_servers;
- }
-
- this->servers_.size (num_servers);
-
- return retval;
}
void
-NodeApplication_Impl::init_components()
+NodeApplication_Impl::finishLaunch (const ::Deployment::Connections & providedReference,
+ ::CORBA::Boolean start)
{
- DANCE_TRACE ("NodeApplication_Impl::init_components");
-
- Components::ConfigValues config_values;
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO
- ACE_TEXT("NodeApplication_Impl::init_components - ")
- ACE_TEXT("Configuring %u component/home instances\n"),
- this->plan_.instance.length()));
-
- if (this->plan_.instance.length () == 0)
- return;
-
- ColocationMap colocation_map = this->create_colocation_groups ();
-
- // @@TODO: For the moment, we are only going to support a single container per server.
- // in the future, we will need to determine how many containers we need per server.
- for (size_t i = 0; i < this->servers_.size (); ++i)
- {
- this->servers_[i].containers.size (1);
- }
+ DANCE_TRACE ("NodeApplication_Impl::finishLaunch");
- for (CORBA::ULong i = 0; i < this->plan_.instance.length(); i++)
+
+ for (LOCALITY_MAP::const_iterator i = this->localities_.begin ();
+ i != this->localities_.end (); ++i)
{
+ DANCE_DEBUG (4, (LM_INFO, DLINFO
+ "NodeApplication_Impl::finish_launch_instances - "
+ "FinishLaunching locality <%C>\n",
+ i->first.c_str ()));
+
try
{
- CORBA::ULong impl = this->plan_.instance[i].implementationRef;
- // Determine type from implementation properties, then from instance properties.
- EInstanceType type =
- this->get_instance_type (this->plan_.implementation[impl].execParameter);
- if (type == eInvalid)
- type = this->get_instance_type (this->plan_.instance[i].configProperty);
- if (type == eInvalid)
- continue;
-
- switch (type)
- {
- case eHome:
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO
- ACE_TEXT("NodeApplication_Impl::init_components - ")
- ACE_TEXT("Allocating instance %C as a home\n"),
- this->plan_.instance[i].name.in ()));
- size_t const svr = colocation_map[this->plan_.instance[i].name.in ()];
- size_t const pos = this->servers_[svr].containers[0].homes.size ();
-
- //append_properties (this->servers_[svr].properties, this->plan_.instance[i].configProperty);
-
- this->servers_[svr].containers[0].homes.size (pos + 1);
- this->servers_[svr].containers[0].homes[pos] = Instance (eHome,
- &this->servers_[svr].containers[0],
- i,
- this->plan_.instance[i].implementationRef);
- break;
- }
- case eComponent:
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::init_components - ")
- ACE_TEXT("Allocating instance %C as a standalone component\n"),
- this->plan_.instance[i].name.in ()));
- size_t const svr = colocation_map[this->plan_.instance[i].name.in ()];
- size_t const pos = this->servers_[svr].containers[0].components.size ();
- //append_properties (this->servers_[svr].properties, this->plan_.instance[i].configProperty);
- this->servers_[svr].containers[0].components.size (pos + 1);
- this->servers_[svr].containers[0].components[pos] = Instance (eComponent,
- &this->servers_[svr].containers[0],
- i,
- this->plan_.instance[i].implementationRef);
- break;
- }
- case eHomedComponent:
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::init_components - ")
- ACE_TEXT("Allocating instance %C as a home managed component\n"),
- this->plan_.instance[i].name.in ()));
- size_t const svr = colocation_map[this->plan_.instance[i].name.in ()];
- size_t const pos = this->servers_[svr].containers[0].components.size ();
- //append_properties (this->servers_[svr].properties, this->plan_.instance[i].configProperty);
- this->servers_[svr].containers[0].components.size (pos + 1);
- this->servers_[svr].containers[0].components[pos] = Instance (eHomedComponent,
- &this->servers_[svr].containers[0],
- i,
- this->plan_.instance[i].implementationRef);
- break;
- }
- case eComponentServer:
- {
- size_t const svr = colocation_map[this->plan_.instance[i].name.in ()];
- this->servers_[svr].instance = Instance (eComponentServer,
- 0,
- i,
- this->plan_.instance[i].implementationRef);
- this->instances_[i] = &this->servers_[svr].instance;
- break;
- }
-
- default:
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::init_components - ")
- ACE_TEXT("get_instance_type function returned invalid instance type\n")));
- throw ::Deployment::InvalidProperty (this->plan_.instance[i].name.in (),
- "Unable to affirmatively determine instance type");
- }
- } // switch
+ i->second->finishLaunch (providedReference,
+ start);
}
- catch (...)
+ catch (CORBA::Exception &ex)
{
DANCE_ERROR (1, (LM_ERROR, DLINFO
- ACE_TEXT("Exception was thrown while sorting instance \"%C\".\n"),
- this->plan_.instance[i].name.in()));
+ "NodeApplication_Impl::finish_launch_instances - "
+ "Caught CORBA Exception %C\n",
+ ex._info ().c_str ()));
throw;
}
}
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO
- ACE_TEXT("NodeApplication_Impl::init_components - ")
- ACE_TEXT("Creating component servers and installing components.\n")));
-
- for (size_t i = 0; i < this->servers_.size (); ++i)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::init_components - ")
- ACE_TEXT("Creating component server with index %u\n"), i));
- this->create_component_server (i);
- }
-
-
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::init_components - finished\n")));
}
void
-NodeApplication_Impl::passivate_components()
+NodeApplication_Impl::start ()
{
- DANCE_TRACE ("NodeApplication_Impl::passivate_components()");
-
- bool error (false);
- ::Deployment::StopError exception ("unfilled", "unfilled passivate components");
+ DANCE_TRACE( "NodeApplication_Impl::start");
- for (INSTANCES::size_type k = 0; k < this->instances_.size (); ++k)
+ for (LOCALITY_MAP::const_iterator i = this->localities_.begin ();
+ i != this->localities_.end (); ++i)
{
- if (this->instances_[k]->type == eHome ||
- this->instances_[k]->type == eComponentServer ||
- this->instances_[k]->type == eInvalid)
- continue;
-
+ DANCE_DEBUG (4, (LM_INFO, DLINFO
+ "NodeApplication_Impl::start - "
+ "Starting locality <%C>\n",
+ i->first.c_str ()));
+
try
{
- CIAO::Deployment::Container_var cont =
- CIAO::Deployment::Container::_narrow (this->instances_[k]->container->ref.in());
-
- if (CORBA::is_nil (this->instances_[k]->container->ref.in ()))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::start - ")
- ACE_TEXT("Failed to narrow object reference for container managing ")
- ACE_TEXT("component instance %C to a CIAO container reference\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- test_and_set_exception (error, exception,
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- "Failed to narrow managing container to CIAO container type");
- continue;
- }
-
- if (this->instances_[k]->state == eActive)
- {
- Components::CCMObject_var comp (Components::CCMObject::_narrow (this->instances_[k]->ref));
- cont->passivate_component (comp.in ());
- this->instances_[k]->state = ePassive;
- }
- else
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::start - ")
- ACE_TEXT("Attempting to passivate non-active component %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- test_and_set_exception (error, exception,
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- "Attempting to passivate non-active component.");
- continue;
- }
-
- DANCE_DEBUG (8, (LM_INFO, DLINFO ACE_TEXT("NodeApplication_Impl::passivate_components - ")
- ACE_TEXT("Component %C successfully passivated.\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::passivate_components - ")
- ACE_TEXT("Caught CORBA exception from ccm_passivate on component %C: %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- ex._info ().c_str ()));
- if (!error)
- {
- error = true;
- exception.name = this->plan_.instance[this->instances_[k]->idd_idx].name.in ();
- exception.reason = ex._info ().c_str ();
- }
+ i->second->start ();
}
- catch (...)
+ catch (CORBA::Exception &ex)
{
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::passivate_components - ")
- ACE_TEXT("Caught unknown C++ exception from ccm_passivate on component %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- if (!error)
- {
- error = true;
- exception.name = this->plan_.instance[this->instances_[k]->idd_idx].name.in ();
- exception.reason = "Unknown C++ exception";
- }
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "NodeApplication_Impl::start - "
+ "Caught CORBA Exception %C\n",
+ ex._info ().c_str ()));
+ throw;
}
}
-
- if (error)
- throw exception;
}
-void
-NodeApplication_Impl::remove_components()
+void
+NodeApplication_Impl::remove_instances (void)
{
- DANCE_TRACE ("NodeApplication_Impl::remove_components()");
-
- bool error (false);
- ::Deployment::StopError exception ("unfilled", "unfilled remove_components");
-
- // Removing components first.
- for (INSTANCES::size_type k = 0; k < this->instances_.size (); ++k)
- {
+ DANCE_TRACE ("NodeApplication_Impl::remove_instances");
+
+ ::Deployment::StopError final_exception;
+ bool flag (false);
+
+
+ for (LOCALITY_MAP::iterator i = this->localities_.begin ();
+ i != this->localities_.end (); ++i)
+ {
+ DANCE_DEBUG (4, (LM_INFO, DLINFO
+ "NodeApplication_Impl::remove_instances - "
+ "Removing locality <%C>\n",
+ i->first.c_str ()));
+
try
{
- if (this->instances_[k]->type == eInvalid ||
- this->instances_[k]->type == eComponentServer ||
- this->instances_[k]->type == eHome)
- continue;
-
- if (this->instances_[k]->state != ePassive)
- DANCE_DEBUG (6, (LM_WARNING, DLINFO ACE_TEXT("NodeApplication_Impl::remove_components - ")
- ACE_TEXT("Attempting to remove component that is not passive.\n")));
-
- if (this->instances_[k]->type == eComponent)
- {
- if (this->instances_[k]->container == 0)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::remove_components - ")
- ACE_TEXT("Container element in component data structure for '%C' is nill\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()
- ));
-
- test_and_set_exception (error,
- exception,
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- "Container element in component data structure is nil\n");
- this->instances_[k]->state = eInvalidState;
- continue;
- }
-
- CIAO::Deployment::Container_var ciao_container =
- CIAO::Deployment::Container::_narrow (this->instances_[k]->container->ref.in ());
-
- if (CORBA::is_nil (ciao_container.in ()))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::remove_components - ")
- ACE_TEXT("Attempted to remove un-homed component from unsupported container\n")));
-
- test_and_set_exception (error, exception,
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- "Attempted to remove un-homed component from unsupported container\n");
- this->instances_[k]->state = eInvalidState;
- continue;
- }
-
- ciao_container->remove_component (Components::CCMObject::_narrow (this->instances_[k]->ref.in ()));
- }
- else
- {
- Components::CCMHome_var home =
- Components::CCMHome::_narrow (this->instances_[k]->home->ref.in ());
-
- if (CORBA::is_nil (home))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::remove_components - ")
- ACE_TEXT("Object reference for home %C, managing component %C is nil.\n"),
- this->plan_.instance[this->instances_[k]->home->idd_idx].name.in (),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- test_and_set_exception (error,
- exception,
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- "Managing home's object reference is invalid.");
- this->instances_[k]->state = eInvalidState;
- continue;
- }
-
- home->remove_component (Components::CCMObject::_narrow (this->instances_[k]->ref.in ()));
- }
-
-
- this->instances_[k]->state = eRemoved;
-
- DANCE_DEBUG (8, (LM_INFO, DLINFO ACE_TEXT("NodeApplication_Impl::remove_components - ")
- ACE_TEXT("Component %C successfully removed.\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
-
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::remove_components - ")
- ACE_TEXT("Caught CORBA exception removing on component %C: %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- ex._info ().c_str ()));
- test_and_set_exception (error,
- exception,
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- exception.reason = ex._info ().c_str ());
- }
- catch (...)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::remove_components - ")
- ACE_TEXT("Caught unknown C++ exception from ccm_remove on component %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- test_and_set_exception (error,
- exception,
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- "Unknown C++ exception");
- }
- }
-
- for (INSTANCES::size_type k = 0; k < this->instances_.size (); ++k)
- {
- try
- {
- if (this->instances_[k]->type != eHome)
- continue;
-
- DANCE_ERROR (1, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::remove_components - ")
- ACE_TEXT("Removing home %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
-
- if (this->instances_[k]->container == 0 ||
- CORBA::is_nil (this->instances_[k]->container->ref.in ()))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::remove_components - ")
- ACE_TEXT("Home %C lacks an associated container reference\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- test_and_set_exception (error,
- exception,
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- "Didn't have a valid container reference");
- continue;
- }
-
- Components::CCMHome_var home = Components::CCMHome::_narrow (this->instances_[k]->ref.in ());
- this->instances_[k]->container->ref->remove_home (home.in ());
-
- DANCE_DEBUG (8, (LM_INFO, DLINFO ACE_TEXT("NodeApplication_Impl::remove_components - ")
- ACE_TEXT("Successfully uninstalled home %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- }
- catch (const CORBA::Exception &ex)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::remove_components - ")
- ACE_TEXT("Caught CORBA exception removing home %C: %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- ex._info ().c_str ()));
- test_and_set_exception (error,
- exception,
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- exception.reason = ex._info ().c_str ());
- }
- catch (...)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::remove_components - ")
- ACE_TEXT("Caught unknown C++ exception from while removing home %C\n"),
- this->plan_.instance[this->instances_[k]->idd_idx].name.in ()));
- test_and_set_exception (error,
- exception,
- this->plan_.instance[this->instances_[k]->idd_idx].name.in (),
- "Unknown C++ exception");
- }
- }
-
-if (error)
- throw exception;
-}
-
-NodeApplication_Impl::EInstanceType
-NodeApplication_Impl::get_instance_type (const ::Deployment::Properties& prop) const
-{
- DANCE_TRACE ("NodeApplication_Impl::get_instance_type");
+ CORBA::Any ref;
+ ref <<= DAnCE::LocalityManager::_duplicate (i->second);
+
+ i->second->destroyApplication (0);
- for (CORBA::ULong i = 0; i < prop.length (); ++i)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::get_instance_type - ")
- ACE_TEXT("Checking property %C\n"),
- prop[i].name.in ()));
-
- if (ACE_OS::strcmp (prop[i].name.in (),
- DAnCE::HOME_FACTORY) == 0)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::get_instance_type - ")
- ACE_TEXT("Found Home type\n")));
- return eHome;
+ this->handler_.remove_instance (this->plan_,
+ 0, /* not needed at this time */
+ ref);
+
}
- if (ACE_OS::strcmp (prop[i].name.in (),
- DAnCE::COMPONENT_FACTORY) == 0)
+ catch (::Deployment::StopError &ex)
{
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::get_instance_type - ")
- ACE_TEXT("Found unmanaged component type.\n")));
- return eComponent;
- }
- if (ACE_OS::strcmp (prop[i].name.in (),
- DAnCE::EXPLICIT_HOME) == 0)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::get_instance_type - ")
- ACE_TEXT("Found explicit home component type.\n")));
- return eHomedComponent;
- }
-
- if (ACE_OS::strcmp (prop[i].name.in (),
- DAnCE::IMPL_TYPE) == 0)
- {
- const char *val;
- if (get_property_value (DAnCE::IMPL_TYPE,
- prop,
- val) &&
- ACE_OS::strcmp (val,
- DAnCE::SERVER_EXECUTABLE) == 0)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::get_instance_type - ")
- ACE_TEXT("Found component server type.\n")));
- return eComponentServer;
- }
- }
- }
-
- DANCE_ERROR (1, (LM_INFO, DLINFO ACE_TEXT("NodeApplication_Impl::get_instance_type - ")
- ACE_TEXT("Unable to determine instance type, instance will be ignored.\n")));
- return eInvalid;
-}
-
-::Deployment::Connections*
-NodeApplication_Impl::getAllConnections()
-{
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - started\n")));
-
- ::Deployment::Connections_var conn;
- ACE_NEW_THROW_EX (conn,
- ::Deployment::Connections (),
- CORBA::NO_MEMORY ());
- unsigned int index = 0;
-
- for (CORBA::ULong i = 0; i < this->plan_.connection.length(); i++)
- {
- for (CORBA::ULong j = 0; j < this->plan_.connection[i].internalEndpoint.length(); j++)
- {
- if (this->plan_.connection[i].internalEndpoint[j].provider)
- {
- index = conn->length ();
- conn->length (index + 1);
- (*conn) [index].name = CORBA::string_dup (this->plan_.connection[i].name.in());
-
- ACE_CString const inst_name =
- this->plan_.instance[this->plan_.connection[i].internalEndpoint[j].instanceRef].name.in();
-
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - ")
- ACE_TEXT("Found provider '%C' for connection '%C'\n"),
- this->plan_.connection[i].name.in (),
- inst_name.c_str ()));
-
- Components::CCMObject_var obj =
- Components::CCMObject::
- _narrow (this->instances_[this->plan_.connection[i].internalEndpoint[j].instanceRef]->ref.in ());
-
- (*conn) [index].endpoint.length (1L);
- switch (this->plan_.connection[i].internalEndpoint[j].kind)
- {
- case ::Deployment::Facet:
- {
- try
- {
- ACE_CString const name = this->plan_.connection[i].internalEndpoint[j].portName.in();
- if (name.compare ("supports") != 0)
- {
- if (this->is_local_facet (this->plan_.connection[i]))
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - ")
- ACE_TEXT("Found local facet for connection %C endpoint %C started\n"),
- this->plan_.connection[i].name.in(),
- name.c_str ()));
- (*conn) [index].endpoint[0] = CORBA::Object::_duplicate (obj.in());
- }
- else
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - ")
- ACE_TEXT("provide_facet for connection %C endpoint %C started\n"),
- this->plan_.connection[i].name.in(),
- name.c_str ()));
- (*conn) [index].endpoint[0] = obj->provide_facet (name.c_str());
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - ")
- ACE_TEXT("provide_facet for connection %C endpoint %C finished\n"),
- this->plan_.connection[i].name.in(),
- name.c_str ()));
- }
- }
- else
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - ")
- ACE_TEXT("provide_facet for connection %C endpoint %C started\n"),
- this->plan_.connection[i].name.in(),
- name.c_str ()));
- (*conn) [index].endpoint[0] = CORBA::Object::_duplicate (obj.in());
- }
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - provide_facet finished\n")));
- }
- catch (const ::Components::InvalidName& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - ")
- ACE_TEXT("Components::CCMObject_var::provide_facet() returned ")
- ACE_TEXT("::Components::InvalidName exception for connection %C and port %C\n"),
- this->plan_.connection[i].name.in (),
- this->plan_.connection[i].internalEndpoint[j].portName.in ()));
- throw ::Deployment::InvalidProperty(this->plan_.connection[i].name.in (),
- "Container returned InvalidName");
- }
- break;
- }
-
- case ::Deployment::EventConsumer:
- {
- try
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - ")
- ACE_TEXT("get_consumer for connection %C endpoint %C started\n"),
- this->plan_.connection[i].name.in(),
- this->plan_.connection[i].internalEndpoint[j].portName.in()));
- (*conn) [index].endpoint[0] = obj->get_consumer (this->plan_.connection[i].internalEndpoint[j].portName.in());
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - ")
- ACE_TEXT("get_consumer finished\n")));
- }
- catch (const ::Components::InvalidName& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::getAllConnections - ")
- ACE_TEXT("Components::CCMObject_var::get_consumer() returned ")
- ACE_TEXT("::Components::InvalidName exception for connection %C and port %C\n"),
- this->plan_.connection[i].name.in (),
- this->plan_.connection[i].internalEndpoint[j].portName.in ()));
- throw ::Deployment::InvalidProperty(this->plan_.connection[i].name.in (),
- "Container returned InvalidName exception");
- }
- break;
- }
- default:
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::getAllConnections - ")
- ACE_TEXT("Connection.InternalEndPoint.Kind is not a ")
- ACE_TEXT("Deployment::Facet or Deployment::EventConsumer\n")));
- throw ::Deployment::InvalidProperty(this->plan_.connection[i].name.in (),
- "Invalid connection type, should be Facet or EventConsumer");
- }
- }
- }
- }
- }
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - finished\n")));
- return conn._retn();
-}
-
-void
-NodeApplication_Impl::finishLaunch (const ::Deployment::Connections & providedReference,
- ::CORBA::Boolean start)
-{
- DANCE_TRACE ("NodeApplication_Impl::finishLaunch");
-
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - ")
- ACE_TEXT("started for connections sequence with length %d and plan size %d\n"),
- providedReference.length(),
- this->plan_.connection.length()));
-
-#ifdef GEN_OSTREAM_OPS
- {
- std::ostringstream pr_stream;
- pr_stream << providedReference << std::endl;
- DANCE_DEBUG (9, (LM_TRACE, DLINFO "NodeApplication_Impl::finishLaunch - Provided references: %C\n",
- pr_stream.str ().c_str ()));
- }
-#endif /* GEN_OSTREAM_OPS */
-
- for (CORBA::ULong j = 0; j < this->plan_.connection.length(); ++j)
- {
- CORBA::ULong inst (this->plan_.connection[j].internalEndpoint[0].instanceRef);
-
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - ")
- ACE_TEXT("Connection %C, instance %u\n"),
- this->plan_.connection[j].name.in (),
- inst));
-
-#ifdef GEN_OSTREAM_OPS
- {
- std::ostringstream conn_stream;
- conn_stream << this->plan_.connection[j] << std::endl;
- DANCE_DEBUG (9, (LM_TRACE, "NodeApplication_Impl::finishLaunch - Local connections: %C\n", conn_stream.str ().c_str ()));
- }
-#endif /* GEN_OSTREAM_OPS */
-
- Components::CCMObject_var obj =
- Components::CCMObject::_narrow (this->instances_[inst]->ref.in ());
-
- if (CORBA::is_nil (obj.in ()))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - ")
- ACE_TEXT("Unable to narrow apparent component instance reference to CCMObject for instance '%C'\n"),
- this->plan_.instance[inst].name.in ()));
- throw ::Deployment::InvalidConnection (this->plan_.instance[inst].name.in (),
- "Unable to narrow apparent component instance reference to CCMObject\n");
- }
-
- ::Deployment::PlanConnectionDescription const &conn = this->plan_.connection[j];
-
- ACE_CString const name = conn.name.in();
-
- for (CORBA::ULong i = 0; i < providedReference.length(); ++i)
- {
- if (name.compare (providedReference[i].name.in()) == 0)
- {
- try
- {
- switch (conn.internalEndpoint[0].kind)
- {
- case ::Deployment::Facet:
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - ")
- ACE_TEXT("Set for facet [%C]\n"), name.c_str ()));
- Components::CCMObject_var ext_inst;
- try
- {
- if (0 == conn.externalReference.length())
- {
- if (conn.internalEndpoint.length () == 2 &&
- (conn.internalEndpoint[1].kind == ::Deployment::MultiplexReceptacle ||
- conn.internalEndpoint[1].kind == ::Deployment::SimplexReceptacle))
- {
- obj = Components::CCMObject::
- _narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->ref.in ());
-
- if (this->is_local_facet (conn))
- {
- ::Components::CCMObject_var facet =
- ::Components::CCMObject::_narrow (providedReference[i].endpoint[0].in ());
-
- ::Components::CCMObject_var recep =
- ::Components::CCMObject::_narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->ref.in ());
-
- ::CIAO::Deployment::Container_var cont =
- ::CIAO::Deployment::Container::_narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->container->ref.in ());
-
- this->connect_receptacle (conn,
- facet.in (),
- conn.internalEndpoint[0].portName.in (),
- obj.in (),
- conn.internalEndpoint[1].portName.in(),
- cont.in ());
- }
- else
- {
- this->connect_receptacle (conn,
- obj.in (),
- "",
- providedReference[i].endpoint[0].in(),
- conn.internalEndpoint[1].portName.in(),
- ::CIAO::Deployment::Container::_nil());
- }
- }
- break;
- }
- CORBA::Object_var tmp =
- this->orb_->string_to_object (conn.externalReference[0].location.in());
- ext_inst = Components::CCMObject::_narrow (tmp);
- if (CORBA::is_nil (ext_inst.in()))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - ")
- ACE_TEXT("facet for [%C] can't be narrowed\n"), name.c_str ()));
- break;
- }
- this->connect_receptacle_ext (ext_inst,
- conn.externalReference[0].portName.in(),
- providedReference[i].endpoint[0].in());
- }
- catch (const CORBA::OBJECT_NOT_EXIST&)
- {
- // @@TODO: Shouldn't this be an error?!?
- break;
- }
- catch (const CORBA::TRANSIENT&)
- {
- // @@TODO: Shouldn't this be an error?!?
- break;
- }
-
- break;
- }
-
- case ::Deployment::EventConsumer:
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - set for consumer\n")));
- Components::CCMObject_var ext_inst;
- try
- {
- if (0 == conn.externalReference.length())
- {
- break;
- }
- CORBA::Object_var tmp =
- this->orb_->string_to_object (conn.externalReference[0].location.in());
- ext_inst = Components::CCMObject::_narrow (tmp);
- if (CORBA::is_nil (ext_inst.in()))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ")
- ACE_TEXT("reference for %C can't be narrowed\n"), name.c_str ()));
- throw ::Deployment::InvalidConnection(conn.name.in (),
- "Couldn't narrow reference for external reference");
- break;
- }
- try
- {
- // Check is connection kind is consumer to emitter?
- this->connect_emitter_ext (ext_inst,
- conn.externalReference[0].portName.in(),
- providedReference[i].endpoint[0].in());
- }
- catch (const ::Components::InvalidName&)
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO
- ACE_TEXT("NodeApplication_Impl::finishLaunch - ")
- ACE_TEXT("connect_emitter_ext resulted in InvalidName, trying connect_publisher\n")));
- // No this is consumer to publisher
- this->connect_publisher (ext_inst,
- conn.externalReference[0].portName.in(),
- providedReference[i].endpoint[0].in());
- }
- }
- catch (const CORBA::OBJECT_NOT_EXIST&)
- {
- break;
- }
- catch (const CORBA::TRANSIENT&)
- {
- break;
- }
- break;
- }
- case ::Deployment::MultiplexReceptacle:
- case ::Deployment::SimplexReceptacle:
- {
- // What we should do with Cookie, returned from connect call???
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - Set for receptacle\n")));
- if (CORBA::is_nil (providedReference[i].endpoint[0].in ()))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT ("NodeApplication_Impl::finishLaunch - ")
- ACE_TEXT ("Reference provided from DomainApplication was nil.\n")));
- throw Deployment::InvalidConnection ("",
- "Nil provided reference from DomainApplication");
- }
-
- ::Components::CCMObject_var facet =
- ::Components::CCMObject::_narrow (providedReference[i].endpoint[0].in ());
-
- if (this->is_local_facet (conn))
- {
- ::CIAO::Deployment::Container_var cont =
- ::CIAO::Deployment::Container::_narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->container->ref.in ());
- this->connect_receptacle (conn,
- facet.in (),
- conn.internalEndpoint[1].portName.in (),
- obj.in(),
- conn.internalEndpoint[0].portName.in(),
- cont.in ());
- }
- else
- {
- CORBA::Object_var portref = CORBA::Object::_duplicate (providedReference[i].endpoint[0].in());
-
- if (0 != conn.externalReference.length ())
- {
- ::Components::CCMObject_var facet =
- ::Components::CCMObject::_narrow (providedReference[i].endpoint[0].in ());
-
- if (!CORBA::is_nil (facet.in ()))
- portref = facet->provide_facet (conn.externalReference[0].portName.in ());
- }
-
- this->connect_receptacle (conn,
- obj.in (),
- "",
- portref.in (),
- conn.internalEndpoint[0].portName.in(),
- ::CIAO::Deployment::Container::_nil());
-
- }
-
- break;
- }
- case ::Deployment::EventEmitter:
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - set for emitter\n")));
- this->connect_emitter (obj.in(),
- conn.internalEndpoint[0].portName.in(),
- providedReference[i].endpoint[0].in());
- break;
- }
- case ::Deployment::EventPublisher:
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - set for publisher\n")));
- this->connect_publisher (obj.in(),
- conn.internalEndpoint[0].portName.in(),
- providedReference[i].endpoint[0].in());
- break;
- }
- default:
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - currect Connection.InternalEndPoint.Kind ")
- ACE_TEXT("is not a Deployment::SimplexReceptacle, Deployment::EventEmitter, Deployment::EventPublisher ")
- ACE_TEXT("(Connection:%C Kind:%i PortName:%C)\n"),
- conn.name.in(),
- conn.internalEndpoint[0].kind,
- conn.internalEndpoint[0].portName.in()
- ));
- throw ::Deployment::InvalidConnection(conn.name.in (),
- "Invalid connection type, should be Receptacle or even producer.");
- }//default
- }//switch
- }
- catch (::Deployment::StartError &ex)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - ")
- ACE_TEXT("Intercepted StartError exception while configuring [%C] connection, rethrowing\n"),
- name.c_str ()));
- ex.name = name.c_str ();
- throw;
- }
- catch (::Deployment::InvalidConnection &ex)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - ")
- ACE_TEXT("Intercepted InvalidConnection exception while configuring [%C] connection, rethrowing\n"),
- name.c_str ()));
- ex.name = name.c_str ();
- throw;
- }
- }//if(name.compare(providedReference[i].name.in()) == 0)
- }//for ( unsigned int i = 0; i < providedReference.length(); ++i )
- }//for ( unsigned int j = 0; j < this->plan_.connection.length(); ++j )
-
- this->configuration_complete_components ();
-
- if (start)
- {
- this->start();
- }
-
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - finished\n")));
-}
-
-bool
-NodeApplication_Impl::is_local_facet (const ::Deployment::PlanConnectionDescription& conn)
-{
- Deployment::Requirements const& deploy_req = conn.deployRequirement;
- for (CORBA::ULong i = 0; i < deploy_req.length (); i++)
- {
- if (ACE_OS::strcmp (deploy_req[i].name, "edu.dre.vanderbilt.DAnCE.ConnectionType") == 0 &&
- ACE_OS::strcmp (deploy_req[i].resourceType, "Local_Interface") == 0)
- {
- return true;
- }
- }
- return false;
-}
-
-Components::Cookie*
-NodeApplication_Impl::connect_receptacle (const ::Deployment::PlanConnectionDescription& conn,
- Components::CCMObject_ptr facet,
- const ACE_CString &facet_name,
- CORBA::Object_ptr receptacle,
- const ACE_CString& recep_name,
- CIAO::Deployment::Container_ptr cont)
-{
- Components::Cookie* res = 0;
- try
- {
- if (this->is_local_facet (conn))
- {
- ::Components::CCMObject_var ccm_receptacle =
- ::Components::CCMObject::_narrow (receptacle);
-
- if (CORBA::is_nil (facet))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle - ")
- ACE_TEXT ("Unable to narrow facet for local facet connection [%C] to receptable [%C]\n"),
- facet_name.c_str (), recep_name.c_str ()));
- throw ::Deployment::InvalidConnection ("", "");
- }
-
- if (CORBA::is_nil (ccm_receptacle))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle - ")
- ACE_TEXT ("Unable to narrow receptacle for local facet connection [%C] to receptable [%C]\n"),
- facet_name.c_str (), recep_name.c_str ()));
- throw ::Deployment::InvalidConnection ("", "");
- }
-
- if (CORBA::is_nil (cont))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle - ")
- ACE_TEXT ("Unable to narrow container for local facet connection [%C] to receptable [%C]\n"),
- facet_name.c_str (), recep_name.c_str ()));
- throw ::Deployment::InvalidConnection ("", "");
- }
-
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT ("NodeApplication_Impl::connect_receptacle - ")
- ACE_TEXT ("Connecting local facet [%C] to receptacle [%C]\n"),
- facet_name.c_str (), recep_name.c_str ()));
-
- cont->connect_local_facet (facet, facet_name.c_str (), ccm_receptacle, recep_name.c_str ());
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle - connect finished\n")));
- }
- else
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "NodeApplication_Impl::remove_instances - "
+ "Caught StopError final_exception %C, %C\n",
+ ex.name.in (),
+ ex.reason.in ()));
+ Utility::test_and_set_exception (flag,
+ final_exception,
+ ex.name.in (),
+ ex.reason.in ());
+
+ }
+ catch (CORBA::Exception &ex)
{
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle - ")
- ACE_TEXT("connect SimplexReceptacle for [%C] started\n"), recep_name.c_str()));
- if (CORBA::is_nil (facet))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT ("NodeApplication_Impl::connect_receptacle - ")
- ACE_TEXT ("Object reference for facet to connect to [%C] was nil\n"),
- recep_name.c_str ()));
- throw ::Deployment::InvalidConnection ("",
- "Provided facet reference was nil\n");
- }
-
- res = facet->connect (recep_name.c_str(), receptacle);
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle - connect finished\n")));
- }
- }
- catch (const ::Components::InvalidName& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle - ")
- ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::InvalidName exception\n")));
- throw ::Deployment::StartError(conn.name.in (),
- "Received InvalidName exception while connecting receptacle.");
- }
- catch (const ::Components::InvalidConnection& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle - ")
- ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::InvalidConnection exception\n")));
- throw ::Deployment::InvalidConnection(conn.name.in (),
- "InvalidConnection caught while connecting receptacle.");
- }
- catch (const ::Components::AlreadyConnected& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle - ")
- ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::AlreadyConnected exception ")
- ACE_TEXT("for connection <%C>\n"),
- conn.name.in ()));
- throw ::Deployment::InvalidConnection(conn.name.in (),
- "Caught AlreadyConnected exception while connecting receptacle");
- }
- catch (const ::Components::ExceededConnectionLimit& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle - ")
- ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::ExceededConnectionLimit exception\n")));
- throw ::Deployment::InvalidConnection(conn.name.in (),
- "Caught ExceededConnectionLimit exception while connecting receptacle.");
- }
- catch (const ::CORBA::Exception &ex )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle - ")
- ACE_TEXT("Caught a CORBA exception while connecting <%C>: <%C>\n"),
- conn.name.in (),
- ex._info ().c_str ()));
- throw ::Deployment::StartError(conn.name.in (),
- ex._info ().c_str ());
- }
- return res;
-}
-
-Components::Cookie*
-NodeApplication_Impl::connect_receptacle_ext (Components::CCMObject_ptr inst,
- const ACE_CString& port_name,
- CORBA::Object_ptr facet)
-{
- Components::Cookie* res = 0;
- try
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle_ext - ")
- ACE_TEXT("connect SimplexReceptacle for %C started\n"), port_name.c_str()));
- res = inst->connect (port_name.c_str(), facet);
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle_ext - connect finished\n")));
- }
- catch (const ::Components::InvalidName& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle_ext - ")
- ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::InvalidName exception\n")));
- throw ::Deployment::StartError("",
- "Caught InvalidName exception while connecting external receptacle.");
- }
- catch (const ::Components::InvalidConnection& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle_ext - ")
- ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::InvalidConnection exception\n")));
- throw ::Deployment::InvalidConnection("",
- "Caught InvalidConnection exception while connecting external receptacle.");
- }
- catch (const ::Components::AlreadyConnected& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle_ext - ")
- ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::AlreadyConnected exception\n")));
- throw ::Deployment::InvalidConnection("",
- "Caught AlreadyConnected exception while connecting external receptacle.");
- }
- catch (const ::Components::ExceededConnectionLimit& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle_ext - ")
- ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::ExceededConnectionLimit exception\n")));
- throw ::Deployment::InvalidConnection("",
- "Caught ExceededConnectionLimit while connecting external receptacle.");
- }
- return res;
-}
-
-void
-NodeApplication_Impl::connect_emitter (Components::CCMObject_ptr inst,
- const ACE_CString& port_name,
- CORBA::Object_ptr consumer)
-{
- Components::EventConsumerBase_var event = Components::EventConsumerBase::_unchecked_narrow (consumer);
- try
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_emitter - ")
- ACE_TEXT("connect_consumer for %C started\n"), port_name.c_str()));
- inst->connect_consumer (port_name.c_str(), event);
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_emitter - ")
- ACE_TEXT("connect_consumer finished\n")));
- }
- catch (const ::Components::InvalidName& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" ACE_TEXT(NodeApplication_Impl::connect_emitter - ")
- ACE_TEXT("Components::CCMObject_var::connect_consumer() returned ::Components::InvalidName exception\n")));
- throw ::Deployment::StartError("",
- "Caught InvalidName while connecting emitter.");
- }
- catch (const ::Components::AlreadyConnected& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_emitter - ")
- ACE_TEXT("Components::CCMObject_var::connect_consumer() returned ::Components::AlreadyConnected exception\n")));
- throw ::Deployment::InvalidConnection("",
- "Caught AlreadyConnected exception while connecting emitter");
- }
- catch (const ::Components::InvalidConnection& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_emitter - ")
- ACE_TEXT("Components::CCMObject_var::connect_consumer() returned ::Components::InvalidConnection exception\n")));
- throw ::Deployment::InvalidConnection("",
- "Caught InvalidConnection while connecting emitter.");
- }
-}
-
-void
-NodeApplication_Impl::connect_emitter_ext (Components::CCMObject_ptr inst,
- const ACE_CString& port_name,
- CORBA::Object_ptr consumer)
-{
- Components::EventConsumerBase_var event = Components::EventConsumerBase::_unchecked_narrow (consumer);
- try
- {
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_emitter_ext - ")
- ACE_TEXT("connect_emitter_ext for %C started\n"), port_name.c_str()));
- inst->connect_consumer (port_name.c_str(), event);
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_emitter_ext - connect_emitter_ext finished\n")));
- }
- catch (const ::Components::AlreadyConnected& )
- {
- DANCE_DEBUG (6, (LM_WARNING, ACE_TEXT("NodeApplication_Impl::connect_emitter_ext - ")
- ACE_TEXT("Components::CCMObject_var::connect_consumer() returned ::Components::AlreadyConnected exception\n")));
- throw ::Deployment::InvalidConnection("",
- "Caught AlreadyConnected exception while connecting external emitter.");
- }
- catch (const ::Components::InvalidConnection& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_emitter_ext - ")
- ACE_TEXT("Components::CCMObject_var::connect_consumer() returned ::Components::InvalidConnection exception\n")));
- throw ::Deployment::InvalidConnection("",
- "Caught InvalidConnection exception while connecting external emitter.");
- }
-}
-
-Components::Cookie*
-NodeApplication_Impl::connect_publisher (Components::CCMObject_ptr inst,
- const ACE_CString& port_name,
- CORBA::Object_ptr consumer)
-{
- DANCE_TRACE ("NodeApplication_Impl::connect_publisher");
-
- if (CORBA::is_nil (inst))
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::connect_publisher - ")
- ACE_TEXT("Provided a nil CCMObject reference while connecting port %C\n"),
- port_name.c_str ()));
- throw ::Deployment::InvalidConnection ();
- }
- Components::Cookie* res = 0;
- Components::EventConsumerBase_var event = Components::EventConsumerBase::_unchecked_narrow (consumer);
- try
- {
- res = inst->subscribe (port_name.c_str(), event);
- DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_publisher - successfully subscribed %C\n"),
- port_name.c_str ()));
- }
- catch (const ::Components::InvalidName& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_publisher - ")
- ACE_TEXT("Components::CCMObject_var::subscribe() returned ::Components::InvalidName exception\n")));
- throw ::Deployment::StartError("", "Caught InvalidName exception while connecting publisher");
- }
- catch (const ::Components::InvalidConnection& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_publisher - ")
- ACE_TEXT("Components::CCMObject_var::subscribe() returned ::Components::InvalidConnection exception\n")));
- throw ::Deployment::InvalidConnection("", "Caught InvalidConnection exception while connecting publisher.");
- }
- catch (const ::Components::ExceededConnectionLimit& )
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_publisher - ")
- ACE_TEXT("Components::CCMObject_var::subscribe() returned ::Components::ExceededCOnnectionLimit exception\n")));
- throw ::Deployment::InvalidConnection("", "Caught ExceededConnectionLimit exception while connecting publisher.");
- }
- return res;
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ "NodeApplication_Impl::remove_instances - "
+ "Caught CORBA Final_Exception %C\n",
+ ex._info ().c_str ()));
+ Utility::test_and_set_exception (flag,
+ final_exception,
+ "Unknown CORBA Final_Exception",
+ ex._info ().c_str ());
+ }
+
+ //this->localities_.erase (i);
+ }
+
+ if (flag)
+ throw final_exception;
}
-
diff --git a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h
index f7a116deff1..662e15ab862 100644
--- a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h
+++ b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h
@@ -20,6 +20,7 @@
#include "NodeApplication_Export.h"
#include "ace/Containers_T.h"
+#include "tao/AnyTypeCode/AnyTypeCode_methods.h"
#include "tao/ORB.h"
#include "tao/Object.h"
#include "ccm/CCM_KeylessCCMHomeC.h"
@@ -30,9 +31,13 @@
#include "Deployment/Deployment_NodeApplicationS.h"
#include "Deployment/Deployment_DeploymentPlanC.h"
#include "Deployment/DeploymentC.h"
-#include "DAnCE/Deployment_common.h"
+#include "DAnCE/DAnCE_Utility.h"
+#include "LocalityManager/Handler/Locality_Manager_Handler_Impl.h"
#include <map>
+#include <vector>
+
+using namespace DAnCE::Utility;
namespace DAnCE
{
@@ -56,143 +61,20 @@ namespace DAnCE
virtual void start (void);
- ::Deployment::Connections * getAllConnections(void);
-
- void init_components(void);
-
- void configuration_complete_components (void);
-
- void passivate_components (void);
-
- void remove_components (void);
-
- enum ERequestType
- {
- eCreateComponentServer,
- eCreateContainer,
- eInstallHome,
- eCreateComponentWithConfigValues
- };
-
- enum EInstanceType
- {
- eHome,
- eComponent,
- eHomedComponent,
- eContainer,
- eComponentServer,
- eInvalid
- };
-
- enum EComponentState
- {
- eUninstalled,
- eInstalled,
- eConfigured,
- eActive,
- ePassive,
- eRemoved,
- eInvalidState
- };
+ void init_instances (void);
+
+ void prepare_instances (void);
+
+ void start_launch_instances (const Deployment::Properties &prop,
+ Deployment::Connections_out providedReference);
+ void remove_instances (void);
+
protected:
void init(void);
-
- struct Container;
-
- struct Instance
- {
- Instance (EInstanceType type = eInvalid,
- Container *cont = 0,
- CORBA::ULong idd = 0,
- CORBA::ULong mdd = 0) :
- state (eUninstalled),
- type (type), idd_idx (idd), mdd_idx (mdd), home(0),
- container (cont)
- {
- }
-
- EComponentState state;
- EInstanceType type;
- CORBA::ULong idd_idx;
- CORBA::ULong mdd_idx;
- CORBA::Object_var ref;
- Instance *home;
- Container *container;
- };
-
- typedef ACE_Array<Instance> INSTANCES;
- typedef ACE_Array<Instance *> INSTANCE_PTRS;
-
- struct Container
- {
- INSTANCES homes;
- INSTANCES components;
- ::Deployment::Properties properties;
- Components::Deployment::Container_var ref;
- };
-
- typedef ACE_Array<Container> CONTAINERS;
-
- struct ComponentServer
- {
- ComponentServer (void) : properties (0)
- {
- }
-
- Instance instance;
- CONTAINERS containers;
- const ::Deployment::Properties *properties;
- Components::Deployment::ComponentServer_var ref;
- };
-
- typedef ACE_Array<ComponentServer> COMPONENTSERVERS;
-
- EInstanceType get_instance_type (const ::Deployment::Properties& prop) const;
-
- typedef std::map <std::string, int> ColocationMap;
-
- /// Creates colocation groups for all components in this node's deployment.
- /// Resulting map has mappings of component ids to appropriate server.
- /// As a postcondition, the size of the servers_ array is increased appropriately.
- ColocationMap create_colocation_groups (void);
-
- void create_component_server (size_t index);
-
- void create_container (size_t server, size_t container);
-
- void install_home (Container &cont, Instance &inst);
-
- void install_component (Container &cont, Instance &inst);
-
- void install_homed_component (Container &cont, Instance &inst);
-
- void store_instance_ior (Instance &inst);
-
- bool is_local_facet (const ::Deployment::PlanConnectionDescription& conn);
-
- Components::Cookie* connect_receptacle (const ::Deployment::PlanConnectionDescription& conn,
- Components::CCMObject_ptr facet,
- const ACE_CString &facet_name,
- CORBA::Object_ptr receptacle,
- const ACE_CString& receptacle_name,
- CIAO::Deployment::Container_ptr cont);
-
- Components::Cookie* connect_receptacle_ext (Components::CCMObject_ptr inst,
- const ACE_CString& port_name,
- CORBA::Object_ptr facet);
-
- void connect_emitter (Components::CCMObject_ptr inst,
- const ACE_CString& port_name,
- CORBA::Object_ptr consumer);
-
- void connect_emitter_ext (Components::CCMObject_ptr inst,
- const ACE_CString& port_name,
- CORBA::Object_ptr consumer);
-
- Components::Cookie* connect_publisher (Components::CCMObject_ptr inst,
- const ACE_CString& port_name,
- CORBA::Object_ptr consumer);
+
+ void prepare_instance (const char *name,
+ const ::Deployment::DeploymentPlan &plan);
CORBA::ORB_var orb_;
@@ -200,17 +82,18 @@ namespace DAnCE
const ::Deployment::DeploymentPlan& plan_;
- auto_ptr<CIAO::Deployment::CIAO_ServerActivator_i> activator_;
-
ACE_CString node_name_;
PROPERTY_MAP properties_;
- COMPONENTSERVERS servers_;
-
- INSTANCE_PTRS instances_;
-
CosNaming::NamingContext_var instance_nc_;
+
+ DAnCE::Locality_Handler_i handler_;
+
+ typedef std::map <ACE_CString, ::DAnCE::LocalityManager_var>
+ LOCALITY_MAP;
+ LOCALITY_MAP localities_;
+
};
}
#endif /*NODEAPPLICATION_IMPL_H_*/
diff --git a/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager.mpc b/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager.mpc
index e1c50fbce0e..098ca4815f9 100644
--- a/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager.mpc
+++ b/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager.mpc
@@ -2,7 +2,7 @@
// $Id$
project (DAnCE_NodeApplicationManager) : install, dance_lib, naming, dance_nodeapplicationmanager_skel, \
- dynamicinterface, ccm_componentserver_svnt, ciao_cs_client, \
+ dynamicinterface, \
dance_nodeapplication, avoids_ace_for_tao {
sharedname = DAnCE_NodeApplicationManager
dynamicflags = NODEAPPLICATIONMANAGER_BUILD_DLL
diff --git a/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp b/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
index 4ecb66face9..9f2c477127a 100644
--- a/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+++ b/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
@@ -7,7 +7,6 @@
#include "NodeApplicationManager_Impl.h"
#include "NodeApplication/NodeApplication_Impl.h"
-#include "NodeManager/NodeManager_Impl.h"
using namespace DAnCE;
@@ -68,7 +67,7 @@ NodeApplicationManager_Impl::~NodeApplicationManager_Impl()
}
Deployment::Application_ptr
-NodeApplicationManager_Impl::startLaunch (const Deployment::Properties &,
+NodeApplicationManager_Impl::startLaunch (const Deployment::Properties &prop,
Deployment::Connections_out providedReference)
{
DANCE_TRACE ("NodeApplicationManager_Impl::startLaunch");
@@ -85,16 +84,22 @@ NodeApplicationManager_Impl::startLaunch (const Deployment::Properties &,
CORBA::NO_MEMORY ());
DANCE_DEBUG (9, (LM_TRACE, DLINFO
- ACE_TEXT("NodeApplicationManager_impl::startLaunch - ")
- ACE_TEXT("Instructing NodeApplication to initialize components.\n")));
-
- this->application_->init_components();
+ ACE_TEXT("NodeApplicationManager_impl::startLaunch - ")
+ ACE_TEXT("Instructing NodeApplication to initialize instances.\n")));
+ this->application_->init_instances();
+
DANCE_DEBUG (9, (LM_TRACE, DLINFO
- ACE_TEXT("NodeApplicationManager_impl::startLaunch - ")
- ACE_TEXT("Collecting connection references\n")));
+ ACE_TEXT("NodeApplicationManager_impl::startLaunch - ")
+ ACE_TEXT("Instructing NodeApplication to prepare locality managers.\n")));
- providedReference = this->application_->getAllConnections();
+ this->application_->prepare_instances ();
+
+ DANCE_DEBUG (9, (LM_TRACE, DLINFO
+ ACE_TEXT("NodeApplicationManager_impl::startLaunch - ")
+ ACE_TEXT("Instructing NodeApplication to start launch localities.\n")));
+
+ this->application_->start_launch_instances (prop, providedReference);
DANCE_DEBUG (6, (LM_DEBUG, DLINFO
ACE_TEXT("NodeApplicationManager_impl::startLaunch - ")
@@ -105,7 +110,15 @@ NodeApplicationManager_Impl::startLaunch (const Deployment::Properties &,
CORBA::Object_var as_obj = this->poa_->id_to_reference (as_id.in ());
Deployment::Application_var app = Deployment::Application::_narrow (as_obj.in ());
-
+
+ if (CORBA::is_nil (app))
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO,
+ "NodeApplicationManager_Impl::startLaunch - ",
+ "NodeApplication servant failed to activate\n"));
+ throw ::Deployment::StartError ("NodeApplication",
+ "Activation failure");
+ }
return app._retn ();
}
@@ -121,24 +134,12 @@ NodeApplicationManager_Impl::destroyApplication (Deployment::Application_ptr app
DANCE_ERROR (1, (LM_ERROR, DLINFO
ACE_TEXT("NodeApplicationManager_Impl::destroyApplication - ")
ACE_TEXT("application is equivalent to current application\n")));
- throw ::Deployment::StopError();
- }
-
- CORBA::Any val;
-
- if (this->properties_.find (DAnCE::STANDALONE_NM, val) == 0)
- {
- DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplicationManager_Impl::destroyApplication - ")
- ACE_TEXT("Found STANDALONE_NM property\n")));
-
- CORBA::Boolean standalone = false;
-
- val >>= CORBA::Any::to_boolean (standalone);
-
- this->application_->passivate_components ();
- this->application_->remove_components ();
+ throw ::Deployment::StopError("NodeApplicationManager",
+ "Wrong application passed to destroyApplication");
}
-
+
+ this->application_->remove_instances ();
+
PortableServer::ObjectId_var id = this->poa_->reference_to_id (application);
this->poa_->deactivate_object (id);
@@ -161,10 +162,10 @@ NodeApplicationManager_Impl::destroyApplication (Deployment::Application_ptr app
throw Deployment::StopError(e._name(), e._info().c_str());
}
catch (...)
- {
- DANCE_ERROR (1, (LM_ERROR, DLINFO
- ACE_TEXT("NodeApplicationManager_Impl::destroyApplication failed with unknown exception.\n")));
- throw Deployment::StopError();
- }
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ ACE_TEXT("NodeApplicationManager_Impl::destroyApplication failed with unknown exception.\n")));
+ throw Deployment::StopError("NodeApplicatoinManager", "Unknown C++ exception in destroyApplication");
+ }
}
diff --git a/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h b/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
index d72570f30e5..be188c758aa 100644
--- a/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
+++ b/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
@@ -27,7 +27,6 @@
namespace DAnCE
{
- class NodeManager_Impl;
class NodeApplicationManager_Export NodeApplicationManager_Impl :
public virtual POA_Deployment::NodeApplicationManager
diff --git a/CIAO/DAnCE/NodeManager/NodeManager_Impl.h b/CIAO/DAnCE/NodeManager/NodeManager_Impl.h
index 11029803189..e03b2ded35f 100644
--- a/CIAO/DAnCE/NodeManager/NodeManager_Impl.h
+++ b/CIAO/DAnCE/NodeManager/NodeManager_Impl.h
@@ -18,7 +18,7 @@
#include "tao/Object.h"
#include "tao/ORB.h"
-#include "DAnCE/Deployment_common.h"
+#include "DAnCE/DAnCE_Utility.h"
#include "Deployment/Deployment_NodeManagerS.h"
#include "NodeApplicationManager/NodeApplicationManager_Impl.h"
#include "ace/Map_Manager.h"
diff --git a/CIAO/DAnCE/NodeManager/Node_Manager_Module.cpp b/CIAO/DAnCE/NodeManager/Node_Manager_Module.cpp
index cb730931f1d..b4e30a4c1fd 100644
--- a/CIAO/DAnCE/NodeManager/Node_Manager_Module.cpp
+++ b/CIAO/DAnCE/NodeManager/Node_Manager_Module.cpp
@@ -8,8 +8,6 @@
#include "tao/IORTable/IORTable.h"
#include "tao/Utils/PolicyList_Destroyer.h"
#include "orbsvcs/CosNamingC.h"
-#include "ciao/Valuetype_Factories/Cookies.h"
-#include "ciao/ComponentServer/CIAO_PropertiesC.h"
#include "DAnCE/Logger/Log_Macros.h"
#include "DAnCE/DAnCE/DAnCE_PropertiesC.h"
#include "Node_Manager_Module.h"
@@ -46,7 +44,7 @@ DAnCE_NodeManager_Module::SOptions::SOptions(void)
create_plan_ns_ior_ (0),
rebind_plan_ns_ (false),
rebind_plan_ns_ior_ (0),
- cs_path_ (ACE_TEXT("ciao_componentserver")),
+ cs_path_ (ACE_TEXT("dance_locality_manager")),
timeout_ (5),
standalone_ (false),
server_args_ (0),
@@ -438,7 +436,7 @@ DAnCE_NodeManager_Module::init (CORBA::ORB_ptr orb,
DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT ("DAnCE_NodeManager_Module::init - ")
ACE_TEXT ("Allocating new NodeManger servant instance for NodeManager\n")));
int size = 64;
- DAnCE::PROPERTY_MAP properties (size);
+ DAnCE::Utility::PROPERTY_MAP properties (size);
this->create_nm_properties (properties);
ACE_NEW_RETURN (nm,
@@ -560,17 +558,17 @@ DAnCE_NodeManager_Module::create_poas (void)
}
void
-DAnCE_NodeManager_Module::create_nm_properties (DAnCE::PROPERTY_MAP &props)
+DAnCE_NodeManager_Module::create_nm_properties (DAnCE::Utility::PROPERTY_MAP &props)
{
{
CORBA::Any val;
val <<= this->options_.timeout_;
- props.bind (CIAO::Deployment::SERVER_TIMEOUT, val);
+ props.bind (DAnCE::LOCALITY_TIMEOUT, val);
}
{
CORBA::Any val;
val <<= CORBA::Any::from_string (CORBA::string_dup (ACE_TEXT_ALWAYS_CHAR (this->options_.cs_path_)),0);
- props.bind (CIAO::Deployment::SERVER_EXECUTABLE, val);
+ props.bind (DAnCE::LOCALITY_EXECUTABLE, val);
}
{
CORBA::Any val;
@@ -580,7 +578,7 @@ DAnCE_NodeManager_Module::create_nm_properties (DAnCE::PROPERTY_MAP &props)
{
CORBA::Any val;
val <<= CORBA::Any::from_string (CORBA::string_dup (ACE_TEXT_ALWAYS_CHAR (this->options_.server_args_)),0);
- props.bind (CIAO::Deployment::SERVER_ARGUMENTS, val);
+ props.bind (DAnCE::LOCALITY_ARGUMENTS, val);
}
if (this->options_.instance_nc_)
{
diff --git a/CIAO/DAnCE/NodeManager/Node_Manager_Module.h b/CIAO/DAnCE/NodeManager/Node_Manager_Module.h
index 8bb4e1efdce..915963c965d 100644
--- a/CIAO/DAnCE/NodeManager/Node_Manager_Module.h
+++ b/CIAO/DAnCE/NodeManager/Node_Manager_Module.h
@@ -30,7 +30,7 @@
#include "tao/ORB.h"
#include "tao/PortableServer/PortableServer.h"
#include "orbsvcs/CosNamingC.h"
-#include "DAnCE/DAnCE/Deployment_common.h"
+#include "DAnCE/DAnCE/DAnCE_Utility.h"
namespace DAnCE
{
@@ -87,7 +87,7 @@ class DAnCE_NodeManager_Module
void register_value_factories (void);
void create_poas (void);
- void create_nm_properties (DAnCE::PROPERTY_MAP &props);
+ void create_nm_properties (DAnCE::Utility::PROPERTY_MAP &props);
/// Here we store the servants.
typedef ACE_Map_Manager < ACE_TString,
diff --git a/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp b/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp
index 736e267e923..35135454021 100644
--- a/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp
+++ b/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp
@@ -78,10 +78,10 @@ usage(const ACE_TCHAR*)
ACE_TEXT ("Only supported for EM-based deployments\n")
ACE_TEXT ("\t-a|--app-ior <APP IOR>\t\t")
- ACE_TEXT ("IOR for ApplicationManager entity (Domain or Node)\n")
+ ACE_TEXT ("IOR for Application entity (Domain or Node)\n")
ACE_TEXT ("\t-m|--am-ior <AM IOR>\t\t")
- ACE_TEXT ("IOR For Application entity (Domain or Node)\n")
+ ACE_TEXT ("IOR For ApplicationManager entity (Domain or Node)\n")
ACE_TEXT ("\nPlan Control Options:\n")
ACE_TEXT ("The default action is to fully launch a plan. ")
@@ -510,9 +510,6 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
Options options;
if (!parse_args (argc, argv, options))
{
- ACE_ERROR ((LM_ERROR, DLINFO ACE_TEXT ("Plan_Launcher - ")
- ACE_TEXT ("Failed to parse ")
- ACE_TEXT ("command line arguments, exiting.\n")));
return 1;
}
diff --git a/CIAO/DAnCE/Plan_Launcher/Plan_Launcher_Base_Impl_T.cpp b/CIAO/DAnCE/Plan_Launcher/Plan_Launcher_Base_Impl_T.cpp
index 2bd3fcad161..01628d9b1bc 100644
--- a/CIAO/DAnCE/Plan_Launcher/Plan_Launcher_Base_Impl_T.cpp
+++ b/CIAO/DAnCE/Plan_Launcher/Plan_Launcher_Base_Impl_T.cpp
@@ -586,10 +586,10 @@ namespace DAnCE
for (CORBA::ULong i = 0; i < plan.connection.length(); i++)
{
- if (plan.connection[i].externalReference.length() > 0
- && plan.connection[i].externalReference[0].provider)
+ if (plan.connection[i].externalReference.length() > 0)
+ //&& plan.connection[i].externalReference[0].provider)
{
- DANCE_DEBUG (6, (LM_DEBUG,
+ DANCE_DEBUG (6, (LM_DEBUG, DLINFO
"Plan_Launcher_i::create_external_connections - create connection %C from IOR %C\n",
plan.connection[i].name.in(),
plan.connection[i].externalReference[0].location.in()));
@@ -598,10 +598,18 @@ namespace DAnCE
{
CORBA::Object_ptr
obj = this->orb_->string_to_object(plan.connection[i].externalReference[0].location.in());
+
if (!CORBA::is_nil (obj))
{
- CORBA::ULong const indx = conn.length();
- conn.length(indx + 1);
+ CORBA::ULong indx = 0;
+ for (; indx < conn.length (); ++indx)
+
+ if (ACE_OS::strcmp (conn[indx].name.in (),
+ plan.connection[i].name.in ()) == 0)
+ break;
+
+ if (indx == conn.length())
+ conn.length(indx + 1);
conn[indx].name= CORBA::string_dup (plan.connection[i].name.in());
conn[indx].endpoint.length(1L);
conn[indx].endpoint[0] = obj;
@@ -623,9 +631,9 @@ namespace DAnCE
}
catch (...)
{
- DANCE_ERROR (1, (LM_ERROR, DLINFO
- ACE_TEXT("Plan_Launcher_i::create_external_connections - ")
- ACE_TEXT("Caught C++ Exception while resolving endpoint for connection\n")));
+ DANCE_ERROR (1, (LM_ERROR, DLINFO
+ ACE_TEXT("Plan_Launcher_i::create_external_connections - ")
+ ACE_TEXT("Caught C++ Exception while resolving endpoint for connection\n")));
}
}
}
diff --git a/CIAO/DAnCE/tests/CIAO/CommandlinePassage/Component.cdp b/CIAO/DAnCE/tests/CIAO/CommandlinePassage/Component.cdp
index f692ab3a7eb..432e01f72a6 100644
--- a/CIAO/DAnCE/tests/CIAO/CommandlinePassage/Component.cdp
+++ b/CIAO/DAnCE/tests/CIAO/CommandlinePassage/Component.cdp
@@ -21,7 +21,7 @@
<kind>tk_string</kind>
</type>
<value>
- <string>edu.vanderbilt.dre.DAnCE.ServerExecutable</string>
+ <string>edu.vanderbilt.dre.DAnCE.LocalityManager</string>
</value>
</value>
</execParameter>
@@ -84,8 +84,8 @@
<node>CommandlinePassageNode</node>
<source />
<implementation xmi:idref="CompSvrImpl" />
- <configProperty>
- <name>edu.vanderbilt.dre.CIAO.ComponentServer.Args</name>
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.LocalityArguments</name>
<value>
<type>
<kind>tk_string</kind>
@@ -123,7 +123,7 @@
<name>CompoSvrArtifactName</name>
<source />
<node />
- <location>ciao_componentserver</location>
+ <location>dance_locality_manager</location>
</artifact>
<artifact xmi:id="CommandlinePassage_ExecArtifact">
<name>CommandlinePassage_exec</name>
diff --git a/CIAO/DAnCE/tests/CIAO/CommandlinePassage/run_test.pl b/CIAO/DAnCE/tests/CIAO/CommandlinePassage/run_test.pl
index 42e6eb574b4..e54326eb789 100755
--- a/CIAO/DAnCE/tests/CIAO/CommandlinePassage/run_test.pl
+++ b/CIAO/DAnCE/tests/CIAO/CommandlinePassage/run_test.pl
@@ -102,7 +102,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -112,7 +112,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute_exec.cpp b/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute_exec.cpp
index caa0415af75..5a67065c471 100644
--- a/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute_exec.cpp
+++ b/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute_exec.cpp
@@ -204,7 +204,7 @@ namespace CIAO_Simple_SimpleAttribute_Impl
this->long_ == -1 ||
this->short_ == -1)
{
- ACE_ERROR ((LM_ERROR, "SimpleAttribute_exec_i::ccm_activate - "
+ ACE_ERROR ((LM_ERROR, "SimpleAttributeHom_exec_i::create - "
"Error: Attribute values didin't initialize correctly!\n"));
}
else
@@ -213,6 +213,7 @@ namespace CIAO_Simple_SimpleAttribute_Impl
"Test passed! String attribute is %s\n",
this->str_.c_str ()));
}
+
::Components::EnterpriseComponent_ptr retval =
::Components::EnterpriseComponent::_nil ();
diff --git a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeFailureAtActivate.cdp b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeFailureAtActivate.cdp
index 80901f25ca4..363b29389e6 100644
--- a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeFailureAtActivate.cdp
+++ b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeFailureAtActivate.cdp
@@ -67,6 +67,17 @@
<source/>
<artifact xmi:idref="SimpleFailure_ExecArtifact" />
<artifact xmi:idref="SimpleFailure_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleFailureHomeInstance">
@@ -84,7 +95,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeFailureAtStartup.cdp b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeFailureAtStartup.cdp
index 8874e3f840a..a447dc8f499 100644
--- a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeFailureAtStartup.cdp
+++ b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeFailureAtStartup.cdp
@@ -67,6 +67,17 @@
<source/>
<artifact xmi:idref="SimpleFailure_ExecArtifact" />
<artifact xmi:idref="SimpleFailure_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleFailureHomeInstance">
@@ -84,7 +95,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeNoFailure.cdp b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeNoFailure.cdp
index 8f773621a35..8b63bff232c 100644
--- a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeNoFailure.cdp
+++ b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/1NodeNoFailure.cdp
@@ -67,6 +67,17 @@
<source/>
<artifact xmi:idref="SimpleFailure_ExecArtifact" />
<artifact xmi:idref="SimpleFailure_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleFailureHomeInstance">
@@ -84,7 +95,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeFailureAtActivate.cdp b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeFailureAtActivate.cdp
index 32fae58667c..594d8c016f1 100644
--- a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeFailureAtActivate.cdp
+++ b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeFailureAtActivate.cdp
@@ -67,6 +67,17 @@
<source/>
<artifact xmi:idref="SimpleFailure_ExecArtifact" />
<artifact xmi:idref="SimpleFailure_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<!-- Node One -->
@@ -86,7 +97,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -135,7 +146,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeFailureAtStartup.cdp b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeFailureAtStartup.cdp
index db0b5b819b4..30cb3fc94f8 100644
--- a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeFailureAtStartup.cdp
+++ b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeFailureAtStartup.cdp
@@ -67,6 +67,17 @@
<source/>
<artifact xmi:idref="SimpleFailure_ExecArtifact" />
<artifact xmi:idref="SimpleFailure_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<!-- Node One -->
@@ -86,7 +97,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -135,7 +146,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeNoFailure.cdp b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeNoFailure.cdp
index b6a600d09af..b3c0165c0a3 100644
--- a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeNoFailure.cdp
+++ b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/2NodeNoFailure.cdp
@@ -67,6 +67,17 @@
<source/>
<artifact xmi:idref="SimpleFailure_ExecArtifact" />
<artifact xmi:idref="SimpleFailure_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<!-- Node One -->
@@ -86,7 +97,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -135,7 +146,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeFailureAtActivate.cdp b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeFailureAtActivate.cdp
index 9f6315a7ca7..1b9845d54b4 100644
--- a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeFailureAtActivate.cdp
+++ b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeFailureAtActivate.cdp
@@ -67,6 +67,17 @@
<source/>
<artifact xmi:idref="SimpleFailure_ExecArtifact" />
<artifact xmi:idref="SimpleFailure_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<!-- Node One -->
@@ -86,7 +97,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -135,7 +146,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -184,7 +195,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -233,7 +244,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -282,7 +293,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeFailureAtStartup.cdp b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeFailureAtStartup.cdp
index 37718ae6dd1..2e306352442 100644
--- a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeFailureAtStartup.cdp
+++ b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeFailureAtStartup.cdp
@@ -67,6 +67,17 @@
<source/>
<artifact xmi:idref="SimpleFailure_ExecArtifact" />
<artifact xmi:idref="SimpleFailure_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<!-- Node One -->
@@ -86,7 +97,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -135,7 +146,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -184,7 +195,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -233,7 +244,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -282,7 +293,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeNoFailure.cdp b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeNoFailure.cdp
index f01b0da8266..332b454c54f 100644
--- a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeNoFailure.cdp
+++ b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/5NodeNoFailure.cdp
@@ -67,6 +67,17 @@
<source/>
<artifact xmi:idref="SimpleFailure_ExecArtifact" />
<artifact xmi:idref="SimpleFailure_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<!-- Node One -->
@@ -86,7 +97,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -135,7 +146,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -184,7 +195,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -233,7 +244,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -282,7 +293,7 @@
<source/>
<implementation xmi:idref="SimpleFailureComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/run_test.pl b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/run_test.pl
index 5b5eb104ee3..80b5df6c20d 100755
--- a/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/run_test.pl
+++ b/CIAO/DAnCE/tests/CIAO/EM-Launch-Failures/run_test.pl
@@ -89,7 +89,7 @@ sub kill_node_daemons {
}
for ($i = 0; $i < $nr_daemon; ++$i) {
# in case shutdown did not perform as expected
- $tg_daemons[$i]->KillAll ('ciao_componentserver');
+ $tg_daemons[$i]->KillAll ('dance_locality_manager');
}
}
@@ -116,7 +116,7 @@ sub run_node_daemons {
$nodename = $nodebase . ($i + 1);
$node_host = $tg_daemons[$i]->HostName ();
$iiop = "iiop://$node_host:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService --instance-nc corbaloc:rir:/NameService";
@@ -229,7 +229,7 @@ foreach $file (@files) {
if ($status >= 0) {
# cleanup any leftover comp.servers (might happen when not correctly
# started or torn down) otherwise we won't be able to start new ones
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
$file =~ s/Failure.*\.cdp$/NoFailure.cdp/;
diff --git a/CIAO/DAnCE/tests/CIAO/EM-Redeployment/run_test.pl b/CIAO/DAnCE/tests/CIAO/EM-Redeployment/run_test.pl
index b473b6ea233..e61b287ddae 100755
--- a/CIAO/DAnCE/tests/CIAO/EM-Redeployment/run_test.pl
+++ b/CIAO/DAnCE/tests/CIAO/EM-Redeployment/run_test.pl
@@ -85,7 +85,7 @@ sub kill_node_daemon {
}
for ($i = 0; $i < $nr_daemon; ++$i) {
# in case shutdown did not perform as expected
- $tg_daemons[$i]->KillAll ('ciao_componentserver');
+ $tg_daemons[$i]->KillAll ('dance_locality_manager');
}
}
@@ -112,7 +112,7 @@ sub run_node_daemons {
$nodename = $nodenames[$i];
$node_host = $tg_daemons[$i]->HostName ();
$iiop = "iiop://$node_host:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService --instance-nc corbaloc:rir:/NameService";
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome.cdp
index 01c13b3f3d1..92e67ad815f 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleEmitter_ExecArtifact" />
<artifact xmi:idref="SimpleEmitter_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleConsumerHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleConsumer_ExecArtifact" />
<artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleEmitterHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleEmitterComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -169,7 +191,7 @@
<source/>
<implementation xmi:idref="SimpleConsumerComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome_NS.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome_NS.cdp
index 6c01f6d36d6..cfa3f0447e1 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome_NS.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome_NS.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleEmitter_ExecArtifact" />
<artifact xmi:idref="SimpleEmitter_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleConsumerHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleConsumer_ExecArtifact" />
<artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleEmitterHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleEmitterComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -180,7 +202,7 @@
<source/>
<implementation xmi:idref="SimpleConsumerComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome.cdp
index c5bc81c852a..31f01a10415 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleProvider_ExecArtifact" />
<artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleMultipleUserHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleMultipleUser_ExecArtifact" />
<artifact xmi:idref="SimpleMultipleUser_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleProviderHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -169,7 +191,7 @@
<source/>
<implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -188,7 +210,7 @@
<source/>
<implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS.cdp
index fcb44451caa..8a26143627c 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleProvider_ExecArtifact" />
<artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleMultipleUserHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleMultipleUser_ExecArtifact" />
<artifact xmi:idref="SimpleMultipleUser_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleProviderHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -180,7 +202,7 @@
<source/>
<implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -210,7 +232,7 @@
<source/>
<implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS_PL_DP.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS_PL_DP.cdp
index 6e00f7d41a8..dc68110477a 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS_PL_DP.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS_PL_DP.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleProvider_ExecArtifact" />
<artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleMultipleUserHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleMultipleUser_ExecArtifact" />
<artifact xmi:idref="SimpleMultipleUser_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleProviderHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -180,7 +202,7 @@
<source/>
<implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -210,7 +232,7 @@
<source/>
<implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS_PL_SP.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS_PL_SP.cdp
index e5a4daa60c2..685e7817684 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS_PL_SP.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS_PL_SP.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleProvider_ExecArtifact" />
<artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleMultipleUserHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleMultipleUser_ExecArtifact" />
<artifact xmi:idref="SimpleMultipleUser_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleProviderHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -180,7 +202,7 @@
<source/>
<implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -210,7 +232,7 @@
<source/>
<implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome.cdp
index 32747bfc1bf..f67fd51bb0d 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimplePublisher_ExecArtifact" />
<artifact xmi:idref="SimplePublisher_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleConsumerHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleConsumer_ExecArtifact" />
<artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimplePublisherHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimplePublisherComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -169,7 +191,7 @@
<source/>
<implementation xmi:idref="SimpleConsumerComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome_NS.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome_NS.cdp
index 054e7964bea..73d217ed42e 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome_NS.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome_NS.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimplePublisher_ExecArtifact" />
<artifact xmi:idref="SimplePublisher_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleConsumerHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleConsumer_ExecArtifact" />
<artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimplePublisherHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimplePublisherComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -180,7 +202,7 @@
<source/>
<implementation xmi:idref="SimpleConsumerComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimpleComponentExplicitHome.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimpleComponentExplicitHome.cdp
index e9af75b1ac4..9177aa1e82e 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimpleComponentExplicitHome.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimpleComponentExplicitHome.cdp
@@ -67,6 +67,17 @@
<source/>
<artifact xmi:idref="SimpleNull_ExecArtifact" />
<artifact xmi:idref="SimpleNull_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleNullHomeInstance">
@@ -84,7 +95,7 @@
<source/>
<implementation xmi:idref="SimpleNullComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome.cdp
index 8283e9e869a..b41c9c04fa2 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleProvider_ExecArtifact" />
<artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleUserHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleUser_ExecArtifact" />
<artifact xmi:idref="SimpleUser_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleProviderHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -169,7 +191,7 @@
<source/>
<implementation xmi:idref="SimpleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -188,7 +210,7 @@
<source/>
<implementation xmi:idref="SimpleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS.cdp
index 799ec7d5fa6..726e586082c 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleProvider_ExecArtifact" />
<artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleUserHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleUser_ExecArtifact" />
<artifact xmi:idref="SimpleUser_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleProviderHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -180,7 +202,7 @@
<source/>
<implementation xmi:idref="SimpleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -210,7 +232,7 @@
<source/>
<implementation xmi:idref="SimpleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS_PL_DP.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS_PL_DP.cdp
index 58eec7a4ff8..1f52c71a995 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS_PL_DP.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS_PL_DP.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleProvider_ExecArtifact" />
<artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleUserHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleUser_ExecArtifact" />
<artifact xmi:idref="SimpleUser_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleProviderHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -180,7 +202,7 @@
<source/>
<implementation xmi:idref="SimpleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -210,7 +232,7 @@
<source/>
<implementation xmi:idref="SimpleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS_PL_SP.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS_PL_SP.cdp
index fff2817c3ab..9b8a86367c9 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS_PL_SP.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS_PL_SP.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleProvider_ExecArtifact" />
<artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleUserHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleUser_ExecArtifact" />
<artifact xmi:idref="SimpleUser_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleProviderHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -180,7 +202,7 @@
<source/>
<implementation xmi:idref="SimpleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -210,7 +232,7 @@
<source/>
<implementation xmi:idref="SimpleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NilFacet.cdp b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NilFacet.cdp
index e9539795797..9ed8de4aa56 100644
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NilFacet.cdp
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NilFacet.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleNilFacetProvider_ExecArtifact" />
<artifact xmi:idref="SimpleNilFacetProvider_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleNilFacetUserHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleNilFacetUser_ExecArtifact" />
<artifact xmi:idref="SimpleNilFacetUser_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleNilFacetProviderHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleNilFacetProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -169,7 +191,7 @@
<source/>
<implementation xmi:idref="SimpleNilFacetUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -188,7 +210,7 @@
<source/>
<implementation xmi:idref="SimpleNilFacetUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl
index 8cca3466bed..db0d579db58 100755
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl
@@ -86,7 +86,7 @@ sub kill_node_daemon {
}
for ($i = 0; $i < $nr_daemon; ++$i) {
# in case shutdown did not perform as expected
- $tg_daemons[$i]->KillAll ('ciao_componentserver');
+ $tg_daemons[$i]->KillAll ('dance_locality_manager');
}
}
@@ -113,7 +113,7 @@ sub run_node_daemons {
$nodename = $nodenames[$i];
$node_host = $tg_daemons[$i]->HostName ();
$iiop = "iiop://$node_host:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService --instance-nc corbaloc:rir:/NameService";
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test_cdr.pl b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test_cdr.pl
index 901a98944bc..edd5eaf27eb 100755
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test_cdr.pl
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test_cdr.pl
@@ -89,7 +89,7 @@ sub kill_node_daemon {
}
for ($i = 0; $i < $nr_daemon; ++$i) {
# in case shutdown did not perform as expected
- $tg_daemons[$i]->KillAll ('ciao_componentserver');
+ $tg_daemons[$i]->KillAll ('dance_locality_manager');
}
}
@@ -116,7 +116,7 @@ sub run_node_daemons {
$nodename = $nodenames[$i];
$node_host = $tg_daemons[$i]->HostName ();
$iiop = "iiop://$node_host:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService --instance-nc corbaloc:rir:/NameService";
diff --git a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/EmitsConnectionExplicitHome.cdp b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/EmitsConnectionExplicitHome.cdp
index 6ac17b1e9e9..cab85d47d4a 100644
--- a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/EmitsConnectionExplicitHome.cdp
+++ b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/EmitsConnectionExplicitHome.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleEmitter_ExecArtifact" />
<artifact xmi:idref="SimpleEmitter_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleConsumerHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleConsumer_ExecArtifact" />
<artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleEmitterHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleEmitterComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -169,7 +191,7 @@
<source/>
<implementation xmi:idref="SimpleConsumerComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/MultiplexConnectionExplicitHome.cdp b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/MultiplexConnectionExplicitHome.cdp
index 45ff31929c3..3914d6fb605 100644
--- a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/MultiplexConnectionExplicitHome.cdp
+++ b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/MultiplexConnectionExplicitHome.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleProvider_ExecArtifact" />
<artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleMultipleUserHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleMultipleUser_ExecArtifact" />
<artifact xmi:idref="SimpleMultipleUser_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleProviderHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -169,7 +191,7 @@
<source/>
<implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -188,7 +210,7 @@
<source/>
<implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/PublishConnectionExplicitHome.cdp b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/PublishConnectionExplicitHome.cdp
index 53a0a54482d..5dba94fa3b7 100644
--- a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/PublishConnectionExplicitHome.cdp
+++ b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/PublishConnectionExplicitHome.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimplePublisher_ExecArtifact" />
<artifact xmi:idref="SimplePublisher_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleConsumerHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleConsumer_ExecArtifact" />
<artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimplePublisherHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimplePublisherComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -169,7 +191,7 @@
<source/>
<implementation xmi:idref="SimpleConsumerComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleAttributeExplicitHome.cdp b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleAttributeExplicitHome.cdp
index d66eef2c70b..228b8f1fed8 100644
--- a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleAttributeExplicitHome.cdp
+++ b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleAttributeExplicitHome.cdp
@@ -67,6 +67,17 @@
<source/>
<artifact xmi:idref="SimpleAttribute_ExecArtifact" />
<artifact xmi:idref="SimpleAttribute_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleAttributeHomeInstance">
@@ -117,7 +128,7 @@
<source/>
<implementation xmi:idref="SimpleAttributeComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentExplicitHome.cdp b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentExplicitHome.cdp
index 5632d219c48..74cfec7d5b7 100644
--- a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentExplicitHome.cdp
+++ b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentExplicitHome.cdp
@@ -67,6 +67,17 @@
<source/>
<artifact xmi:idref="SimpleNull_ExecArtifact" />
<artifact xmi:idref="SimpleNull_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleNullHomeInstance">
@@ -84,7 +95,7 @@
<source/>
<implementation xmi:idref="SimpleNullComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimplexConnectionExplicitHome.cdp b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimplexConnectionExplicitHome.cdp
index f3f1e1ca6e9..0654617740a 100644
--- a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimplexConnectionExplicitHome.cdp
+++ b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimplexConnectionExplicitHome.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleProvider_ExecArtifact" />
<artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleUserHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleUser_ExecArtifact" />
<artifact xmi:idref="SimpleUser_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleProviderHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -169,7 +191,7 @@
<source/>
<implementation xmi:idref="SimpleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -188,7 +210,7 @@
<source/>
<implementation xmi:idref="SimpleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/TwoComponentsOneHome.cdp b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/TwoComponentsOneHome.cdp
index e02732e05bb..3c04127b3a3 100644
--- a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/TwoComponentsOneHome.cdp
+++ b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/TwoComponentsOneHome.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleProvider_ExecArtifact" />
<artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleUserHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleUser_ExecArtifact" />
<artifact xmi:idref="SimpleUser_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleProviderHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -161,7 +183,7 @@
<source/>
<implementation xmi:idref="SimpleProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -188,7 +210,7 @@
<source/>
<implementation xmi:idref="SimpleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -207,7 +229,7 @@
<source/>
<implementation xmi:idref="SimpleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl
index 71c656d841b..4e7f73231b3 100755
--- a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl
+++ b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl
@@ -108,7 +108,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
@@ -119,7 +119,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService --instance-nc corbaloc:rir:/NameService";
diff --git a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test_cdr.pl b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test_cdr.pl
index 8c09290d6dc..e3b237cd221 100755
--- a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test_cdr.pl
+++ b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test_cdr.pl
@@ -109,7 +109,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
@@ -120,7 +120,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$CIAO_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService --instance-nc corbaloc:rir:/NameService";
diff --git a/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_A.cdp b/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_A.cdp
index ee716fd3187..6a276488fb6 100644
--- a/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_A.cdp
+++ b/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_A.cdp
@@ -64,6 +64,17 @@
<source/>
<artifact xmi:idref="Progressive_ExecArtifact" />
<artifact xmi:idref="Progressive_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="ProgressiveHomeInstance">
@@ -81,7 +92,7 @@
<source/>
<implementation xmi:idref="ProgressiveComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_B.cdp b/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_B.cdp
index 6642f413142..a42fa8fd05a 100644
--- a/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_B.cdp
+++ b/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_B.cdp
@@ -64,6 +64,17 @@
<source/>
<artifact xmi:idref="Progressive_ExecArtifact" />
<artifact xmi:idref="Progressive_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="ProgressiveHomeInstance">
@@ -81,7 +92,7 @@
<source/>
<implementation xmi:idref="ProgressiveComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_C.cdp b/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_C.cdp
index dc62694effa..86ab9a921cc 100644
--- a/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_C.cdp
+++ b/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/Plan_C.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="SimpleProvider_ExecArtifact" />
<artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="SimpleUserHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="SimpleUser_ExecArtifact" />
<artifact xmi:idref="SimpleUser_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="SimpleProviderHomeInstance">
@@ -142,7 +164,7 @@
<source/>
<implementation xmi:idref="SimpleProviderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -180,7 +202,7 @@
<source/>
<implementation xmi:idref="SimpleUserComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/run_test.pl b/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/run_test.pl
index c06d1ad5bcf..ea23cc95761 100755
--- a/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/run_test.pl
+++ b/CIAO/DAnCE/tests/CIAO/Progressive_Deployments/run_test.pl
@@ -103,7 +103,7 @@ sub kill_open_processes {
$NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -113,7 +113,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --instance-nc corbaloc:rir:/NameService";
diff --git a/CIAO/DAnCE/tests/LocalityManager/SpawnMultiple/Deployment.cdp b/CIAO/DAnCE/tests/LocalityManager/SpawnMultiple/Deployment.cdp
new file mode 100644
index 00000000000..429a27661de
--- /dev/null
+++ b/CIAO/DAnCE/tests/LocalityManager/SpawnMultiple/Deployment.cdp
@@ -0,0 +1,106 @@
+<Deployment:DeploymentPlan
+ xmlns:Deployment="http://www.omg.org/Deployment"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
+ <label>LocalityManager_SpawnMultiple</label>
+ <UUID>LocalityManager_SpawnMultiple</UUID>
+
+ <implementation xmi:id="CompSvrImpl">
+ <name>CompSvr</name>
+ <source />
+ <artifact xmi:idref="CompSvrArt" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.DAnCE.LocalityManager</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+
+ <instance xmi:id="CompSvrInst">
+ <name>LocalityInstance</name>
+ <node>LocalityOne</node>
+ <source />
+ <implementation xmi:idref="CompSvrImpl" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.LocalityArguments</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>-o InstOne.ior</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="CompSvrInst2">
+ <name>LocalityInstance2</name>
+ <node>LocalityOne</node>
+ <source />
+ <implementation xmi:idref="CompSvrImpl" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.LocalityArguments</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>-o InstTwo.ior</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="CompSvrInst3">
+ <name>LocalityInstance3</name>
+ <node>LocalityOne</node>
+ <source />
+ <implementation xmi:idref="CompSvrImpl" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.LocalityArguments</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>-o InstThree.ior</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="CompSvrInst4">
+ <name>LocalityInstance4</name>
+ <node>LocalityOne</node>
+ <source />
+ <implementation xmi:idref="CompSvrImpl" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.LocalityArguments</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>-o InstFour.ior</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <artifact xmi:id="CompSvrArt">
+ <name>CompoSvrArtifactName</name>
+ <source />
+ <node />
+ <location>ciao_componentserver</location>
+ </artifact>
+</Deployment:DeploymentPlan>
+
diff --git a/CIAO/DAnCE/tests/LocalityManager/SpawnMultiple/run_test.pl b/CIAO/DAnCE/tests/LocalityManager/SpawnMultiple/run_test.pl
new file mode 100755
index 00000000000..da5225f465e
--- /dev/null
+++ b/CIAO/DAnCE/tests/LocalityManager/SpawnMultiple/run_test.pl
@@ -0,0 +1,245 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::TestTarget;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$nr_daemon = 1;
+@ports = ( 60001 );
+@iorbases = ( "InstOne.ior" );
+@iorfiles = 0;
+@nodenames = ( "LocalityOne" );
+
+# ior files other than daemon
+# ior files other than daemon
+$ior_nsbase = "ns.ior";
+$ior_nsfile = 0;
+$ior_embase = "EM.ior";
+$ior_emfile = 0;
+
+# Processes
+$E = 0;
+$EM = 0;
+$NS = 0;
+@DEAMONS = 0;
+
+# targets
+@tg_daemons = 0;
+$tg_naming = 0;
+$tg_exe_man = 0;
+$tg_executor = 0;
+
+$status = 0;
+$cdp_file = "Deployment.cdp";
+
+
+sub create_targets {
+ # naming service
+ $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
+ $tg_naming->AddLibPath ('.');
+ # daemon
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for deamon $i failed\n";
+ $tg_daemons[$i]->AddLibPath ('.');
+ }
+ # execution manager
+ $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
+ $tg_exe_man->AddLibPath ('.');
+ # executor (plan_launcher)
+ $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
+ $tg_executor->AddLibPath ('.');
+}
+
+sub init_ior_files {
+ $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
+ $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+ delete_ior_files ();
+}
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
+ }
+ $tg_naming->DeleteFile ($ior_nsbase);
+ $tg_exe_man->DeleteFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+}
+
+sub kill_node_daemon {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemon ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill (); $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill (); $NS->TimedWait (1);
+ }
+ # in case shutdown did not perform as expected
+ $tg_executor->KillAll ('dance_locality_manager');
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorbase = $iorbases[$i];
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
+
+ $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
+
+ print "Run dance_node_manager with $d_param\n";
+ $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
+ $DEAMONS[$i]->Spawn ();
+
+ if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
+ $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+create_targets ();
+init_ior_files ();
+
+# Invoke naming service
+
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/Naming_Service", "-m 1 -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+
+print STDERR "Starting Naming Service with -m 1 -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+$ns_status = $NS->Spawn ();
+
+if ($ns_status != 0) {
+ print STDERR "ERROR: Unable to execute the naming service\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+if ($tg_naming->WaitForFileTimed ($ior_nsbase,
+ $tg_naming->ProcessStartWaitInterval ()) == -1) {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+$ns_running = 1;
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+# Invoke node daemon.
+print "Invoking node daemon\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemon\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n";
+$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
+ "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
+$em_status = $EM->Spawn ();
+
+if ($em_status != 0) {
+ print STDERR "ERROR: dance_execution_manager returned $em_status";
+ exit 1;
+}
+
+if ($tg_exe_man->WaitForFileTimed ($ior_embase,
+ $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$em_running = 1;
+
+# Invoke executor - start the application -.
+print "Invoking executor - launch the application -\n";
+
+print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile\n";
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://$ior_emfile");
+
+$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+for ($i = 0; $i < $nr_daemon; ++$i) {
+ if ($tg_daemons[$i]->WaitForFileTimed ($iorbases[$i],
+ $tg_daemons[$i]->ProcessStopWaitInterval ()) == -1) {
+ print STDERR "ERROR: The ior file of daemon $i could not be found\n";
+ kill_open_processes ();
+ exit 1;
+ }
+}
+
+print "Sleeping 10 seconds to allow task to complete\n";
+sleep (10);
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file -q\n";
+
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-k file://$ior_emfile -x $cdp_file -s");
+$pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;
diff --git a/CIAO/DAnCE/tests/LocalityManager/SpawnOne/Deployment.cdp b/CIAO/DAnCE/tests/LocalityManager/SpawnOne/Deployment.cdp
new file mode 100644
index 00000000000..8b3845fe149
--- /dev/null
+++ b/CIAO/DAnCE/tests/LocalityManager/SpawnOne/Deployment.cdp
@@ -0,0 +1,52 @@
+<Deployment:DeploymentPlan
+ xmlns:Deployment="http://www.omg.org/Deployment"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
+ <label>LocalityManager_SpawnOne</label>
+ <UUID>LocalityManager_SpawnOne</UUID>
+
+ <implementation xmi:id="CompSvrImpl">
+ <name>CompSvr</name>
+ <source />
+ <artifact xmi:idref="CompSvrArt" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.DAnCE.LocalityManager</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+
+ <instance xmi:id="CompSvrInst">
+ <name>LocalityInstance</name>
+ <node>LocalityOne</node>
+ <source />
+ <implementation xmi:idref="CompSvrImpl" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.LocalityArguments</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>-o InstOne.ior</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <artifact xmi:id="CompSvrArt">
+ <name>CompoSvrArtifactName</name>
+ <source />
+ <node />
+ <location>ciao_componentserver</location>
+ </artifact>
+</Deployment:DeploymentPlan>
+
diff --git a/CIAO/DAnCE/tests/LocalityManager/SpawnOne/run_test.pl b/CIAO/DAnCE/tests/LocalityManager/SpawnOne/run_test.pl
new file mode 100755
index 00000000000..da5225f465e
--- /dev/null
+++ b/CIAO/DAnCE/tests/LocalityManager/SpawnOne/run_test.pl
@@ -0,0 +1,245 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::TestTarget;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$nr_daemon = 1;
+@ports = ( 60001 );
+@iorbases = ( "InstOne.ior" );
+@iorfiles = 0;
+@nodenames = ( "LocalityOne" );
+
+# ior files other than daemon
+# ior files other than daemon
+$ior_nsbase = "ns.ior";
+$ior_nsfile = 0;
+$ior_embase = "EM.ior";
+$ior_emfile = 0;
+
+# Processes
+$E = 0;
+$EM = 0;
+$NS = 0;
+@DEAMONS = 0;
+
+# targets
+@tg_daemons = 0;
+$tg_naming = 0;
+$tg_exe_man = 0;
+$tg_executor = 0;
+
+$status = 0;
+$cdp_file = "Deployment.cdp";
+
+
+sub create_targets {
+ # naming service
+ $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
+ $tg_naming->AddLibPath ('.');
+ # daemon
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for deamon $i failed\n";
+ $tg_daemons[$i]->AddLibPath ('.');
+ }
+ # execution manager
+ $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
+ $tg_exe_man->AddLibPath ('.');
+ # executor (plan_launcher)
+ $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
+ $tg_executor->AddLibPath ('.');
+}
+
+sub init_ior_files {
+ $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
+ $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+ delete_ior_files ();
+}
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
+ }
+ $tg_naming->DeleteFile ($ior_nsbase);
+ $tg_exe_man->DeleteFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+}
+
+sub kill_node_daemon {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemon ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill (); $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill (); $NS->TimedWait (1);
+ }
+ # in case shutdown did not perform as expected
+ $tg_executor->KillAll ('dance_locality_manager');
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorbase = $iorbases[$i];
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
+
+ $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
+
+ print "Run dance_node_manager with $d_param\n";
+ $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
+ $DEAMONS[$i]->Spawn ();
+
+ if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
+ $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+create_targets ();
+init_ior_files ();
+
+# Invoke naming service
+
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/Naming_Service", "-m 1 -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+
+print STDERR "Starting Naming Service with -m 1 -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+$ns_status = $NS->Spawn ();
+
+if ($ns_status != 0) {
+ print STDERR "ERROR: Unable to execute the naming service\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+if ($tg_naming->WaitForFileTimed ($ior_nsbase,
+ $tg_naming->ProcessStartWaitInterval ()) == -1) {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+$ns_running = 1;
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+# Invoke node daemon.
+print "Invoking node daemon\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemon\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n";
+$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
+ "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
+$em_status = $EM->Spawn ();
+
+if ($em_status != 0) {
+ print STDERR "ERROR: dance_execution_manager returned $em_status";
+ exit 1;
+}
+
+if ($tg_exe_man->WaitForFileTimed ($ior_embase,
+ $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$em_running = 1;
+
+# Invoke executor - start the application -.
+print "Invoking executor - launch the application -\n";
+
+print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile\n";
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://$ior_emfile");
+
+$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+for ($i = 0; $i < $nr_daemon; ++$i) {
+ if ($tg_daemons[$i]->WaitForFileTimed ($iorbases[$i],
+ $tg_daemons[$i]->ProcessStopWaitInterval ()) == -1) {
+ print STDERR "ERROR: The ior file of daemon $i could not be found\n";
+ kill_open_processes ();
+ exit 1;
+ }
+}
+
+print "Sleeping 10 seconds to allow task to complete\n";
+sleep (10);
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file -q\n";
+
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-k file://$ior_emfile -x $cdp_file -s");
+$pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;
diff --git a/CIAO/MPC/config/ciao_componentserver_stub.mpb b/CIAO/MPC/config/ciao_componentserver_stub.mpb
index 2fb84b64754..c8772042a72 100644
--- a/CIAO/MPC/config/ciao_componentserver_stub.mpb
+++ b/CIAO/MPC/config/ciao_componentserver_stub.mpb
@@ -1,7 +1,7 @@
// -*- MPC -*-
// $Id$
-project : ccm_cookie, ccm_configvalue, ccm_componentserver_stub {
+project : ccm_cookie, ccm_configvalue, ccm_componentserver_stub, ciao_logger {
after += CIAO_ComponentServer_stub
libs += CIAO_ComponentServer_stub
}
diff --git a/CIAO/ciao/ComponentServer/CIAO_ComponentServer.mpc b/CIAO/ciao/ComponentServer/CIAO_ComponentServer.mpc
index 0c13d5f597b..d7d97458828 100644
--- a/CIAO/ciao/ComponentServer/CIAO_ComponentServer.mpc
+++ b/CIAO/ciao/ComponentServer/CIAO_ComponentServer.mpc
@@ -42,7 +42,8 @@ project(CIAO_CS_Client_IDL) : install, ciaoidldefaults, anytypecode {
}
project(CIAO_ComponentServer_stub) : install, ccm_componentserver_stub, ciaolib_with_idl, ciao_output, \
- messaging, anytypecode, ciao_lib {
+ messaging, anytypecode, ciao_logger, ciao_lib, ccm_configvalue, \
+ ccm_cookie {
after += CIAO_ComponentServer_IDL CIAO_CS_Client_IDL
dynamicflags = CIAO_COMPONENTSERVER_STUB_BUILD_DLL
@@ -52,6 +53,8 @@ project(CIAO_ComponentServer_stub) : install, ccm_componentserver_stub, ciaolib_
CIAO_ComponentServerC.cpp
CIAO_CS_ClientC.cpp
CIAO_PropertiesC.cpp
+ Server_init.cpp
+ Client_init.cpp
}
Header_Files {
CIAO_ComponentServer_stub_export.h
@@ -76,8 +79,6 @@ project(CIAO_CS_Client_svnt) : install, ccm_svnt, ccm_componentserver_svnt, ciao
}
Source_Files {
CIAO_ServerActivator_Impl.cpp
- Server_init.cpp
- Client_init.cpp
CIAO_ComponentInstallation_Impl.cpp
CIAO_CS_ClientS.cpp
}
diff --git a/CIAO/ciao/ComponentServer/CIAO_Properties.idl b/CIAO/ciao/ComponentServer/CIAO_Properties.idl
index bb4a39995c4..f4d4d6c491b 100644
--- a/CIAO/ciao/ComponentServer/CIAO_Properties.idl
+++ b/CIAO/ciao/ComponentServer/CIAO_Properties.idl
@@ -15,6 +15,10 @@ module CIAO
const string SVNT_ENTRYPT = "edu.vanderbilt.dre.CIAO.ServantEntrypoint";
const string SVNT_ARTIFACT = "edu.vanderbilt.dre.CIAO.ServantArtifact";
const string EXEC_ARTIFACT = "edu.vanderbilt.dre.CIAO.ExecutorArtifact";
+ const string COMPONENT_FACTORY = "component factory";
+ const string HOME_FACTORY = "home factory";
+ const string COMPONENT_HOME = "edu.vanderbilt.dre.CIAO.ComponentHomeId";
+ const string CONTAINER_ID = "edu.vanderbilt.dre.CIAO.ContainerId";
const string SERVER_UUID = "edu.vanderbilt.dre.CIAO.ServerUUID";
const string SERVER_EXECUTABLE = "edu.vanderbilt.dre.CIAO.ComponentServer.Executable";
const string SERVER_ARGUMENTS = "edu.vanderbilt.dre.CIAO.ComponentServer.Args";
diff --git a/CIAO/ciao/ComponentServer/Client_init.h b/CIAO/ciao/ComponentServer/Client_init.h
index 5813c8afbfe..d2a7c9323c4 100644
--- a/CIAO/ciao/ComponentServer/Client_init.h
+++ b/CIAO/ciao/ComponentServer/Client_init.h
@@ -23,7 +23,8 @@
#include "tao/orbconf.h"
#include "tao/AnyTypeCode/Any.h"
#include "ccm/CCM_StandardConfiguratorC.h"
-#include "ciao/ComponentServer/CIAO_CS_Client_svnt_export.h"
+
+#include "ciao/ComponentServer/CIAO_ComponentServer_stub_export.h"
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
namespace CORBA
@@ -42,7 +43,7 @@ namespace CIAO
* should be call right after ORB initialization but we should try
* to register these stuff automatically.
*/
- CIAO_CS_CLIENT_SVNT_Export int Client_init (CORBA::ORB_ptr o);
+ CIAO_COMPONENTSERVER_STUB_Export int Client_init (CORBA::ORB_ptr o);
namespace Utility
{
@@ -52,10 +53,10 @@ namespace CIAO
ACE_Equal_To<ACE_CString>,
ACE_Null_Mutex> CONFIGVALUE_MAP;
- CIAO_CS_CLIENT_SVNT_Export void build_config_values_map (CONFIGVALUE_MAP &map,
+ CIAO_COMPONENTSERVER_STUB_Export void build_config_values_map (CONFIGVALUE_MAP &map,
const ::Components::ConfigValues &config);
- CIAO_CS_CLIENT_SVNT_Export void build_config_values_sequence (::Components::ConfigValues &config,
+ CIAO_COMPONENTSERVER_STUB_Export void build_config_values_sequence (::Components::ConfigValues &config,
const CONFIGVALUE_MAP &map);
}
}
diff --git a/CIAO/ciao/ComponentServer/Server_init.h b/CIAO/ciao/ComponentServer/Server_init.h
index b475dc8312f..d56c5fe50fc 100644
--- a/CIAO/ciao/ComponentServer/Server_init.h
+++ b/CIAO/ciao/ComponentServer/Server_init.h
@@ -16,7 +16,7 @@
#include /**/ "ace/pre.h"
-#include "ciao/ComponentServer/CIAO_CS_Client_svnt_export.h"
+#include "ciao/ComponentServer/CIAO_ComponentServer_stub_export.h"
#if !defined ACE_LACKS_PRAGMA_ONCE
#pragma once
@@ -42,14 +42,14 @@ namespace CIAO
* should be call right after ORB initialization but we should try
* to register these stuff automatically.
*/
- CIAO_CS_CLIENT_SVNT_Export int Server_init (CORBA::ORB_ptr o);
+ CIAO_COMPONENTSERVER_STUB_Export int Server_init (CORBA::ORB_ptr o);
namespace Utility
{
/// Write a string (usually a stringified IOR) to a file
/// designated by the @c pathname. The file named will always get
/// overwritten.
- CIAO_CS_CLIENT_SVNT_Export int write_IOR (const ACE_TCHAR *pathname,
+ CIAO_COMPONENTSERVER_STUB_Export int write_IOR (const ACE_TCHAR *pathname,
const char *IOR);
}
}
diff --git a/CIAO/ciao/Containers/Container_Base.idl b/CIAO/ciao/Containers/Container_Base.idl
index da2d406573a..7027afcc293 100644
--- a/CIAO/ciao/Containers/Container_Base.idl
+++ b/CIAO/ciao/Containers/Container_Base.idl
@@ -8,6 +8,7 @@
#include "tao/PortableServer/PortableServer_include.pidl"
#include "ccm/CCM_Home.idl"
#include "ccm/CCM_Base.idl"
+#include "ccm/CCM_StandardConfigurator.idl"
#include "ciao/Containers/CIAO_Servant_Activator.idl"
module CIAO
@@ -51,6 +52,9 @@ module CIAO
in string servant_artifact,
in string servant_entrypoint,
in string name);
+
+ void set_attributes (in Components::CCMObject name,
+ in Components::ConfigValues values);
void activate_component (in Components::CCMObject name);
diff --git a/CIAO/ciao/Containers/Session/Session_Container.cpp b/CIAO/ciao/Containers/Session/Session_Container.cpp
index a6eb570c149..1165135b90d 100644
--- a/CIAO/ciao/Containers/Session/Session_Container.cpp
+++ b/CIAO/ciao/Containers/Session/Session_Container.cpp
@@ -1013,6 +1013,78 @@ namespace CIAO
}
void
+ Session_Container::set_attributes (Components::CCMObject_ptr compref,
+ const ::Components::ConfigValues & values)
+ {
+ CIAO_TRACE("Session_Container::activate_component");
+
+ try
+ {
+
+ CIAO::Connector_Servant_Impl_Base * svt = 0;
+
+ try
+ {
+ svt =
+ dynamic_cast<CIAO::Connector_Servant_Impl_Base *> (
+ this->component_poa_->reference_to_servant (compref));
+ }
+ catch (...)
+ {
+ throw InvalidComponent ();
+ }
+
+ if (!svt)
+ {
+ throw CIAO::InvalidComponent ();
+ }
+ else
+ {
+ CIAO_DEBUG (9,
+ (LM_TRACE,
+ CLINFO
+ "Session_Container::set_attributes - "
+ "Configuring attribute values on "
+ "component object reference.\n"));
+
+ svt->set_attributes (values);
+ }
+ }
+ catch (const CIAO::InvalidComponent &)
+ {
+ CIAO_ERROR (1,
+ (LM_ERROR,
+ CLINFO
+ "Session_Container::set_attributes - "
+ "Failed to retrieve servant and/or cast "
+ "to servant pointer.\n"));
+ throw;
+ }
+ catch (const CORBA::Exception &ex)
+ {
+ CIAO_ERROR (1,
+ (LM_ERROR,
+ CLINFO
+ "Session_Container::set_attributes - "
+ "Caught CORBA exception while configuring "
+ "component attributes: %C\n",
+ ex._info ().c_str ()));
+ throw;
+ }
+ catch (...)
+ {
+ CIAO_ERROR (1,
+ (LM_ERROR,
+ CLINFO
+ "Session_Container::set_attributes - "
+ "Caught unknown C++ eception while "
+ "configuring component attributes.\n"));
+
+ throw;
+ }
+ }
+
+ void
Session_Container::activate_component (
Components::CCMObject_ptr compref)
{
diff --git a/CIAO/ciao/Containers/Session/Session_Container.h b/CIAO/ciao/Containers/Session/Session_Container.h
index b25975389d5..a2ec4a05ae1 100644
--- a/CIAO/ciao/Containers/Session/Session_Container.h
+++ b/CIAO/ciao/Containers/Session/Session_Container.h
@@ -144,6 +144,10 @@ namespace CIAO
::Components::CCMObject_ptr user,
const char * user_port);
+ /// Set attributes on a component
+ virtual void set_attributes (Components::CCMObject_ptr compref,
+ const ::Components::ConfigValues & values);
+
/// Activate component
virtual void activate_component (Components::CCMObject_ptr compref);
diff --git a/CIAO/ciao/Deployment/Handlers/CIAO_Deployment_Handlers.mpc b/CIAO/ciao/Deployment/Handlers/CIAO_Deployment_Handlers.mpc
new file mode 100644
index 00000000000..c4135507ebc
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/CIAO_Deployment_Handlers.mpc
@@ -0,0 +1,23 @@
+project (CIAO_Deployment_Handlers) : dance_stub, ciao_lib, ciao_output, \
+ ciao_session_container, ciao_logger, ciao_componentserver_stub {
+ dynamicflags = CIAO_LOCALITY_HANDLER_BUILD_DLL
+
+ Source_Files {
+ Component_Handler.cpp
+ Container_Handler.cpp
+ Home_Handler.cpp
+ Homed_Component_Handler.cpp
+ CIAO_State.cpp
+ CIAO_Handler_Common.cpp
+ Connection_Handler.cpp
+ }
+
+ Header_Files {
+ Component_Handler.h
+ Container_Handler.h
+ Home_Handler.h
+ Homed_Component_Handler.h
+ CIAO_State.h
+ CIAO_Locality_Handler_Export.h
+ }
+}
diff --git a/CIAO/ciao/Deployment/Handlers/CIAO_Handler_Common.cpp b/CIAO/ciao/Deployment/Handlers/CIAO_Handler_Common.cpp
new file mode 100644
index 00000000000..ac0ff2e7ff9
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/CIAO_Handler_Common.cpp
@@ -0,0 +1,63 @@
+// $Id$
+#include "CIAO_Handler_Common.h"
+
+#include "Deployment/Deployment_PlanErrorC.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "ciao/Valuetype_Factories/ConfigValue.h"
+
+namespace CIAO
+{
+ const char *
+ Deployment_Common::get_implementation (const char *name,
+ const ::Deployment::DeploymentPlan &plan)
+ {
+ if (name == 0)
+ throw ::Deployment::PlanError (name,
+ "No such artifact");
+
+ for (CORBA::ULong i = 0;
+ i < plan.artifact.length ();
+ ++i)
+ {
+ if (ACE_OS::strcmp (plan.artifact[i].name.in (),
+ name) == 0)
+ {
+ if (plan.artifact[i].location.length () >= 1 &&
+ plan.artifact[i].location[0] != 0)
+ return plan.artifact[i].location[0].in ();
+ else
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::get_implementation - "
+ "No valid location for artifact <%C>\n",
+ name));
+ throw ::Deployment::PlanError (name,
+ "No valid location field\n");
+ }
+ }
+ }
+
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::get_implementation - "
+ "Unable to locate artifact <%C>\n",
+ name));
+ throw ::Deployment::PlanError (name,
+ "Nonexistant artifact");
+ return 0;
+ }
+
+ void
+ Deployment_Common::create_attribute_configuration (const ::Deployment::Properties &props,
+ ::Components::ConfigValues & values)
+ {
+ values.length (props.length ());
+
+ for (CORBA::ULong i = 0;
+ i < props.length ();
+ ++i)
+ {
+ values[i] = new CIAO::ConfigValue_impl (props[i].name.in (),
+ props[i].value);
+ }
+ }
+}
diff --git a/CIAO/ciao/Deployment/Handlers/CIAO_Handler_Common.h b/CIAO/ciao/Deployment/Handlers/CIAO_Handler_Common.h
new file mode 100644
index 00000000000..6a2901402d8
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/CIAO_Handler_Common.h
@@ -0,0 +1,41 @@
+/**
+ * @file CIAO_Handler_Common.h
+ * @author William R. Otte
+ *
+ * Operations common to all CIAO handlers.
+ * $Id$
+ */
+#ifndef CIAO_HANDLER_COMMON_H
+#define CIAO_HANDLER_COMMON_H
+
+#include <map>
+#include <string>
+
+#include "ccm/CCM_StandardConfiguratorC.h"
+#include "Deployment/Deployment_DeploymentPlanC.h"
+#include "DAnCE/DAnCE_Utility.h"
+
+namespace CIAO
+{
+ class Deployment_Common
+ {
+ public:
+ // Temporary hack until Martin's artifact installation work can
+ // be implemented.
+ static const char * get_implementation (const char *name,
+ const ::Deployment::DeploymentPlan &plan);
+
+ static void create_attribute_configuration (const ::Deployment::Properties &props,
+ ::Components::ConfigValues & values);
+ struct Instance_Info
+ {
+ std::string name;
+ ::DAnCE::Utility::PMAP_PTR pmap;
+ };
+
+ typedef std::map < std::string, Instance_Info > INSTANCES;
+
+ };
+}
+
+#endif
diff --git a/CIAO/ciao/Deployment/Handlers/CIAO_Locality_Handler_Export.h b/CIAO/ciao/Deployment/Handlers/CIAO_Locality_Handler_Export.h
new file mode 100644
index 00000000000..e62e00464f2
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/CIAO_Locality_Handler_Export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl CIAO_Locality_Handler
+// ------------------------------
+#ifndef CIAO_LOCALITY_HANDLER_EXPORT_H
+#define CIAO_LOCALITY_HANDLER_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (CIAO_LOCALITY_HANDLER_HAS_DLL)
+# define CIAO_LOCALITY_HANDLER_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && CIAO_LOCALITY_HANDLER_HAS_DLL */
+
+#if !defined (CIAO_LOCALITY_HANDLER_HAS_DLL)
+# define CIAO_LOCALITY_HANDLER_HAS_DLL 1
+#endif /* ! CIAO_LOCALITY_HANDLER_HAS_DLL */
+
+#if defined (CIAO_LOCALITY_HANDLER_HAS_DLL) && (CIAO_LOCALITY_HANDLER_HAS_DLL == 1)
+# if defined (CIAO_LOCALITY_HANDLER_BUILD_DLL)
+# define CIAO_Locality_Handler_Export ACE_Proper_Export_Flag
+# define CIAO_LOCALITY_HANDLER_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define CIAO_LOCALITY_HANDLER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* CIAO_LOCALITY_HANDLER_BUILD_DLL */
+# define CIAO_Locality_Handler_Export ACE_Proper_Import_Flag
+# define CIAO_LOCALITY_HANDLER_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define CIAO_LOCALITY_HANDLER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* CIAO_LOCALITY_HANDLER_BUILD_DLL */
+#else /* CIAO_LOCALITY_HANDLER_HAS_DLL == 1 */
+# define CIAO_Locality_Handler_Export
+# define CIAO_LOCALITY_HANDLER_SINGLETON_DECLARATION(T)
+# define CIAO_LOCALITY_HANDLER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* CIAO_LOCALITY_HANDLER_HAS_DLL == 1 */
+
+// Set CIAO_LOCALITY_HANDLER_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (CIAO_LOCALITY_HANDLER_NTRACE)
+# if (ACE_NTRACE == 1)
+# define CIAO_LOCALITY_HANDLER_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define CIAO_LOCALITY_HANDLER_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !CIAO_LOCALITY_HANDLER_NTRACE */
+
+#if (CIAO_LOCALITY_HANDLER_NTRACE == 1)
+# define CIAO_LOCALITY_HANDLER_TRACE(X)
+#else /* (CIAO_LOCALITY_HANDLER_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define CIAO_LOCALITY_HANDLER_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (CIAO_LOCALITY_HANDLER_NTRACE == 1) */
+
+#endif /* CIAO_LOCALITY_HANDLER_EXPORT_H */
+
+// End of auto generated file.
diff --git a/CIAO/ciao/Deployment/Handlers/CIAO_State.cpp b/CIAO/ciao/Deployment/Handlers/CIAO_State.cpp
new file mode 100644
index 00000000000..da27aae66af
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/CIAO_State.cpp
@@ -0,0 +1,158 @@
+// $Id$
+
+#include "CIAO_State.h"
+#include "ciao/Logger/Log_Macros.h"
+
+namespace CIAO
+{
+ void
+ Deployment_State::add_container (const char *id,
+ CIAO::Container_ptr container)
+ {
+ CIAO_TRACE ("Deployment_State::add_container");
+
+ if (CIAO_debug_level && // Let's only perform this lookup if we have logging enabled.
+ this->containers_.find (id) != this->containers_.end ())
+ {
+ CIAO_ERROR (1, (LM_WARNING, CLINFO
+ "Deployment_State::add_container - "
+ "Warning: Attempting to add duplicate container reference\n"));
+ }
+
+ this->containers_[id] = CIAO::Container::_duplicate (container);
+ }
+
+ void
+ Deployment_State::remove_container (const char *id)
+ {
+ CIAO_TRACE ("Deployment_State::remove_container");
+
+ CONTAINERS::iterator pos = this->containers_.find (id);
+
+ if (pos != this->containers_.end ())
+ this->containers_.erase (pos);
+ }
+
+ CIAO::Container_ptr
+ Deployment_State::fetch_container (const char *id)
+ {
+ CIAO_TRACE ("Deployment_State::fetch_container");
+
+ CONTAINERS::iterator pos = this->containers_.find (id);
+
+ if (pos == this->containers_.end ()) return 0;
+ return CIAO::Container::_duplicate (pos->second.in ());
+ }
+
+ void
+ Deployment_State::add_home (const char *id,
+ const char *cont_id,
+ Components::CCMHome_ptr home)
+ {
+ CIAO_TRACE ("Deployment_State::add_home");
+
+ if (CIAO_debug_level && // Let's only perform this lookup if we have logging enabled.
+ this->homes_.find (id) != this->homes_.end ())
+ {
+ CIAO_ERROR (1, (LM_WARNING, CLINFO
+ "Deployment_State::add_home - "
+ "Warning: Attempting to add duplicate home reference\n"));
+ }
+
+ this->instance_container_[id] = cont_id;
+ this->homes_[id] = Components::CCMHome::_duplicate (home);
+ }
+
+ void
+ Deployment_State::remove_home (const char *id)
+ {
+ CIAO_TRACE ("Deployment_State::remove_home");
+
+ HOMES::iterator pos = this->homes_.find (id);
+
+ if (pos != this->homes_.end ())
+ this->homes_.erase (pos);
+
+ INSTANCE_CONTAINER::iterator cont =
+ this->instance_container_.find (id);
+
+ if (cont != this->instance_container_.end ())
+ this->instance_container_.erase (cont);
+ }
+
+ Components::CCMHome_ptr
+ Deployment_State::fetch_home (const char *id)
+ {
+ CIAO_TRACE ("Deployment_State::fetch_home");
+
+ HOMES::iterator pos = this->homes_.find (id);
+
+ if (pos == this->homes_.end ()) return 0;
+ return Components::CCMHome::_duplicate (pos->second.in ());
+ }
+
+ void
+ Deployment_State::add_component (const char *id,
+ const char *cont_id,
+ Components::CCMObject_ptr component)
+ {
+ CIAO_TRACE ("Deployment_State::add_component");
+
+ if (CIAO_debug_level && // Let's only perform this lookup if we have logging enabled.
+ this->components_.find (id) != this->components_.end ())
+ {
+ CIAO_ERROR (1, (LM_WARNING, CLINFO
+ "Deployment_State::add_component - "
+ "Warning: Attempting to add duplicate component reference\n"));
+ }
+
+ this->instance_container_[id] = cont_id;
+ this->components_[id] = Components::CCMObject::_duplicate (component);
+ }
+
+ void
+ Deployment_State::remove_component (const char *id)
+ {
+ CIAO_TRACE ("Deployment_State::remove_component");
+
+ COMPONENTS::iterator pos = this->components_.find (id);
+
+ if (pos != this->components_.end ())
+ this->components_.erase (pos);
+
+ INSTANCE_CONTAINER::iterator cont =
+ this->instance_container_.find (id);
+
+ if (cont != this->instance_container_.end ())
+ this->instance_container_.erase (cont);
+ }
+
+ Components::CCMObject_ptr
+ Deployment_State::fetch_component (const char *id)
+ {
+ CIAO_TRACE ("Deployment_State::fetch_component");
+
+ COMPONENTS::iterator pos = this->components_.find (id);
+
+ if (pos == this->components_.end ()) return 0;
+ return Components::CCMObject::_duplicate (pos->second.in ());
+ }
+
+ const char *
+ Deployment_State::instance_to_container (const char *id)
+ {
+ CIAO_TRACE ("Deployment_State::instance_to_container");
+
+ INSTANCE_CONTAINER::const_iterator cont =
+ this->instance_container_.find (id);
+
+ if (cont != this->instance_container_.end ())
+ return cont->second.c_str ();
+
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Deployment_State::instance_to_container - "
+ "Error: Unknown instance ID <%C>\n",
+ id));
+ return 0;
+ }
+}
diff --git a/CIAO/ciao/Deployment/Handlers/CIAO_State.h b/CIAO/ciao/Deployment/Handlers/CIAO_State.h
new file mode 100644
index 00000000000..557f827745a
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/CIAO_State.h
@@ -0,0 +1,88 @@
+/**
+ * @file CIAO_State.h
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ *
+ * $Id$
+ */
+
+#ifndef CIAO_STATE_H
+#define CIAO_STATE_H
+
+#include <map>
+#include <string>
+
+#include "ace/Singleton.h"
+#include "ciao/Containers/Container_BaseC.h"
+#include "ccm/CCM_HomeC.h"
+#include "ccm/CCM_ObjectC.h"
+#include "CIAO_Locality_Handler_Export.h"
+#include "ciao/Deployment/Handlers/Connection_Handler.h"
+
+namespace CIAO
+{
+ /**
+ * @class Deployment_State
+ * @brief Singleton collecting state for the instance handlers.
+ *
+ */
+ class CIAO_Locality_Handler_Export Deployment_State
+ {
+ public:
+
+ void add_container (const char *id,
+ CIAO::Container_ptr container);
+
+ void remove_container (const char *id);
+
+ CIAO::Container_ptr fetch_container (const char *id);
+
+ const char * instance_to_container (const char *id);
+
+ void add_home (const char *id, const char *container_id,
+ Components::CCMHome_ptr home);
+
+ void remove_home (const char *id);
+
+ Components::CCMHome_ptr fetch_home (const char *id);
+
+ void add_component (const char *id, const char *container_id,
+ Components::CCMObject_ptr component);
+
+ void remove_component (const char *id);
+
+ Components::CCMObject_ptr fetch_component (const char *id);
+
+ Connection_Handler connection_handler;
+
+ private:
+ typedef std::map < std::string,
+ CIAO::Container_var > CONTAINERS;
+
+ CONTAINERS containers_;
+
+ typedef std::map < std::string, std::string > INSTANCE_CONTAINER;
+
+ /// maps instance ids to containers.
+ INSTANCE_CONTAINER instance_container_;
+
+ typedef std::map < std::string,
+ Components::CCMHome_var > HOMES;
+
+ HOMES homes_;
+
+ typedef std::map < std::string,
+ Components::CCMObject_var > COMPONENTS;
+
+ COMPONENTS components_;
+ };
+
+ typedef ACE_Singleton <Deployment_State,
+ ACE_SYNCH_MUTEX> DEPLOYMENT_STATE;
+
+}
+
+CIAO_LOCALITY_HANDLER_SINGLETON_DECLARE (ACE_Singleton,
+ CIAO::Deployment_State,
+ ACE_SYNCH_MUTEX);
+
+#endif
diff --git a/CIAO/ciao/Deployment/Handlers/Component_Handler.cpp b/CIAO/ciao/Deployment/Handlers/Component_Handler.cpp
new file mode 100644
index 00000000000..cec456977d9
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/Component_Handler.cpp
@@ -0,0 +1,446 @@
+// $Id$
+
+#include "Component_Handler.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "ciao/ComponentServer/CIAO_PropertiesC.h"
+#include "ciao/Containers/Container_BaseC.h"
+#include "ccm/CCM_ObjectC.h"
+#include "CIAO_State.h"
+
+namespace CIAO
+{
+ Component_Handler_i::Component_Handler_i (void)
+ {
+ CIAO_TRACE ("Component_Handler_i::Component_Handler_i");
+ }
+
+ // Destructor
+ Component_Handler_i::~Component_Handler_i (void)
+ {
+ CIAO_TRACE ("Component_Handler_i::~Component_Handler_i");
+ }
+
+
+ char *
+ Component_Handler_i::instance_type (void)
+ {
+ CIAO_TRACE ("Component_Handler_i::instance_type");
+ return CORBA::string_dup ("edu.dre.vanderbilt.dre.CCM.Component");
+ }
+
+
+ void
+ Component_Handler_i::install_instance (const ::Deployment::DeploymentPlan &plan,
+ ::CORBA::ULong instanceRef,
+ ::CORBA::Any_out instance_reference)
+ {
+ CIAO_TRACE ("Component_Handler_i::install_instance");
+
+ const ::Deployment::InstanceDeploymentDescription &idd (plan.instance[instanceRef]);
+ const ::Deployment::MonolithicDeploymentDescription &mdd (plan.implementation[idd.implementationRef]);
+
+ DAnCE::Utility::PROPERTY_MAP *pmap;
+
+ ACE_NEW_THROW_EX (pmap,
+ DAnCE::Utility::PROPERTY_MAP (idd.configProperty.length () +
+ mdd.execParameter.length ()),
+ CORBA::NO_MEMORY ());
+
+ Deployment_Common::Instance_Info info;
+ info.name = idd.name.in ();
+ info.pmap.reset (pmap);
+
+
+ DAnCE::Utility::build_property_map (*pmap,
+ mdd.execParameter);
+ DAnCE::Utility::build_property_map (*pmap,
+ idd.configProperty);
+
+ CORBA::String_var exec_art, exec_entry, svnt_art, svnt_entry, cont_id;
+
+ using namespace CIAO::Deployment;
+ CORBA::Any val;
+ const char *tmp;
+
+ if (pmap->find (SVNT_ENTRYPT, val) == 0)
+ {
+ val >>= tmp;
+ svnt_entry = tmp;
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Component_Handler_i::install_instance - "
+ "Found Servant entrypoint %C\n", svnt_entry.in ()));
+ }
+ else
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::install_instance - "
+ "Error: No Servant entrypoint provided, aborting installation\n"));
+ throw ::Deployment::PlanError (idd.name.in (),
+ "No servant entrypoint identified.");
+ }
+
+ if (pmap->find (SVNT_ARTIFACT, val) == 0)
+ {
+ val >>= tmp;
+ svnt_art = Deployment_Common::get_implementation (tmp, plan);
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Component_Handler_i::install_instance - "
+ "Found Servant artifact %C\n", svnt_art.in ()));
+ }
+ else
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::install_instance - "
+ "Error: No Servant artifact provided, aborting installation\n"));
+ throw ::Deployment::PlanError (idd.name.in (),
+ "No servant artifact identified.");
+ }
+
+
+ if (pmap->find (EXEC_ARTIFACT, val) == 0)
+ {
+ val >>= tmp;
+ exec_art = Deployment_Common::get_implementation (tmp, plan);
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Component_Handler_i::install_instance - "
+ "Found executor artifact: %C\n", exec_art.in ()));
+ }
+ else
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::install_instance - "
+ "Error: No Executor artifact provided, aborting installation\n"));
+ throw ::Deployment::PlanError (idd.name.in (),
+ "No executory artifact identified.\n");
+ }
+
+ if (pmap->find (COMPONENT_FACTORY, val) == 0)
+ {
+ val >>= tmp;
+ exec_entry = tmp;
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Component_Handler_i::install_instance - "
+ "Found executor entrypoint: %C\n", exec_entry.in ()));
+ }
+ else
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::install_instance - "
+ "Error: No Executor artifact provided, aborting installation\n"));
+ throw ::Deployment::PlanError (idd.name.in (),
+ "No executor entrypoint provided\n");
+ }
+
+ if (pmap->find (CONTAINER_ID, val) == 0)
+ {
+ val >>= tmp;
+ cont_id = tmp;
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Component_Handler_i::install_instance - "
+ "Found executor entrypoint: %C\n", exec_entry.in ()));
+ }
+ else
+ {
+ CIAO_ERROR (4, (LM_INFO, CLINFO
+ "Component_Handler_i::install_instance - "
+ "No container provided, using default container for instance <%C>\n",
+ idd.name.in ()));
+ cont_id = "";
+ }
+
+ ::CIAO::Container_var container = DEPLOYMENT_STATE::instance ()->fetch_container (cont_id);
+
+ if (CORBA::is_nil (container))
+ {
+ CIAO_ERROR (1, (LM_INFO, CLINFO
+ "Component_Handler_i::install_instance - "
+ "Container with Id <%C> not installed, aborting.\n",
+ cont_id.in ()));
+ throw ::Deployment::PlanError (idd.name.in (),
+ "Invalid container\n");
+ }
+
+ Components::CCMObject_var comp_ref;
+
+ try
+ {
+ comp_ref = container->install_component (exec_art,
+ exec_entry,
+ svnt_art,
+ svnt_entry,
+ idd.name.in ());
+
+ ::Components::ConfigValues attr_config;
+ Deployment_Common::create_attribute_configuration (idd.configProperty,
+ attr_config);
+
+ container->set_attributes (comp_ref.in (),
+ attr_config);
+ }
+ catch (::CORBA::Exception &ex)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::install_instance - "
+ "Caught CORBA exception <%C>\n",
+ ex._info ().c_str ()));
+ throw ::Deployment::StartError (idd.name.in (),
+ ex._info ().c_str ());
+ }
+ catch (...)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::install_instance - "
+ "Caught unknown C++ exception\n"));
+ throw ::Deployment::StartError (idd.name.in (),
+ "Unknown C++ exception\n");
+ }
+
+ if (CORBA::is_nil (comp_ref))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::install_instance - "
+ "Container provided nil object reference for component.\n"));
+ throw ::Deployment::StartError (idd.name.in (),
+ "Container provided nil object reference");
+ }
+
+ this->instances_[idd.name.in ()] = info;
+
+ DEPLOYMENT_STATE::instance ()->add_component (idd.name.in (),
+ cont_id,
+ comp_ref.in ());
+
+ CORBA::Any *retval;
+ ACE_NEW_THROW_EX (retval,
+ CORBA::Any (),
+ CORBA::NO_MEMORY ());
+
+ (*retval) <<= comp_ref;
+ instance_reference = retval;
+ }
+
+ void
+ Component_Handler_i::activate_instance (const ::Deployment::DeploymentPlan &plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Component_Handler_i::activate_instance");
+
+ const char *name = plan.instance[instanceRef].name.in ();
+
+ const char *container =
+ DEPLOYMENT_STATE::instance ()->instance_to_container (name);
+
+ CIAO::Container_var cont =
+ DEPLOYMENT_STATE::instance ()->fetch_container (container);
+
+ Components::CCMObject_var comp =
+ DEPLOYMENT_STATE::instance ()->fetch_component (name);
+
+ try
+ {
+ cont->activate_component (comp.in ());
+ }
+ catch (CORBA::Exception &ex)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::activate_instance - "
+ "Caught CORBA Exception while activating instance <%C>: %C\n",
+ name,
+ ex._info ().c_str ()));
+ throw ::Deployment::StartError (name,
+ ex._info ().c_str ());
+ }
+ catch (...)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::activate_instance - "
+ "Caught C++ Exception while activating instance <%C>\n",
+ name));
+ throw ::Deployment::StartError (name,
+ "Unknown C++ exception during activation");
+ }
+ }
+
+ void
+ Component_Handler_i::passivate_instance (const ::Deployment::DeploymentPlan &plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Component_Handler_i::passivate_instance");
+
+ const char *name = plan.instance[instanceRef].name.in ();
+
+ const char *container =
+ DEPLOYMENT_STATE::instance ()->instance_to_container (name);
+
+ CIAO::Container_var cont =
+ DEPLOYMENT_STATE::instance ()->fetch_container (container);
+
+ Components::CCMObject_var comp =
+ DEPLOYMENT_STATE::instance ()->fetch_component (name);
+
+ try
+ {
+ cont->passivate_component (comp.in ());
+ }
+ catch (CORBA::Exception &ex)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::passivate_instance - "
+ "Caught CORBA Exception while passivating instance <%C>: %C\n",
+ name,
+ ex._info ().c_str ()));
+ throw ::Deployment::StopError (name,
+ ex._info ().c_str ());
+ }
+ catch (...)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::passivate_instance - "
+ "Caught C++ Exception while passivating instance <%C>\n",
+ name));
+ throw ::Deployment::StartError (name,
+ "Unknown C++ exception during passivation");
+ }
+ }
+
+ void
+ Component_Handler_i::remove_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Component_Handler_i::remove_instance");
+
+ const char *name = plan.instance[instanceRef].name.in ();
+ Deployment_Common::INSTANCES::iterator instance
+ = this->instances_.find (name);
+
+ if (instance == this->instances_.end ())
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::remove_instance - "
+ "Instructed to remove unknown component instance <%C>\n",
+ name));
+ throw ::Deployment::StopError (name,
+ "Wrong instance handler for component instance\n");
+ }
+
+ CIAO_DEBUG (8, (LM_DEBUG, CLINFO
+ "Component_Handler_i::remove_instance - "
+ "Attempting removal of component instance <%C>\n",
+ name));
+
+ CORBA::Any val;
+ const char *cont_id;
+
+ if (instance->second.pmap->find (Deployment::CONTAINER_ID, val) == 0)
+ {
+ val >>= cont_id;
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Component_Handler_i::remove_instance - "
+ "Found component container: %C\n", cont_id));
+ }
+ else
+ {
+ CIAO_ERROR (4, (LM_INFO, CLINFO
+ "Component_Handler_i::install_instance - "
+ "No container provided, using default container for instance <%C>\n",
+ name));
+ cont_id = "";
+ }
+
+ ::CIAO::Container_var container = DEPLOYMENT_STATE::instance ()->fetch_container (cont_id);
+
+ if (CORBA::is_nil (container))
+ {
+ CIAO_ERROR (1, (LM_INFO, CLINFO
+ "Component_Handler_i::remove_instance - "
+ "Container with Id <%C> not installed, aborting.\n",
+ cont_id));
+ throw ::Deployment::StopError (name,
+ "Invalid container\n");
+ }
+
+ Components::CCMObject_var ref
+ = DEPLOYMENT_STATE::instance ()->fetch_component (name);
+
+ try
+ {
+ container->uninstall_component (ref);
+ }
+ catch (CORBA::Exception &ex)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::remove_instance - "
+ "Caught CORBA exception <%C>\n",
+ ex._info ().c_str ()));
+ throw ::Deployment::StopError (name,
+ ex._info ().c_str ());
+ }
+ catch (...)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Component_Handler_i::remove_instance - "
+ "Caught unknown C++ exception\n"));
+ throw ::Deployment::StopError (name,
+ "Unknown C++ exception\n");
+ }
+
+ this->instances_.erase (instance);
+ DEPLOYMENT_STATE::instance ()->remove_component (name);
+
+ CIAO_DEBUG (4, (LM_INFO, CLINFO
+ "Component_Handler_i::remove_instance - "
+ "Instance <%C> successfully removed\n",
+ name));
+ }
+
+ void
+ Component_Handler_i::provide_endpoint_reference (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::Any_out endpoint_reference)
+ {
+ CIAO_TRACE ("Component_Handler_i::provide_endpoint_reference");
+
+ DEPLOYMENT_STATE::instance ()->connection_handler.provide_endpoint_reference (plan,
+ connectionRef,
+ endpoint_reference);
+ }
+
+ void
+ Component_Handler_i::connect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ const ::CORBA::Any & provided_reference)
+ {
+ CIAO_TRACE ("Component_Handler_i::connect_instance");
+
+ DEPLOYMENT_STATE::instance ()->connection_handler.connect_instance (plan,
+ connectionRef,
+ provided_reference);
+ }
+
+
+ void
+ Component_Handler_i::disconnect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef)
+ {
+ CIAO_TRACE ("Component_Handler_i::disconnect_instance");
+ DEPLOYMENT_STATE::instance ()->connection_handler.disconnect_instance (plan,
+ connectionRef);
+
+ }
+
+ void
+ Component_Handler_i::instance_configured (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef)
+ {
+ CIAO_TRACE ("Component_Handler_i::instance_configured");
+
+ Components::CCMObject_var ref =
+ DEPLOYMENT_STATE::instance ()->fetch_component (plan.instance[instanceRef].name.in ());
+
+ ref->configuration_complete ();
+ }
+
+}
diff --git a/CIAO/ciao/Deployment/Handlers/Component_Handler.h b/CIAO/ciao/Deployment/Handlers/Component_Handler.h
new file mode 100644
index 00000000000..abbede50524
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/Component_Handler.h
@@ -0,0 +1,84 @@
+
+// -*- C++ -*-
+// $Id$
+
+/**
+ * @file Locality_Manager_Handler_Impl.h
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Installation handler implementation for spawning LocalityManagers.
+ */
+
+#ifndef CIAO_COMPONENT_HANDLER_H
+#define CIAO_COMPONENT_HANDLER_H
+
+#include "DAnCE/DAnCE_LocalityManagerS.h"
+#include "DAnCE/DAnCE_Utility.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/LocalObject.h"
+#include "ciao/Deployment/Handlers/CIAO_Locality_Handler_Export.h"
+#include "ciao/Deployment/Handlers/CIAO_Handler_Common.h"
+
+namespace CIAO
+{
+ class CIAO_LocalityActivator_i;
+
+ class CIAO_Locality_Handler_Export Component_Handler_i
+ : public virtual DAnCE::InstanceDeploymentHandler,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ // Constructor
+ Component_Handler_i (void);
+
+ // Destructor
+ virtual ~Component_Handler_i (void);
+
+ virtual
+ char * instance_type (void);
+
+ virtual
+ void install_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ ::CORBA::Any_out instance_reference);
+
+ virtual
+ void remove_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any & instance_reference);
+
+ virtual
+ void activate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &);
+ virtual
+ void passivate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &);
+
+ virtual
+ void provide_endpoint_reference (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::Any_out endpoint_reference);
+
+ virtual
+ void connect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ const ::CORBA::Any & provided_reference);
+
+ virtual
+ void disconnect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef);
+
+ virtual
+ void instance_configured (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef);
+ private:
+ Deployment_Common::INSTANCES instances_;
+ };
+}
+#endif
diff --git a/CIAO/ciao/Deployment/Handlers/Connection_Handler.cpp b/CIAO/ciao/Deployment/Handlers/Connection_Handler.cpp
new file mode 100644
index 00000000000..a4536656a9b
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/Connection_Handler.cpp
@@ -0,0 +1,607 @@
+#include "Connection_Handler.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "Deployment/Deployment_InvalidConnectionC.h"
+#include "CIAO_State.h"
+namespace CIAO
+{
+ void
+ Connection_Handler::provide_endpoint_reference (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::Any_out endpoint_reference)
+ {
+ CIAO_TRACE ("Component_Handler_i::provide_endpoint_reference");
+
+ const ::Deployment::PlanConnectionDescription &conn =
+ plan.connection[connectionRef];
+
+ try
+ {
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Connection_Handler::provide_endpoint_reference - "
+ "Called for connection <%C>\n",
+ conn.name.in ()));
+
+ for (CORBA::ULong i = 0;
+ i < conn.internalEndpoint.length ();
+ ++i)
+ {
+ if (conn.internalEndpoint[i].provider)
+ {
+ CORBA::Any *out;
+ CORBA::Object_var ref;
+ CORBA::ULong instanceRef = conn.internalEndpoint[i].instanceRef;
+ Components::CCMObject_var comp =
+ DEPLOYMENT_STATE::instance ()->
+ fetch_component (plan.instance[instanceRef].name.in ());
+
+ if (CORBA::is_nil (comp.in ()))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::provide_endpoint_reference - "
+ "Nil component reference from CIAO_State for <%C>\n",
+ plan.instance[instanceRef].name.in ()));
+ throw ::Deployment::InvalidConnection (conn.name.in (),
+ "Component instance not deployed when "
+ "gathering connections.");
+ }
+
+ ACE_NEW_THROW_EX (out,
+ CORBA::Any (),
+ CORBA::NO_MEMORY ());
+
+ endpoint_reference = out;
+
+ switch (conn.internalEndpoint[i].kind)
+ {
+ case ::Deployment::Facet:
+ ref =
+ comp->provide_facet (conn.internalEndpoint[i].portName.in ());
+ (*out) <<= ref.in ();
+ break;
+
+ case ::Deployment::EventConsumer:
+ ref =
+ comp->get_consumer (conn.internalEndpoint[i].portName.in ());
+ (*out) <<= ref.in ();
+ break;
+
+ default:
+ throw ::Deployment::InvalidConnection (conn.name.in (),
+ "Invalid provider port type.");
+ };
+
+ return;
+ }
+ }
+ }
+ catch (const CORBA::Exception &ex)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::provide_endpoint_reference - "
+ "Caught CORBA Exception <%C> while fetching reference for "
+ "connection <%C>\n",
+ ex._info ().c_str (),
+ plan.connection[connectionRef].name.in ()));
+ throw ::Deployment::InvalidConnection (plan.connection[connectionRef].name.in (),
+ ex._info ().c_str ());
+
+ }
+ }
+
+ void
+ Connection_Handler::connect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong c_id,
+ const ::CORBA::Any & provided_reference)
+ {
+ CIAO_TRACE ("Connection_Handler::connect_instance");
+
+ const ::Deployment::PlanConnectionDescription &conn = plan.connection[c_id];
+ const char *name = conn.name.in ();
+
+ if (conn.internalEndpoint.length () == 0)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_instance - "
+ "Connection <%C> lacks an internalEndpoint.\n",
+ name));
+ throw ::Deployment::InvalidConnection (name,
+ "No internal endpoint for connection\n");
+ }
+
+ CORBA::ULong endpoint (0);
+
+ if (conn.internalEndpoint.length () > 1)
+ {
+ for (CORBA::ULong i = 0;
+ i < conn.internalEndpoint.length ();
+ ++i)
+ {
+ if (!conn.internalEndpoint[i].provider)
+ endpoint = i;
+ }
+ }
+
+ switch (conn.internalEndpoint[endpoint].kind)
+ {
+ case Deployment::Facet:
+ this->connect_facet (plan, c_id, endpoint, provided_reference);
+ break;
+
+ case Deployment::SimplexReceptacle:
+ case Deployment::MultiplexReceptacle:
+ this->connect_receptacle (plan, c_id, endpoint, provided_reference);
+ break;
+
+ case Deployment::EventEmitter:
+ this->connect_emitter (plan, c_id, endpoint, provided_reference);
+ break;
+
+ case Deployment::EventPublisher:
+ this->connect_publisher (plan, c_id, endpoint, provided_reference);
+ break;
+
+ case Deployment::EventConsumer:
+ this->connect_consumer (plan, c_id, endpoint, provided_reference);
+ break;
+
+ default:
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_instance - "
+ "Unsupported port type.\n"));
+ throw ::Deployment::InvalidConnection (name,
+ "Unsupported port type");
+
+ }
+ }
+
+ void
+ Connection_Handler::disconnect_instance (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong)
+ {
+ CIAO_TRACE ("Connection_Handler::disconnect_instance");
+ // no-op is current behavior, we'll do that for now.
+ }
+
+ void
+ Connection_Handler::connect_facet (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::ULong endpointRef,
+ const ::CORBA::Any & provided_reference)
+ {
+ CIAO_TRACE ("Connection_Handler::connect_facet");
+
+ const ::Deployment::PlanConnectionDescription &conn =
+ plan.connection[connectionRef];
+ const ::Deployment::PlanSubcomponentPortEndpoint &endpoint =
+ conn.internalEndpoint[endpointRef];
+
+ CIAO_DEBUG (6, (LM_DEBUG, CLINFO
+ "Connection_Handler::connect_facet - "
+ "Connecting connection <%C> on instance <%C>\n",
+ conn.name.in (),
+ plan.instance[endpoint.instanceRef].name.in ()));
+
+ if (this->is_local_facet (conn))
+ {
+ CORBA::ULong other_endpointRef = (endpointRef + 1) % 2;
+ if (conn.internalEndpoint.length () == 2 &&
+ (conn.internalEndpoint[other_endpointRef].kind == ::Deployment::MultiplexReceptacle ||
+ conn.internalEndpoint[other_endpointRef].kind == ::Deployment::SimplexReceptacle))
+ {
+ const ::Deployment::PlanSubcomponentPortEndpoint &other_endpoint =
+ conn.internalEndpoint[other_endpointRef];
+ this->connect_local_port (plan.instance[endpoint.instanceRef].name.in (),
+ endpoint.portName.in (),
+ plan.instance[other_endpoint.instanceRef].name.in (),
+ other_endpoint.portName.in ());
+ return;
+ }
+ else
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_facet - "
+ "Error: Wrong number of internal endpoints for local facet connection\n"));
+ throw ::Deployment::InvalidConnection (conn.name.in (),
+ "Local facet connections require exactly 2 internalEndpoints");
+ }
+ }
+
+ if (conn.externalReference.length () == 0)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_facet - "
+ "Error: Expected external reference endpoint for connection <%C>",
+ conn.name.in ()));
+ throw ::Deployment::InvalidConnection (conn.name.in (),
+ "Expected external reference connection.");
+ }
+
+ ::CORBA::Object_var obj;
+ provided_reference >>= CORBA::Any::to_object (obj);
+
+ ::Components::CCMObject_var provided = ::Components::CCMObject::_narrow (obj.in ());
+
+ if (CORBA::is_nil (provided))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_facet - "
+ "While connecting <%C>:"
+ "Provided reference for connection where primary is Facet must be "
+ "non-nil.\n",
+ plan.connection[connectionRef].name.in ()));
+ throw ::Deployment::InvalidConnection (plan.connection[connectionRef].name.in (),
+ "Provided reference for connection where primary is Facet must "
+ "be non-nil.");
+
+ }
+
+ ::Components::CCMObject_var facet_provider =
+ DEPLOYMENT_STATE::instance ()->fetch_component (plan.instance[endpoint.instanceRef].name.in ());
+
+ if (CORBA::is_nil (facet_provider))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_facet - "
+ "While connecting <%C>:"
+ "Providing component not deployed.",
+ plan.connection[connectionRef].name.in ()));
+ throw ::Deployment::InvalidConnection (plan.connection[connectionRef].name.in (),
+ "Providing component not deployed.");
+ }
+
+ CORBA::Object_var facet =
+ facet_provider->provide_facet (endpoint.portName.in ());
+
+ ::Components::Cookie_var cookie = provided->connect (conn.externalReference[0].portName.in (),
+ facet.in ());
+
+ CIAO_DEBUG (5, (LM_INFO, CLINFO
+ "Connection_Handler::connect_facet - "
+ "Connection <%C> successfully established.\n",
+ conn.name.in ()));
+
+ this->cookies_[conn.name.in ()] = CONNECTION_INFO (cookie,
+ ::Components::CCMObject::_duplicate (provided));
+ }
+
+ void
+ Connection_Handler::connect_receptacle (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::ULong endpointRef,
+ const ::CORBA::Any & provided_reference)
+ {
+ const ::Deployment::PlanConnectionDescription &conn =
+ plan.connection[connectionRef];
+ const ::Deployment::PlanSubcomponentPortEndpoint &endpoint =
+ conn.internalEndpoint[endpointRef];
+
+ CIAO_DEBUG (6, (LM_DEBUG, CLINFO
+ "Connection_Handler::connect_receptacle - "
+ "Connecting connection <%C> on instance <%C>\n",
+ conn.name.in (),
+ plan.instance[endpoint.instanceRef].name.in ()));
+
+ if (this->is_local_facet (conn))
+ {
+ CORBA::ULong other_endpointRef = (endpointRef + 1) % 2;
+ if (conn.internalEndpoint.length () == 2 &&
+ (conn.internalEndpoint[other_endpointRef].kind == ::Deployment::Facet))
+ {
+ const ::Deployment::PlanSubcomponentPortEndpoint &other_endpoint =
+ conn.internalEndpoint[other_endpointRef];
+ this->connect_local_port (plan.instance[other_endpoint.instanceRef].name.in (),
+ other_endpoint.portName.in (),
+ plan.instance[endpoint.instanceRef].name.in (),
+ endpoint.portName.in ());
+ return;
+ }
+ else
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_receptacle - "
+ "Error: Wrong number of internal endpoints for local receptacle connection\n"));
+ throw ::Deployment::InvalidConnection (conn.name.in (),
+ "Local receptacle connections require exactly 2 internalEndpoints");
+ }
+ }
+
+ ::CORBA::Object_var provided;
+
+ if (!(provided_reference >>= CORBA::Any::to_object (provided)))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_facet - "
+ "Unable to extract provided reference to CORBA::Object\n",
+ plan.connection[connectionRef].name.in ()));
+ throw ::Deployment::InvalidConnection (plan.connection[connectionRef].name.in (),
+ "Unable to extract provided reference to CORBA Object.");
+ }
+
+ if (conn.externalReference.length () != 0)
+ {
+ ::Components::CCMObject_var facet_provider =
+ ::Components::CCMObject::_narrow (provided.in ());
+
+ if (CORBA::is_nil (facet_provider.in ()))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_facet - "
+ "Unable to narrow provided external reference "
+ "to CCMObject in connection <%C>\n",
+ conn.name.in ()));
+ throw ::Deployment::InvalidConnection (conn.name.in (),
+ "Unable to narrow external reference to CCMObject\n");
+ }
+
+ provided =
+ facet_provider->provide_facet (conn.externalReference[0].portName.in ());
+ }
+
+ ::Components::CCMObject_var receptacle =
+ DEPLOYMENT_STATE::instance ()->fetch_component (plan.instance[endpoint.instanceRef].name.in ());
+
+ if (CORBA::is_nil (receptacle))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_receptacle - "
+ "While connecting <%C>:"
+ "Receptacle component <%C> not deployed.\n",
+ plan.connection[connectionRef].name.in (),
+ plan.instance[endpoint.instanceRef].name.in ()));
+ throw ::Deployment::InvalidConnection (plan.connection[connectionRef].name.in (),
+ "Receptacle component not deployed.");
+ }
+
+ ::Components::Cookie_var cookie = receptacle->connect (endpoint.portName.in (),
+ provided.in ());
+ CIAO_DEBUG (5, (LM_INFO, CLINFO
+ "Connection_Handler::connect_receptacle - "
+ "Connection <%C> successfully established.\n",
+ conn.name.in ()));
+
+ this->cookies_[conn.name.in ()] = CONNECTION_INFO (cookie,
+ ::Components::CCMObject::_duplicate (receptacle.in ()));
+ }
+
+ void
+ Connection_Handler::connect_publisher (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::ULong endpointRef,
+ const ::CORBA::Any & provided_reference)
+ {
+ CIAO_TRACE ("Connection_Handler::connect_publisher");
+
+ const ::Deployment::PlanConnectionDescription &conn =
+ plan.connection[connectionRef];
+ const ::Deployment::PlanSubcomponentPortEndpoint &endpoint =
+ conn.internalEndpoint[endpointRef];
+
+ CIAO_DEBUG (6, (LM_DEBUG, CLINFO
+ "Connection_Handler::connect_publisher - "
+ "Connecting connection <%C> on instance <%C>\n",
+ conn.name.in (),
+ plan.instance[endpoint.instanceRef].name.in ()));
+
+ ::CORBA::Object_var consumer;
+
+ if (!(provided_reference >>= CORBA::Any::to_object (consumer)) ||
+ CORBA::is_nil (consumer.in ()))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_publisher - "
+ "Unable to extract provided reference to CORBA::Object\n",
+ plan.connection[connectionRef].name.in ()));
+ throw ::Deployment::InvalidConnection (plan.connection[connectionRef].name.in (),
+ "Unable to extract provided reference to CORBA Object.");
+ }
+
+ Components::EventConsumerBase_var event =
+ Components::EventConsumerBase::_unchecked_narrow (consumer);
+
+ ::Components::CCMObject_var publisher =
+ DEPLOYMENT_STATE::instance ()->fetch_component (plan.instance[endpoint.instanceRef].name.in ());
+
+ if (CORBA::is_nil (publisher))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_publisher - "
+ "While connecting <%C>:"
+ "Publishing component not deployed.",
+ plan.connection[connectionRef].name.in ()));
+ throw ::Deployment::InvalidConnection (conn.name.in (),
+ "Publisher component not deployed.");
+ }
+
+ Components::Cookie_var cookie = publisher->subscribe (endpoint.portName.in (),
+ event.in ());
+
+ CIAO_DEBUG (5, (LM_INFO, CLINFO
+ "Connection_Handler::connect_publisher - "
+ "Connection <%C> successfully established.\n",
+ conn.name.in ()));
+
+ this->cookies_[conn.name.in ()] = CONNECTION_INFO (cookie,
+ ::Components::CCMObject::_duplicate (publisher.in ()));
+ }
+
+ void
+ Connection_Handler::connect_consumer (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::ULong endpointRef,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Connection_Handler::connect_subscriber");
+
+ const ::Deployment::PlanConnectionDescription &conn =
+ plan.connection[connectionRef];
+ const ::Deployment::PlanSubcomponentPortEndpoint &endpoint =
+ conn.internalEndpoint[endpointRef];
+
+ CIAO_DEBUG (6, (LM_DEBUG, CLINFO
+ "Connection_Handler::connect_consumer - "
+ "Connecting connection <%C> on instance <%C>\n",
+ conn.name.in (),
+ plan.instance[endpoint.instanceRef].name.in ()));
+
+ throw ::Deployment::InvalidConnection (conn.name.in (),
+ "ExternalReference connection of consumers "
+ "currently unsupported.\n");
+ }
+
+ void
+ Connection_Handler::connect_emitter (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::ULong endpointRef,
+ const ::CORBA::Any & provided_reference)
+ {
+ CIAO_TRACE ("Connection_Handler::connect_emitter");
+
+ const ::Deployment::PlanConnectionDescription &conn =
+ plan.connection[connectionRef];
+ const ::Deployment::PlanSubcomponentPortEndpoint &endpoint =
+ conn.internalEndpoint[endpointRef];
+
+ CIAO_DEBUG (6, (LM_DEBUG, CLINFO
+ "Connection_Handler::connect_emitter - "
+ "Connecting connection <%C> on instance <%C>\n",
+ conn.name.in (),
+ plan.instance[endpoint.instanceRef].name.in ()));
+
+ ::CORBA::Object_var consumer;
+
+ if (!(provided_reference >>= CORBA::Any::to_object (consumer)) ||
+ CORBA::is_nil (consumer.in ()))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_emitter - "
+ "Unable to extract provided reference to CORBA::Object\n",
+ plan.connection[connectionRef].name.in ()));
+ throw ::Deployment::InvalidConnection (plan.connection[connectionRef].name.in (),
+ "Unable to extract provided reference to CORBA Object.");
+ }
+
+ Components::EventConsumerBase_var event =
+ Components::EventConsumerBase::_unchecked_narrow (consumer);
+
+ ::Components::CCMObject_var emitter =
+ DEPLOYMENT_STATE::instance ()->fetch_component (plan.instance[endpoint.instanceRef].name.in ());
+
+ if (CORBA::is_nil (emitter))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_emitter - "
+ "While connecting <%C>:"
+ "Emitting component not deployed.",
+ plan.connection[connectionRef].name.in ()));
+ throw ::Deployment::InvalidConnection (conn.name.in (),
+ "Emitting component not deployed.");
+ }
+
+ emitter->connect_consumer (endpoint.portName.in (),
+ event.in ());
+
+ CIAO_DEBUG (5, (LM_INFO, CLINFO
+ "Connection_Handler::connect_emitter - "
+ "Connection <%C> successfully established.\n",
+ conn.name.in ()));
+
+ ::Components::Cookie_var nil_cookie;
+
+ this->cookies_[conn.name.in ()] = CONNECTION_INFO (nil_cookie,
+ ::Components::CCMObject::_duplicate (emitter.in ()));
+ }
+
+ void
+ Connection_Handler::disconnect_facet (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong)
+
+ {
+ CIAO_TRACE ("Connection_Handler::disconnect_facet");
+ }
+
+ void
+ Connection_Handler::disconnect_receptacle (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong)
+
+ {
+ CIAO_TRACE ("Connection_Handler::disconnect_receptacle");
+ }
+
+ void
+ Connection_Handler::disconnect_publisher (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong)
+
+ {
+ CIAO_TRACE ("Connection_Handler::disconnect_publisher");
+ }
+
+ void
+ Connection_Handler::disconnect_subscriber (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong)
+
+ {
+ CIAO_TRACE ("Connection_Handler::disconnect_subscriber");
+ }
+
+ void
+ Connection_Handler::connect_local_port (const char *facet_id,
+ const char *facet_port,
+ const char *receptacle_id,
+ const char *receptacle_port)
+ {
+ CIAO_TRACE ("Connection_Handler::connect_local_port");
+
+ const char *facet_cont =
+ DEPLOYMENT_STATE::instance ()->instance_to_container (facet_id);
+ const char *recep_cont =
+ DEPLOYMENT_STATE::instance ()->instance_to_container (receptacle_id);
+
+ if (ACE_OS::strcmp (facet_cont, recep_cont) != 0)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Connection_Handler::connect_local_port - "
+ "Ports <%C> and <%C> participate in local facet/receptacle connection, "
+ "but are installed in differing containers <%C> and <%C>\n",
+ facet_id,
+ receptacle_id,
+ facet_cont,
+ recep_cont));
+ throw ::Deployment::InvalidConnection (facet_id,
+ "Component instance participates in a local connection with "
+ "a non-local entity.");
+ }
+
+ CIAO::Container_var cont =
+ DEPLOYMENT_STATE::instance ()->fetch_container (facet_cont);
+
+ Components::CCMObject_var
+ facet = DEPLOYMENT_STATE::instance ()->fetch_component (facet_id),
+ receptacle = DEPLOYMENT_STATE::instance ()->fetch_component (receptacle_id);
+
+ cont->connect_local_facet (facet,
+ facet_port,
+ receptacle,
+ receptacle_port);
+ CIAO_DEBUG (5, (LM_INFO, CLINFO
+ "Connection_Handler::connect_local_port - "
+ "Connected local port <%C>:<%C> to <%C>:<%C>\n",
+ facet_id, facet_port,
+ receptacle_id, receptacle_port));
+ }
+
+ bool
+ Connection_Handler::is_local_facet (const ::Deployment::PlanConnectionDescription &conn)
+ {
+ CIAO_TRACE ("Connection_Handler::is_local_facet");
+ Deployment::Requirements const& deploy_req = conn.deployRequirement;
+ for (CORBA::ULong i = 0; i < deploy_req.length (); i++)
+ {
+ if (ACE_OS::strcmp (deploy_req[i].name, "edu.dre.vanderbilt.DAnCE.ConnectionType") == 0 &&
+ ACE_OS::strcmp (deploy_req[i].resourceType, "Local_Interface") == 0)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+}
diff --git a/CIAO/ciao/Deployment/Handlers/Connection_Handler.h b/CIAO/ciao/Deployment/Handlers/Connection_Handler.h
new file mode 100644
index 00000000000..b3b8e0fae11
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/Connection_Handler.h
@@ -0,0 +1,89 @@
+/**
+ * @file Connection_Handler.h
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ * $Id$
+ *
+ * Common connection handling logic for components.
+ */
+
+#ifndef CONNECTION_HANDLER_H
+#define CONNECTION_HANDLER_H
+
+#include "Deployment/Deployment_DeploymentPlanC.h"
+#include "ccm/CCM_ObjectC.h"
+
+#include <map>
+#include <string>
+
+namespace CIAO
+{
+ class Connection_Handler
+ {
+ public:
+ void
+ provide_endpoint_reference (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::Any_out endpoint_reference);
+
+ void connect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ const ::CORBA::Any & provided_reference);
+
+ void disconnect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef);
+
+ private:
+ void connect_facet (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::ULong endpoint,
+ const ::CORBA::Any & provided_reference);
+
+ void connect_receptacle (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::ULong endpoint,
+ const ::CORBA::Any & provided_reference);
+
+ void connect_publisher (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::ULong endpoint,
+ const ::CORBA::Any & provided_reference);
+
+ void connect_emitter (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::ULong endpoint,
+ const ::CORBA::Any & provided_reference);
+
+ void connect_consumer (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::ULong endpoint,
+ const ::CORBA::Any & provided_reference);
+
+ void disconnect_facet (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef);
+
+
+ void disconnect_receptacle (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef);
+
+ void disconnect_publisher (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef);
+
+ void disconnect_subscriber (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef);
+
+ void connect_local_port (const char *facet_id,
+ const char *facet_port,
+ const char *receptacle_id,
+ const char *receptacle_port);
+
+ bool is_local_facet (const ::Deployment::PlanConnectionDescription &conn);
+
+ typedef std::pair < ::Components::Cookie_var,
+ ::Components::CCMObject_var> CONNECTION_INFO;
+ typedef std::map <std::string,
+ CONNECTION_INFO> COOKIES;
+
+ COOKIES cookies_;
+ };
+}
+#endif
diff --git a/CIAO/ciao/Deployment/Handlers/Container_Handler.cpp b/CIAO/ciao/Deployment/Handlers/Container_Handler.cpp
new file mode 100644
index 00000000000..d27dab97c65
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/Container_Handler.cpp
@@ -0,0 +1,206 @@
+// $Id$
+
+#include "Container_Handler.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "ciao/Containers/Session/Session_Container.h"
+#include "ciao/ComponentServer/Server_init.h"
+
+#include "CIAO_State.h"
+
+namespace CIAO
+{
+ Container_Handler_i::Container_Handler_i (const DAnCE::Utility::PROPERTY_MAP &,
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa)
+ : orb_ (CORBA::ORB::_duplicate (orb)),
+ poa_ (PortableServer::POA::_duplicate (poa))
+
+ {
+ CIAO_TRACE ("Container_Handler_i::Container_Handler_i");
+ CIAO::Server_init (orb_);
+
+ // For the time being, we are going to go ahead and construct a container.
+ ::Deployment::DeploymentPlan plan;
+ plan.instance.length (1);
+ plan.instance[0].name = "";
+
+ ::CORBA::Any_var any;
+ this->install_instance (plan, 0, any.out ());
+ }
+
+ // Destructor
+ Container_Handler_i::~Container_Handler_i (void)
+ {
+ CIAO_TRACE ("Container_Handler_i::~Container_Handler_i");
+
+ try
+ {
+ // For the time being, we are going to go ahead and delete the default container
+ ::Deployment::DeploymentPlan plan;
+ plan.instance.length (1);
+ plan.instance[0].name = "";
+
+ CORBA::Any any;
+ this->remove_instance (plan, 0, any);
+ }
+ catch (...)
+ { //swallow
+ }
+ }
+
+
+ char *
+ Container_Handler_i::instance_type (void)
+ {
+ CIAO_TRACE ("Container_Handler_i::instance_type");
+ return CORBA::string_dup ("edu.dre.vanderbilt.dre.DAnCE.CCM.Container");
+ }
+
+
+ void
+ Container_Handler_i::install_instance (const ::Deployment::DeploymentPlan &plan,
+ ::CORBA::ULong instanceRef,
+ ::CORBA::Any_out instance_reference)
+ {
+ CIAO_TRACE ("Container_Handler_i::install_instance");
+
+ CIAO::Session_Container *cont (0);
+ const char *name (plan.instance[instanceRef].name.in ());
+ CORBA::PolicyList policies (0);
+
+ CIAO_DEBUG (6, (LM_DEBUG, CLINFO
+ "Container_Handler_i::install_instance - "
+ "Creating container with id %C\n",
+ name));
+ ACE_NEW_THROW_EX (cont,
+ CIAO::Session_Container (this->orb_,
+ this->poa_,
+ 0 /* not needed */,
+ false /* we're always dynanic for the moment */,
+ 0, /*always dynanic */
+ name,
+ 0 /* no additional policies at this moment */),
+ CORBA::NO_MEMORY ());
+
+ CIAO_DEBUG (8, (LM_DEBUG, CLINFO
+ "Container_Handler_i::install_instance - "
+ "Container <%C> successfully created\n",
+ name));
+
+ CIAO::Container_var container_ref (cont);
+
+ DEPLOYMENT_STATE::instance ()->add_container (name,
+ cont);
+
+ ::CORBA::Any_ptr outref;
+ ACE_NEW_THROW_EX (outref,
+ ::CORBA::Any (),
+ CORBA::NO_MEMORY ());
+
+ (*outref) <<= container_ref;
+
+ instance_reference = outref;
+ }
+
+ void
+ Container_Handler_i::activate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Container_Handler_i::activate_instance");
+ // no activation needed.
+ }
+
+ void
+ Container_Handler_i::passivate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Container_Handler_i::passivate_instance");
+ // no passivation needed.
+ }
+
+ void
+ Container_Handler_i::provide_endpoint_reference (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong,
+ ::CORBA::Any_out)
+ {
+ CIAO_TRACE ("Container_Handler_i::provide_endpoint_reference");
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Container_Handler_i::provide_endpoint_reference - "
+ "Unable to provide any endpoints.\n"));
+ throw CORBA::NO_IMPLEMENT ();
+ }
+
+ void
+ Container_Handler_i::remove_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Container_Handler_i::remove_instance");
+
+ const char *name = plan.instance[instanceRef].name.in ();
+
+ ::CIAO::Container_var cont =
+ DEPLOYMENT_STATE::instance ()->fetch_container (name);
+
+ if (!cont)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO,
+ "Container_Handler_i::remove_instance - "
+ "Error, no contianer with id <%C>",
+ name));
+ throw ::Deployment::StopError (name,
+ "No container with ID");
+ }
+
+
+ CIAO_DEBUG (8, (LM_TRACE, CLINFO
+ "Container_Handler_i::remove_instance - "
+ "Removing container with Id <%C>\n",
+ name));
+
+ DEPLOYMENT_STATE::instance ()->remove_container (name);
+
+ CIAO_DEBUG (5, (LM_TRACE, CLINFO
+ "Container_Handler_i::remove_instance - "
+ "Container with Id <%C> removed.\n",
+ name));
+ }
+
+
+ void
+ Container_Handler_i::connect_instance (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Container_Handler_i::connect_instance");
+
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Container_Handler_i::connect_instance - ",
+ "No connections allowed for containers.\n"));
+ throw CORBA::NO_IMPLEMENT ();
+ }
+
+
+ void
+ Container_Handler_i::disconnect_instance (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong)
+ {
+ CIAO_TRACE ("Container_Handler_i::disconnect_instance");
+
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Container_Handler_i::disconnect_instance - ",
+ "No connections allowed for containers.\n"));
+ throw CORBA::NO_IMPLEMENT ();
+ }
+
+ void
+ Container_Handler_i::instance_configured (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong)
+ {
+ CIAO_TRACE ("Container_Handler_i::instance_configured");
+ // nothing to be done
+ }
+}
+
diff --git a/CIAO/ciao/Deployment/Handlers/Container_Handler.h b/CIAO/ciao/Deployment/Handlers/Container_Handler.h
new file mode 100644
index 00000000000..c0ea9e940ff
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/Container_Handler.h
@@ -0,0 +1,87 @@
+
+// -*- C++ -*-
+// $Id$
+
+/**
+ * @file Locality_Manager_Handler_Impl.h
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Installation handler implementation for spawning LocalityManagers.
+ */
+
+#ifndef CIAO_CONTAINER_HANDLER_H
+#define CIAO_CONTAINER_HANDLER_H
+
+#include "tao/ORB.h"
+#include "tao/PortableServer/POAC.h"
+#include "DAnCE/DAnCE_LocalityManagerS.h"
+#include "DAnCE/DAnCE_Utility.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ciao/Deployment/Handlers/CIAO_Locality_Handler_Export.h"
+#include "tao/LocalObject.h"
+#include <set>
+namespace CIAO
+{
+ class CIAO_LocalityActivator_i;
+
+ class CIAO_Locality_Handler_Export Container_Handler_i
+ : public virtual DAnCE::InstanceDeploymentHandler,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ // Constructor
+ Container_Handler_i (const DAnCE::Utility::PROPERTY_MAP &props,
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa);
+
+ // Destructor
+ virtual ~Container_Handler_i (void);
+
+ virtual
+ char * instance_type (void);
+
+ virtual
+ void install_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ ::CORBA::Any_out instance_reference);
+
+ virtual
+ void activate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &);
+ virtual
+ void passivate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &);
+
+ virtual
+ void remove_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any & instance_reference);
+
+ virtual
+ void provide_endpoint_reference (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::Any_out endpoint_reference);
+ virtual
+ void connect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ const ::CORBA::Any & provided_reference);
+
+ virtual
+ void disconnect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef);
+
+ virtual
+ void instance_configured (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef);
+ private:
+ CORBA::ORB_var orb_;
+ PortableServer::POA_var poa_;
+ };
+}
+#endif
diff --git a/CIAO/ciao/Deployment/Handlers/Home_Handler.cpp b/CIAO/ciao/Deployment/Handlers/Home_Handler.cpp
new file mode 100644
index 00000000000..01edd113d5e
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/Home_Handler.cpp
@@ -0,0 +1,366 @@
+// $Id$
+
+#include "Home_Handler.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "ciao/ComponentServer/CIAO_PropertiesC.h"
+#include "ciao/Containers/Container_BaseC.h"
+#include "CIAO_State.h"
+
+namespace CIAO
+{
+ Home_Handler_i::Home_Handler_i (void)
+ {
+ CIAO_TRACE ("Home_Handler_i::Home_Handler_i");
+ }
+
+ // Destructor
+ Home_Handler_i::~Home_Handler_i (void)
+ {
+ CIAO_TRACE ("Home_Handler_i::~Home_Handler_i");
+ }
+
+
+ char *
+ Home_Handler_i::instance_type (void)
+ {
+ CIAO_TRACE ("Home_Handler_i::instance_type");
+ return CORBA::string_dup ("edu.dre.vanderbilt.dre.CCM.Home");
+ }
+
+
+ void
+ Home_Handler_i::install_instance (const ::Deployment::DeploymentPlan &plan,
+ ::CORBA::ULong instanceRef,
+ ::CORBA::Any_out instance_reference)
+ {
+ CIAO_TRACE ("Home_Handler_i::install_instance");
+
+ const ::Deployment::InstanceDeploymentDescription &idd (plan.instance[instanceRef]);
+ const ::Deployment::MonolithicDeploymentDescription &mdd (plan.implementation[idd.implementationRef]);
+
+ DAnCE::Utility::PROPERTY_MAP *pmap;
+
+ ACE_NEW_THROW_EX (pmap,
+ DAnCE::Utility::PROPERTY_MAP (idd.configProperty.length () +
+ mdd.execParameter.length ()),
+ CORBA::NO_MEMORY ());
+
+ Deployment_Common::Instance_Info info;
+ info.name = idd.name.in ();
+ info.pmap.reset (pmap);
+
+
+ DAnCE::Utility::build_property_map (*pmap,
+ mdd.execParameter);
+ DAnCE::Utility::build_property_map (*pmap,
+ idd.configProperty);
+
+ CORBA::String_var exec_art, exec_entry, svnt_art, svnt_entry, cont_id;
+
+ using namespace CIAO::Deployment;
+ CORBA::Any val;
+ const char *tmp;
+
+ if ((pmap->find (SVNT_ENTRYPT, val)) == 0)
+ {
+ val >>= tmp;
+ svnt_entry = tmp;
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Home_Handler_i::install_instance - "
+ "Found Servant entrypoint %C\n", svnt_entry.in ()));
+ }
+ else
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Home_Handler_i::install_instance - "
+ "Error: No Servant entrypoint (%C) provided, aborting installation\n",
+ SVNT_ENTRYPT));
+ throw ::Deployment::InvalidComponentExecParameter (idd.name.in (),
+ "No servant entrypoint identified.");
+ }
+
+ if (pmap->find (SVNT_ARTIFACT, val) == 0)
+ {
+ val >>= tmp;
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Home_Handler_i::install_instance - "
+ "Found Servant artifact %C\n", tmp));
+ svnt_art = Deployment_Common::get_implementation (tmp, plan);
+ }
+ else
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Home_Handler_i::install_instance - "
+ "Error: No Servant artifact provided, aborting installation\n"));
+ throw ::Deployment::InvalidComponentExecParameter (idd.name.in (),
+ "No servant artifact identified.");
+ }
+
+
+ if (pmap->find (EXEC_ARTIFACT, val) == 0)
+ {
+ val >>= tmp;
+ exec_art = Deployment_Common::get_implementation (tmp, plan);
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Home_Handler_i::install_instance - "
+ "Found executor artifact: %C\n", exec_art.in ()));
+ }
+ else
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Home_Handler_i::install_instance - "
+ "Error: No Executor artifact provided, aborting installation\n"));
+ throw ::Deployment::InvalidComponentExecParameter (idd.name.in (),
+ "No executory artifact identified.\n");
+ }
+
+ if (pmap->find (HOME_FACTORY, val) == 0)
+ {
+ val >>= tmp;
+ exec_entry = tmp;
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Home_Handler_i::install_instance - "
+ "Found executor entrypoint: %C\n", exec_entry.in ()));
+ }
+ else
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Home_Handler_i::install_instance - "
+ "Error: No Executor artifact provided, aborting installation\n"));
+ throw ::Deployment::InvalidComponentExecParameter (idd.name.in (),
+ "No executor entrypoint provided\n");
+ }
+
+ if (pmap->find (CONTAINER_ID, val) == 0)
+ {
+ val >>= tmp;
+ cont_id = tmp;
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Home_Handler_i::install_instance - "
+ "Found executor entrypoint: %C\n", exec_entry.in ()));
+ }
+ else
+ {
+ CIAO_ERROR (4, (LM_INFO, CLINFO
+ "Home_Handler_i::install_instance - "
+ "No container provided, using default container for instance <%C>\n",
+ idd.name.in ()));
+ cont_id = "";
+ }
+
+ ::CIAO::Container_var container = DEPLOYMENT_STATE::instance ()->fetch_container (cont_id);
+
+ if (CORBA::is_nil (container))
+ {
+ CIAO_ERROR (1, (LM_INFO, CLINFO
+ "Home_Handler_i::install_instance - "
+ "Container with Id <%C> not installed, aborting.\n",
+ cont_id.in ()));
+ throw ::Deployment::InvalidComponentExecParameter (idd.name.in (),
+ "Invalid container\n");
+ }
+
+ Components::CCMHome_var home_ref;
+
+ try
+ {
+ home_ref = container->install_home (exec_art,
+ exec_entry,
+ svnt_art,
+ svnt_entry,
+ idd.name.in ());
+ }
+ catch (::CORBA::Exception &ex)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Home_Handler_i::install_instance - "
+ "Caught CORBA exception <%C>\n",
+ ex._info ().c_str ()));
+ throw ::Deployment::StartError (idd.name.in (),
+ ex._info ().c_str ());
+ }
+ catch (...)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Home_Handler_i::install_instance - "
+ "Caught unknown C++ exception\n"));
+ throw ::Deployment::StartError (idd.name.in (),
+ "Unknown C++ exception\n");
+ }
+
+ if (CORBA::is_nil (home_ref))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Home_Handler_i::install_instance - "
+ "Container provided nil object reference for home.\n"));
+ throw ::Deployment::StartError (idd.name.in (),
+ "Container provided nil object reference");
+ }
+
+ this->instances_[idd.name.in ()] = info;
+
+ DEPLOYMENT_STATE::instance ()->add_home (idd.name.in (), cont_id, home_ref.in ());
+
+ CORBA::Any *retval;
+ ACE_NEW_THROW_EX (retval,
+ CORBA::Any (),
+ CORBA::NO_MEMORY ());
+
+ (*retval) <<= home_ref;
+ instance_reference = retval;
+ }
+
+
+ void
+ Home_Handler_i::activate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Home_Handler_i::activate_instance");
+ // no activation needed.
+ }
+
+ void
+ Home_Handler_i::passivate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Home_Handler_i::passivate_instance");
+ // no passivation needed.
+ }
+
+ void
+ Home_Handler_i::remove_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Home_Handler_i::remove_instance");
+
+ const char *name = plan.instance[instanceRef].name.in ();
+ Deployment_Common::INSTANCES::iterator instance
+ = this->instances_.find (name);
+
+ if (instance == this->instances_.end ())
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Home_Handler_i::remove_instance - "
+ "Instructed to remove unknown home instance <%C>\n",
+ name));
+ throw ::Deployment::StopError (name,
+ "Wrong instance handler for home instance\n");
+ }
+
+ CIAO_DEBUG (8, (LM_DEBUG, CLINFO
+ "Home_Handler_i::remove_instance - "
+ "Attempting removal of home instance <%C>\n",
+ name));
+
+ CORBA::Any val;
+ const char *cont_id;
+
+ if (instance->second.pmap->find (Deployment::CONTAINER_ID, val) == 0)
+ {
+ val >>= cont_id;
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Home_Handler_i::remove_instance - "
+ "Found home container: %C\n", cont_id));
+ }
+ else
+ {
+ CIAO_ERROR (4, (LM_INFO, CLINFO
+ "Home_Handler_i::remove_instance - "
+ "No container provided, using default container for instance <%C>\n",
+ name));
+ cont_id = "";
+ }
+
+ ::CIAO::Container_var container = DEPLOYMENT_STATE::instance ()->fetch_container (cont_id);
+
+ if (CORBA::is_nil (container))
+ {
+ CIAO_ERROR (1, (LM_INFO, CLINFO
+ "Home_Handler_i::remove_instance - "
+ "Container with Id <%C> not installed, aborting.\n",
+ cont_id));
+ throw ::Deployment::StopError (name,
+ "Invalid container\n");
+ }
+
+ Components::CCMHome_var ref
+ = DEPLOYMENT_STATE::instance ()->fetch_home (name);
+
+ try
+ {
+ container->uninstall_home (ref);
+ }
+ catch (CORBA::Exception &ex)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Home_Handler_i::remove_instance - "
+ "Caught CORBA exception <%C>\n",
+ ex._info ().c_str ()));
+ throw ::Deployment::StopError (name,
+ ex._info ().c_str ());
+ }
+ catch (...)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Home_Handler_i::remove_instance - "
+ "Caught unknown C++ exception\n"));
+ throw ::Deployment::StopError (name,
+ "Unknown C++ exception\n");
+ }
+
+ this->instances_.erase (instance);
+
+ CIAO_DEBUG (4, (LM_INFO, CLINFO
+ "Home_Handler_i::remove_instance - "
+ "Instance <%C> successfully removed\n",
+ name));
+ }
+
+ void
+ Home_Handler_i::provide_endpoint_reference (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong,
+ ::CORBA::Any_out)
+ {
+ CIAO_TRACE ("Home_Handler_i::provide_endpoint_reference");
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Home_Handler_i::provide_endpoint_reference - "
+ "Unable to provide any endpoints.\n"));
+ throw CORBA::NO_IMPLEMENT ();
+ }
+
+ void
+ Home_Handler_i::connect_instance (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Home_Handler_i::connect_instance");
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Home_Handler_i::connect_instance - ",
+ "No connections allowed for homes.\n"));
+ throw CORBA::NO_IMPLEMENT ();
+ }
+
+
+ void
+ Home_Handler_i::disconnect_instance (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong)
+ {
+ CIAO_TRACE ("Home_Handler_i::disconnect_instance");
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Home_Handler_i::disconnect_instance - ",
+ "No connections allowed for homes.\n"));
+ throw CORBA::NO_IMPLEMENT ();
+ }
+
+
+ void
+ Home_Handler_i::instance_configured (const ::Deployment::DeploymentPlan &,
+ ::CORBA::ULong)
+ {
+ CIAO_TRACE ("Home_Handler_i::instance_configured");
+ // nothing to be done
+ }
+}
diff --git a/CIAO/ciao/Deployment/Handlers/Home_Handler.h b/CIAO/ciao/Deployment/Handlers/Home_Handler.h
new file mode 100644
index 00000000000..38bd716bc3b
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/Home_Handler.h
@@ -0,0 +1,83 @@
+
+// -*- C++ -*-
+// $Id$
+
+/**
+ * @file Locality_Manager_Handler_Impl.h
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Installation handler implementation for spawning LocalityManagers.
+ */
+
+#ifndef CIAO_HOME_HANDLER_H
+#define CIAO_HOME_HANDLER_H
+
+#include "DAnCE/DAnCE_LocalityManagerS.h"
+#include "DAnCE/DAnCE_Utility.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ciao/Deployment/Handlers/CIAO_Locality_Handler_Export.h"
+#include "tao/LocalObject.h"
+
+#include "ciao/Deployment/Handlers/CIAO_Handler_Common.h"
+
+namespace CIAO
+{
+ class CIAO_Locality_Handler_Export Home_Handler_i
+ : public virtual DAnCE::InstanceDeploymentHandler,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ // Constructor
+ Home_Handler_i (void);
+
+ // Destructor
+ virtual ~Home_Handler_i (void);
+
+ virtual
+ char * instance_type (void);
+
+ virtual
+ void install_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ ::CORBA::Any_out instance_reference);
+
+ virtual
+ void activate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &);
+ virtual
+ void passivate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &);
+
+ virtual
+ void remove_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any & instance_reference);
+
+ virtual
+ void provide_endpoint_reference (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::Any_out endpoint_reference);
+
+ virtual
+ void connect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ const ::CORBA::Any & provided_reference);
+
+ virtual
+ void disconnect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef);
+
+ virtual
+ void instance_configured (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef);
+ private:
+ Deployment_Common::INSTANCES instances_;
+ };
+}
+#endif
diff --git a/CIAO/ciao/Deployment/Handlers/Homed_Component_Handler.cpp b/CIAO/ciao/Deployment/Handlers/Homed_Component_Handler.cpp
new file mode 100644
index 00000000000..4e761ad6eaa
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/Homed_Component_Handler.cpp
@@ -0,0 +1,392 @@
+// $Id$
+
+#include "Homed_Component_Handler.h"
+#include "ccm/CCM_KeylessCCMHomeC.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "ciao/ComponentServer/CIAO_PropertiesC.h"
+#include "DAnCE/Deployment/Deployment_StartErrorC.h"
+#include "CIAO_Handler_Common.h"
+#include "CIAO_State.h"
+
+namespace CIAO
+{
+ Homed_Component_Handler_i::Homed_Component_Handler_i ()
+ {
+ CIAO_TRACE ("Homed_Component_Handler_i::Homed_Component_Handler_i");
+ }
+
+ // Destructor
+ Homed_Component_Handler_i::~Homed_Component_Handler_i (void)
+ {
+ CIAO_TRACE ("Homed_Component_Handler_i::~Homed_Component_Handler_i");
+ }
+
+
+ char *
+ Homed_Component_Handler_i::instance_type (void)
+ {
+ CIAO_TRACE ("Homed_Component_Handler_i::instance_type");
+ return CORBA::string_dup ("edu.vanderbilt.dre.CCM.HomedComponent");
+ }
+
+
+ void
+ Homed_Component_Handler_i::install_instance (const ::Deployment::DeploymentPlan &plan,
+ ::CORBA::ULong instanceRef,
+ ::CORBA::Any_out instance_reference)
+ {
+ CIAO_TRACE ("Homed_Component_Handler_i::install_instance");
+
+ const ::Deployment::InstanceDeploymentDescription &idd (plan.instance[instanceRef]);
+ const ::Deployment::MonolithicDeploymentDescription &mdd (plan.implementation[idd.implementationRef]);
+
+ DAnCE::Utility::PROPERTY_MAP *pmap;
+
+ ACE_NEW_THROW_EX (pmap,
+ DAnCE::Utility::PROPERTY_MAP (idd.configProperty.length () +
+ mdd.execParameter.length ()),
+ CORBA::NO_MEMORY ());
+
+ Deployment_Common::Instance_Info info;
+ info.name = idd.name.in ();
+ info.pmap.reset (pmap);
+
+
+ DAnCE::Utility::build_property_map (*pmap,
+ mdd.execParameter);
+ DAnCE::Utility::build_property_map (*pmap,
+ idd.configProperty);
+
+
+ using namespace CIAO::Deployment;
+ CORBA::Any val;
+ const char *tmp;
+
+ if (pmap->find (COMPONENT_HOME, val) == 0)
+ {
+ val >>= tmp;
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Homed_Component_Handler_i::install_instance - "
+ "Found component home ID %C\n", tmp));
+ }
+ else
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::install_instance - "
+ "Error: No home ID provided, aborting installation\n"));
+ throw ::Deployment::StartError (idd.name.in (),
+ "No Home identified.");
+ }
+
+ Components::CCMHome_var tmp_home = DEPLOYMENT_STATE::instance ()->fetch_home (tmp);
+
+ Components::KeylessCCMHome_var home = Components::KeylessCCMHome::_narrow (tmp_home);
+ if (CORBA::is_nil (home))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::install_instance - "
+ "Object reference for Home <%C> is not available for component <%C>\n",
+ tmp, idd.name.in ()));
+ throw ::Deployment::StartError (idd.name.in (),
+ "Home ID is not available");
+ }
+
+ const char *cont_id =
+ DEPLOYMENT_STATE::instance ()->instance_to_container (tmp);
+
+ ::CIAO::Container_var container = DEPLOYMENT_STATE::instance ()->fetch_container (cont_id);
+
+ Components::CCMObject_var ref;
+ try
+ {
+ ref = home->create_component ();
+
+ ::Components::ConfigValues attr_config;
+ Deployment_Common::create_attribute_configuration (idd.configProperty,
+ attr_config);
+
+
+ container->set_attributes (ref.in (),
+ attr_config);
+ }
+ catch (const CORBA::Exception &ex)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::install_instance - "
+ "Caught CORBA exception while installing component <%C>: %C\n",
+ idd.name.in (),
+ ex._info ().c_str ()));
+ throw ::Deployment::StartError (idd.name.in (),
+ ex._info ().c_str ());
+ }
+ catch (...)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::install_instance - "
+ "Caught C++ exception while installing component <%C>\n",
+ idd.name.in ()));
+ throw ::Deployment::StartError (idd.name.in (),
+ "Unknown C++ exception");
+ }
+
+ if (CORBA::is_nil (ref.in ()))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::install_instance - "
+ "Received nil object reference from create on Home <%C> "
+ "while creating component <%C>\n",
+ tmp,
+ idd.name.in ()));
+ throw ::Deployment::StartError (idd.name.in (),
+ "Nil reference from home on create");
+ }
+
+
+ CIAO_DEBUG (4, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::install_instance - "
+ "Successfully created component <%C>\n",
+ idd.name.in ()));
+
+ this->instances_[idd.name.in ()] = info;
+
+ DEPLOYMENT_STATE::instance ()->add_component (idd.name.in (),
+ cont_id,
+ ref.in ());
+
+ CORBA::Any *any;
+ ACE_NEW_THROW_EX (any,
+ CORBA::Any (),
+ CORBA::NO_MEMORY ());
+
+ (*any) <<= ref;
+
+ instance_reference = any;
+ }
+
+
+ void
+ Homed_Component_Handler_i::activate_instance (const ::Deployment::DeploymentPlan &plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Homed_Component_Handler_i::activate_instance");
+
+ const char *name = plan.instance[instanceRef].name.in ();
+
+ const char *container =
+ DEPLOYMENT_STATE::instance ()->instance_to_container (name);
+
+ CIAO::Container_var cont =
+ DEPLOYMENT_STATE::instance ()->fetch_container (container);
+
+ Components::CCMObject_var comp =
+ DEPLOYMENT_STATE::instance ()->fetch_component (name);
+
+ try
+ {
+ cont->activate_component (comp.in ());
+ }
+ catch (CORBA::Exception &ex)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::activate_instance - "
+ "Caught CORBA Exception while activating instance <%C>: %C\n",
+ name,
+ ex._info ().c_str ()));
+ throw ::Deployment::StartError (name,
+ ex._info ().c_str ());
+ }
+ catch (...)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::activate_instance - "
+ "Caught C++ Exception while activating instance <%C>\n",
+ name));
+ throw ::Deployment::StartError (name,
+ "Unknown C++ exception during activation");
+ }
+ }
+
+ void
+ Homed_Component_Handler_i::passivate_instance (const ::Deployment::DeploymentPlan &plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Homed_Component_Handler_i::passivate_instance");
+
+ const char *name = plan.instance[instanceRef].name.in ();
+
+ const char *container =
+ DEPLOYMENT_STATE::instance ()->instance_to_container (name);
+
+ CIAO::Container_var cont =
+ DEPLOYMENT_STATE::instance ()->fetch_container (container);
+
+ Components::CCMObject_var comp =
+ DEPLOYMENT_STATE::instance ()->fetch_component (name);
+
+ try
+ {
+ cont->passivate_component (comp.in ());
+ }
+ catch (CORBA::Exception &ex)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::passivate_instance - "
+ "Caught CORBA Exception while passivating instance <%C>: %C\n",
+ name,
+ ex._info ().c_str ()));
+ throw ::Deployment::StopError (name,
+ ex._info ().c_str ());
+ }
+ catch (...)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::passivate_instance - "
+ "Caught C++ Exception while passivating instance <%C>\n",
+ name));
+ throw ::Deployment::StartError (name,
+ "Unknown C++ exception during passivation");
+ }
+ }
+
+ void
+ Homed_Component_Handler_i::remove_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any &)
+ {
+ CIAO_TRACE ("Homed_Component_Handler_i::remove_instance");
+
+ const char *name = plan.instance[instanceRef].name.in ();
+ Deployment_Common::INSTANCES::iterator instance
+ = this->instances_.find (name);
+
+ if (instance == this->instances_.end ())
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::remove_instance - "
+ "Instructed to remove unknown homed component instance <%C>\n",
+ name));
+ throw ::Deployment::StopError (name,
+ "Wrong instance handler for homed component instance\n");
+ }
+
+ CIAO_DEBUG (8, (LM_DEBUG, CLINFO
+ "Homed_Component_Handler_i::remove_instance - "
+ "Attempting removal of homed component instance <%C>\n",
+ name));
+
+ using namespace CIAO::Deployment;
+ CORBA::Any val;
+ const char *tmp;
+
+ if (instance->second.pmap->find (COMPONENT_HOME, val) == 0)
+ {
+ val >>= tmp;
+ CIAO_DEBUG (9, (LM_TRACE, CLINFO
+ "Homed_Component_Handler_i::remove_instance - "
+ "Found component home ID %C\n", tmp));
+ }
+ else
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::remove_instance - "
+ "Error: No home ID provided, aborting removal\n"));
+ throw ::Deployment::StopError (name,
+ "No Home identified.");
+ }
+
+ Components::CCMHome_var home = DEPLOYMENT_STATE::instance ()->fetch_home (tmp);
+
+ if (CORBA::is_nil (home))
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::remove_instance - "
+ "Object reference for Home <%C> is not available for component <%C>\n",
+ tmp, name));
+ throw ::Deployment::StopError (name,
+ "Home ID is not available");
+ }
+
+ Components::CCMObject_var ref
+ = DEPLOYMENT_STATE::instance ()->fetch_component (name);
+
+ try
+ {
+ home->remove_component (ref.in ());
+ }
+ catch (const CORBA::Exception &ex)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::remove_instance - "
+ "Caught CORBA exception while removing component <%C>: %C\n",
+ name,
+ ex._info ().c_str ()));
+ throw ::Deployment::StopError (name,
+ ex._info ().c_str ());
+ }
+ catch (...)
+ {
+ CIAO_ERROR (1, (LM_ERROR, CLINFO
+ "Homed_Component_Handler_i::remove_instance - "
+ "Caught C++ exception while removing component <%C>\n",
+ name));
+ throw ::Deployment::StopError (name,
+ "Unknown C++ exception");
+ }
+
+ CIAO_DEBUG (4, (LM_INFO, CLINFO
+ "Homed_Component_Handler_i::remove_instance - "
+ "Component <%C> successfully removed\n"));
+
+ this->instances_.erase (instance);
+
+ DEPLOYMENT_STATE::instance ()->remove_component (name);
+ }
+
+ void
+ Homed_Component_Handler_i::provide_endpoint_reference (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::Any_out endpoint_reference)
+ {
+ CIAO_TRACE ("Homed_Component_Handler_i::provide_endpoint_reference");
+
+ DEPLOYMENT_STATE::instance ()->connection_handler.provide_endpoint_reference (plan,
+ connectionRef,
+ endpoint_reference);
+ }
+
+ void
+ Homed_Component_Handler_i::connect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ const ::CORBA::Any & provided_reference)
+ {
+ CIAO_TRACE ("Homed_Component_Handler_i::connect_instance");
+
+ DEPLOYMENT_STATE::instance ()->connection_handler.connect_instance (plan,
+ connectionRef,
+ provided_reference);
+ }
+
+
+ void
+ Homed_Component_Handler_i::disconnect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef)
+ {
+ CIAO_TRACE ("Homed_Component_Handler_i::disconnect_instance");
+ DEPLOYMENT_STATE::instance ()->connection_handler.disconnect_instance (plan,
+ connectionRef);
+ }
+
+ void
+ Homed_Component_Handler_i::instance_configured (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef)
+ {
+ CIAO_TRACE ("Homed_Component_Handler_i::instance_configured");
+
+ Components::CCMObject_var ref =
+ DEPLOYMENT_STATE::instance ()->fetch_component (plan.instance[instanceRef].name.in ());
+
+ ref->configuration_complete ();
+ }
+}
diff --git a/CIAO/ciao/Deployment/Handlers/Homed_Component_Handler.h b/CIAO/ciao/Deployment/Handlers/Homed_Component_Handler.h
new file mode 100644
index 00000000000..99f9d081b95
--- /dev/null
+++ b/CIAO/ciao/Deployment/Handlers/Homed_Component_Handler.h
@@ -0,0 +1,84 @@
+
+// -*- C++ -*-
+// $Id$
+
+/**
+ * @file Locality_Manager_Handler_Impl.h
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Installation handler implementation for spawning LocalityManagers.
+ */
+
+#ifndef CIAO_HOMED_COMPONENT_HANDLER_H
+#define CIAO_HOMED_COMPONENT_HANDLER_H
+
+#include "DAnCE/DAnCE_LocalityManagerS.h"
+#include "DAnCE/DAnCE_Utility.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ciao/Deployment/Handlers/CIAO_Locality_Handler_Export.h"
+#include "tao/LocalObject.h"
+#include "ciao/Deployment/Handlers/CIAO_Handler_Common.h"
+
+namespace CIAO
+{
+ class CIAO_LocalityActivator_i;
+
+ class CIAO_Locality_Handler_Export Homed_Component_Handler_i
+ : public virtual DAnCE::InstanceDeploymentHandler,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ // Constructor
+ Homed_Component_Handler_i ();
+
+ // Destructor
+ virtual ~Homed_Component_Handler_i (void);
+
+ virtual
+ char * instance_type (void);
+
+ virtual
+ void install_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ ::CORBA::Any_out instance_reference);
+
+ virtual
+ void activate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &);
+ virtual
+ void passivate_instance (const ::Deployment::DeploymentPlan & ,
+ ::CORBA::ULong ,
+ const ::CORBA::Any &);
+
+ virtual
+ void remove_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any & instance_reference);
+
+ virtual
+ void provide_endpoint_reference (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ ::CORBA::Any_out endpoint_reference);
+
+ virtual
+ void connect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ const ::CORBA::Any & provided_reference);
+
+ virtual
+ void disconnect_instance (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef);
+
+ virtual
+ void instance_configured (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef);
+ private:
+ Deployment_Common::INSTANCES instances_;
+ };
+}
+#endif
diff --git a/CIAO/ciao/Servants/Connector_Servant_Impl_Base.cpp b/CIAO/ciao/Servants/Connector_Servant_Impl_Base.cpp
index ea9ace05707..64031d265b0 100644
--- a/CIAO/ciao/Servants/Connector_Servant_Impl_Base.cpp
+++ b/CIAO/ciao/Servants/Connector_Servant_Impl_Base.cpp
@@ -278,6 +278,7 @@ namespace CIAO
const char * /* publisher_name */,
::Components::EventConsumerBase_ptr /* subscriber */)
{
+ throw ::Components::InvalidName ();
return 0;
}
@@ -286,6 +287,7 @@ namespace CIAO
const char * /* publisher_name */,
::Components::Cookie * /* ck */)
{
+ throw ::Components::InvalidName ();
return ::Components::EventConsumerBase::_nil ();
}
diff --git a/CIAO/ciao/Servants/Home_Servant_Impl_T.cpp b/CIAO/ciao/Servants/Home_Servant_Impl_T.cpp
index 5444b2ed0bd..a34a2f8b687 100644
--- a/CIAO/ciao/Servants/Home_Servant_Impl_T.cpp
+++ b/CIAO/ciao/Servants/Home_Servant_Impl_T.cpp
@@ -163,6 +163,7 @@ namespace CIAO
typename COMP_SVNT::_exec_type::_ptr_type exe)
{
CIAO_TRACE ("Home_Servant_Impl<>::_ciao_activate_component");
+
CORBA::Object_var hobj = this->container_->get_objref (this);
@@ -193,7 +194,6 @@ namespace CIAO
this->container_->install_servant (svt,
Container_Types::COMPONENT_t,
oid.out ());
-
typedef typename COMP_SVNT::_stub_type stub_type;
typename COMP_SVNT::_stub_var_type ho = stub_type::_narrow (objref.in ());
@@ -203,7 +203,6 @@ namespace CIAO
this->objref_map_.bind (
oid.in (),
Components::CCMObject::_duplicate (ccmobjref.in ()));
-
return ho._retn ();
}
diff --git a/CIAO/connectors/ami4ccm/examples/Hello/descriptors/run_test.pl b/CIAO/connectors/ami4ccm/examples/Hello/descriptors/run_test.pl
index 766e82d9590..6a5d3bb0da6 100755
--- a/CIAO/connectors/ami4ccm/examples/Hello/descriptors/run_test.pl
+++ b/CIAO/connectors/ami4ccm/examples/Hello/descriptors/run_test.pl
@@ -100,7 +100,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -110,7 +110,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_1_to_5.pl b/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_1_to_5.pl
index f15d7b4f0cb..54b94bd73b5 100755
--- a/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_1_to_5.pl
+++ b/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_1_to_5.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_5_to_1.pl b/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_5_to_1.pl
index c28adced639..0b8c9d7f9d5 100755
--- a/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_5_to_1.pl
+++ b/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_5_to_1.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_5_to_5.pl b/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_5_to_5.pl
index 522972bf6f2..d4ea507d6d2 100755
--- a/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_5_to_5.pl
+++ b/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_5_to_5.pl
@@ -103,7 +103,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -113,7 +113,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_receiver.pl b/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_receiver.pl
index 09a8a098e5e..739dd17cd40 100755
--- a/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_receiver.pl
+++ b/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_receiver.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_sender.pl b/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_sender.pl
index c73fc8e11a7..35a6b25f641 100755
--- a/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_sender.pl
+++ b/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_sender.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_test.pl
index 40764f5b852..1f2098b0a8b 100755
--- a/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/examples/Large_Deployment/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/examples/Large_Deployment/descriptors/run_test.pl
index 63828079c7c..99cf3cb0504 100755
--- a/CIAO/connectors/dds4ccm/examples/Large_Deployment/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/examples/Large_Deployment/descriptors/run_test.pl
@@ -105,7 +105,7 @@ sub kill_open_processes {
$NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -115,7 +115,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --instance-nc corbaloc:rir:/NameService --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/examples/Quoter/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/examples/Quoter/descriptors/run_test.pl
index 44cd3fa00c0..b7569c5d050 100755
--- a/CIAO/connectors/dds4ccm/examples/Quoter/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/examples/Quoter/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/run_test.pl
index 6ab7070d719..b89b9e9fe20 100755
--- a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub.pl b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub.pl
index 7adaac62e2d..91c3431eb52 100755
--- a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub.pl
+++ b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub.pl
@@ -109,7 +109,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub3.pl b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub3.pl
index f210522bace..377748951fc 100755
--- a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub3.pl
+++ b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub3.pl
@@ -109,7 +109,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub_BE.pl b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub_BE.pl
index 7e84b92407a..bdda59a0c92 100755
--- a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub_BE.pl
+++ b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_pub_BE.pl
@@ -109,7 +109,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub.pl b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub.pl
index 62fc97da27d..741091518cf 100755
--- a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub.pl
+++ b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub.pl
@@ -109,7 +109,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub2.pl b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub2.pl
index 26a273dd7b7..f6bfd970501 100755
--- a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub2.pl
+++ b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub2.pl
@@ -109,7 +109,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub3.pl b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub3.pl
index 8fa41296ab7..f5424baf6f8 100755
--- a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub3.pl
+++ b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub3.pl
@@ -109,7 +109,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub_BE.pl b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub_BE.pl
index d178bdf4359..50d9bfa01fe 100755
--- a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub_BE.pl
+++ b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_sub_BE.pl
@@ -109,7 +109,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_test.pl
index 943d0e31404..d055a5c2788 100755
--- a/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/performance-tests/Keyed/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/performance-tests/Throughput/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/performance-tests/Throughput/descriptors/run_test.pl
index 3eee53ba374..a8e2d629a76 100644
--- a/CIAO/connectors/dds4ccm/performance-tests/Throughput/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/performance-tests/Throughput/descriptors/run_test.pl
@@ -103,7 +103,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -113,7 +113,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/run_test.pl
index b611e355ec0..d6d101e660c 100755
--- a/CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/CSLDeadline/descriptors/run_test.pl
@@ -100,7 +100,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -110,7 +110,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/run_test.pl
index b2a5229d554..f268769e6f6 100755
--- a/CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/CSLQoS/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/CSLSampleRejected/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/CSLSampleRejected/descriptors/run_test.pl
index 5d0ab35419d..ebadabec718 100755
--- a/CIAO/connectors/dds4ccm/tests/CSLSampleRejected/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/CSLSampleRejected/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/CSLUnexpStat/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/CSLUnexpStat/descriptors/run_test.pl
index 66cc403a1fb..8da823fbf05 100755
--- a/CIAO/connectors/dds4ccm/tests/CSLUnexpStat/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/CSLUnexpStat/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/CoherentUpdater/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/CoherentUpdater/descriptors/run_test.pl
index 4d9ba95b5f7..62c0e785b5b 100755
--- a/CIAO/connectors/dds4ccm/tests/CoherentUpdater/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/CoherentUpdater/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/CoherentWriter/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/CoherentWriter/descriptors/run_test.pl
index 708c17b2051..7b00c89a61f 100755
--- a/CIAO/connectors/dds4ccm/tests/CoherentWriter/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/CoherentWriter/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/DDSWriterEntity/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/DDSWriterEntity/descriptors/run_test.pl
index 3ca8a0ee149..58d757ad63f 100755
--- a/CIAO/connectors/dds4ccm/tests/DDSWriterEntity/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/DDSWriterEntity/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/Event_Connection_Test/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/Event_Connection_Test/descriptors/run_test.pl
index b2a5229d554..f268769e6f6 100755
--- a/CIAO/connectors/dds4ccm/tests/Event_Connection_Test/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/Event_Connection_Test/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/Getter/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/Getter/descriptors/run_test.pl
index d897a3911e9..34a642b693c 100755
--- a/CIAO/connectors/dds4ccm/tests/Getter/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/Getter/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/InstanceHandle/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/InstanceHandle/descriptors/run_test.pl
index e39d6647174..8e3d2319d68 100755
--- a/CIAO/connectors/dds4ccm/tests/InstanceHandle/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/InstanceHandle/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/KeyedSamples/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/KeyedSamples/descriptors/run_test.pl
index 3ca8a0ee149..58d757ad63f 100755
--- a/CIAO/connectors/dds4ccm/tests/KeyedSamples/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/KeyedSamples/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/KeyedWriter/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/KeyedWriter/descriptors/run_test.pl
index 3ca8a0ee149..58d757ad63f 100755
--- a/CIAO/connectors/dds4ccm/tests/KeyedWriter/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/KeyedWriter/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/ListenManyByMany/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/ListenManyByMany/descriptors/run_test.pl
index ddeee753cf7..6f8d90928dd 100755
--- a/CIAO/connectors/dds4ccm/tests/ListenManyByMany/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/ListenManyByMany/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/descriptors/run_test.pl
index b2a5229d554..f268769e6f6 100755
--- a/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/ListenOneByOne/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/ListenOneByOne/descriptors/run_test.pl
index ddeee753cf7..6f8d90928dd 100755
--- a/CIAO/connectors/dds4ccm/tests/ListenOneByOne/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/ListenOneByOne/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/NonChangeableAttribute/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/NonChangeableAttribute/descriptors/run_test.pl
index b51ae16243d..3e9d6f53dea 100755
--- a/CIAO/connectors/dds4ccm/tests/NonChangeableAttribute/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/NonChangeableAttribute/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/On_Inconsistent_Topic/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/On_Inconsistent_Topic/descriptors/run_test.pl
index 9734de1093a..e4ea54ee190 100755
--- a/CIAO/connectors/dds4ccm/tests/On_Inconsistent_Topic/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/On_Inconsistent_Topic/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/PSLDeadline/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/PSLDeadline/descriptors/run_test.pl
index 4ea0f211542..aa5e72be47d 100755
--- a/CIAO/connectors/dds4ccm/tests/PSLDeadline/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/PSLDeadline/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/PSLSampleLost/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/PSLSampleLost/descriptors/run_test.pl
index b2a5229d554..f268769e6f6 100755
--- a/CIAO/connectors/dds4ccm/tests/PSLSampleLost/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/PSLSampleLost/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/PortUsage/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/PortUsage/descriptors/run_test.pl
index c26f639fb6d..150824a4932 100755
--- a/CIAO/connectors/dds4ccm/tests/PortUsage/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/PortUsage/descriptors/run_test.pl
@@ -99,7 +99,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
@@ -110,7 +110,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/QosProfile/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/QosProfile/descriptors/run_test.pl
index 82e952240b7..a69f6626029 100755
--- a/CIAO/connectors/dds4ccm/tests/QosProfile/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/QosProfile/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
delete_ior_files ();
}
@@ -112,7 +112,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/QueryFilter/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/QueryFilter/descriptors/run_test.pl
index 708c17b2051..7b00c89a61f 100755
--- a/CIAO/connectors/dds4ccm/tests/QueryFilter/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/QueryFilter/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/QueryFilterListenEvent/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/QueryFilterListenEvent/descriptors/run_test.pl
index ddeee753cf7..6f8d90928dd 100755
--- a/CIAO/connectors/dds4ccm/tests/QueryFilterListenEvent/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/QueryFilterListenEvent/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/QueryFilterListenState/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/QueryFilterListenState/descriptors/run_test.pl
index ddeee753cf7..6f8d90928dd 100755
--- a/CIAO/connectors/dds4ccm/tests/QueryFilterListenState/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/QueryFilterListenState/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/Reader/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/Reader/descriptors/run_test.pl
index 997852c0618..b9ce56fc32c 100755
--- a/CIAO/connectors/dds4ccm/tests/Reader/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/Reader/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/SLDisabled/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/SLDisabled/descriptors/run_test.pl
index 66cc403a1fb..8da823fbf05 100755
--- a/CIAO/connectors/dds4ccm/tests/SLDisabled/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/SLDisabled/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/run_test.pl
index 66cc403a1fb..8da823fbf05 100755
--- a/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/SLOneByOne/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/SLOneByOne/descriptors/run_test.pl
index 66cc403a1fb..8da823fbf05 100755
--- a/CIAO/connectors/dds4ccm/tests/SLOneByOne/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/SLOneByOne/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/SetConnectorAttributes/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/SetConnectorAttributes/descriptors/run_test.pl
index b51ae16243d..3e9d6f53dea 100755
--- a/CIAO/connectors/dds4ccm/tests/SetConnectorAttributes/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/SetConnectorAttributes/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/descriptors/run_test.pl
index 5a57844e894..0b4a8ad3db9 100755
--- a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/descriptors/run_test.pl
index c1a88c75f90..b25efb7e313 100755
--- a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/descriptors/run_test_default_qos.pl b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/descriptors/run_test_default_qos.pl
index b7b2c12ee80..e41935a32d5 100755
--- a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/descriptors/run_test_default_qos.pl
+++ b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/descriptors/run_test_default_qos.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/State_Connection_Test/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/State_Connection_Test/descriptors/run_test.pl
index 5d0ab35419d..ebadabec718 100755
--- a/CIAO/connectors/dds4ccm/tests/State_Connection_Test/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/State_Connection_Test/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/UnkeyedSamples/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/UnkeyedSamples/descriptors/run_test.pl
index 3ca8a0ee149..58d757ad63f 100755
--- a/CIAO/connectors/dds4ccm/tests/UnkeyedSamples/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/UnkeyedSamples/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/UnkeyedWriter/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/UnkeyedWriter/descriptors/run_test.pl
index 58d28e2d477..2ede410c447 100755
--- a/CIAO/connectors/dds4ccm/tests/UnkeyedWriter/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/UnkeyedWriter/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/Updater/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/Updater/descriptors/run_test.pl
index 7a20e61732d..f3aaf2add8d 100755
--- a/CIAO/connectors/dds4ccm/tests/Updater/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/Updater/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/VariousTopicsEvent/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/VariousTopicsEvent/descriptors/run_test.pl
index 97e2bf434c6..5deb13ea7c7 100755
--- a/CIAO/connectors/dds4ccm/tests/VariousTopicsEvent/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/VariousTopicsEvent/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/connectors/dds4ccm/tests/VariousTopicsState/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/VariousTopicsState/descriptors/run_test.pl
index d7266527ff7..9cfab7e4a8b 100755
--- a/CIAO/connectors/dds4ccm/tests/VariousTopicsState/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/VariousTopicsState/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
diff --git a/CIAO/examples/BasicSP/descriptors/BasicSP_Homed.cdp b/CIAO/examples/BasicSP/descriptors/BasicSP_Homed.cdp
index cb705023256..d08969cc821 100644
--- a/CIAO/examples/BasicSP/descriptors/BasicSP_Homed.cdp
+++ b/CIAO/examples/BasicSP/descriptors/BasicSP_Homed.cdp
@@ -215,6 +215,17 @@
<artifact xmi:idref="EC_ExecArtifact" />
<artifact xmi:idref="EC_SvntArtifact" />
<artifact xmi:idref="EC_StubArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="BMClosedEDComponentImplementation">
<name>BMClosedEDComponentImplementation</name>
@@ -222,6 +233,17 @@
<artifact xmi:idref="BMClosedED_ExecArtifact" />
<artifact xmi:idref="BMClosedED_SvntArtifact" />
<artifact xmi:idref="BMClosedED_StubArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="BMDeviceComponentImplementation">
<name>BMDeviceComponentImplementation</name>
@@ -229,6 +251,17 @@
<artifact xmi:idref="BMDevice_ExecArtifact" />
<artifact xmi:idref="BMDevice_SvntArtifact" />
<artifact xmi:idref="BMDevice_StubArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="BMDisplayComponentImplementation">
<name>BMDisplayComponentImplementation</name>
@@ -236,6 +269,17 @@
<artifact xmi:idref="BMDisplay_ExecArtifact" />
<artifact xmi:idref="BMDisplay_SvntArtifact" />
<artifact xmi:idref="BMDisplay_StubArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="ECHomeInstance">
<name>ECHome</name>
@@ -272,7 +316,7 @@
<source/>
<implementation xmi:idref="ECComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -301,7 +345,7 @@
<source/>
<implementation xmi:idref="BMClosedEDComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -319,7 +363,7 @@
<source/>
<implementation xmi:idref="BMDeviceComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -337,7 +381,7 @@
<source/>
<implementation xmi:idref="BMDisplayComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/examples/BasicSP/descriptors/run_test.pl b/CIAO/examples/BasicSP/descriptors/run_test.pl
index 9c8519a60af..e6b310cd20f 100755
--- a/CIAO/examples/BasicSP/descriptors/run_test.pl
+++ b/CIAO/examples/BasicSP/descriptors/run_test.pl
@@ -106,7 +106,7 @@ sub kill_open_processes {
$NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -116,7 +116,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --instance-nc corbaloc:rir:/NameService";
diff --git a/CIAO/examples/Hello/descriptors/DeploymentPlan.cdp b/CIAO/examples/Hello/descriptors/DeploymentPlan.cdp
index a8408215438..217dab0e06c 100644
--- a/CIAO/examples/Hello/descriptors/DeploymentPlan.cdp
+++ b/CIAO/examples/Hello/descriptors/DeploymentPlan.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="Hello_Receiver_ExecArtifact" />
<artifact xmi:idref="Hello_Receiver_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="Hello_SenderHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="Hello_Sender_ExecArtifact" />
<artifact xmi:idref="Hello_Sender_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="Hello_ReceiverHomeInstance">
@@ -164,7 +186,7 @@
<source/>
<implementation xmi:idref="Hello_ReceiverComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -246,7 +268,7 @@
<source/>
<implementation xmi:idref="Hello_SenderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/examples/Hello/descriptors/DeploymentPlan_without_ns.cdp b/CIAO/examples/Hello/descriptors/DeploymentPlan_without_ns.cdp
index 6d5b3f05780..bc1bddd4c9d 100644
--- a/CIAO/examples/Hello/descriptors/DeploymentPlan_without_ns.cdp
+++ b/CIAO/examples/Hello/descriptors/DeploymentPlan_without_ns.cdp
@@ -66,6 +66,17 @@
<source/>
<artifact xmi:idref="Hello_Receiver_ExecArtifact" />
<artifact xmi:idref="Hello_Receiver_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<implementation xmi:id="Hello_SenderHomeImplementation">
@@ -125,6 +136,17 @@
<source/>
<artifact xmi:idref="Hello_Sender_ExecArtifact" />
<artifact xmi:idref="Hello_Sender_SvntArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="Hello_ReceiverHomeInstance">
@@ -153,7 +175,7 @@
<source/>
<implementation xmi:idref="Hello_ReceiverComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -202,7 +224,7 @@
<source/>
<implementation xmi:idref="Hello_SenderComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
diff --git a/CIAO/examples/Hello/descriptors/run_test.pl b/CIAO/examples/Hello/descriptors/run_test.pl
index d54efbaa8ff..496ee58a5b1 100755
--- a/CIAO/examples/Hello/descriptors/run_test.pl
+++ b/CIAO/examples/Hello/descriptors/run_test.pl
@@ -105,7 +105,7 @@ sub kill_open_processes {
$NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -115,7 +115,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --instance-nc corbaloc:rir:/NameService";
diff --git a/CIAO/examples/Hello/descriptors/run_test_PlanLocality_DifferentProcesses.pl b/CIAO/examples/Hello/descriptors/run_test_PlanLocality_DifferentProcesses.pl
index b111f22402b..c88eae6fd42 100755
--- a/CIAO/examples/Hello/descriptors/run_test_PlanLocality_DifferentProcesses.pl
+++ b/CIAO/examples/Hello/descriptors/run_test_PlanLocality_DifferentProcesses.pl
@@ -89,7 +89,7 @@ sub kill_open_processes {
$EM->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
@@ -100,7 +100,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30";
diff --git a/CIAO/examples/Hello/descriptors/run_test_PlanLocality_SameProcess.pl b/CIAO/examples/Hello/descriptors/run_test_PlanLocality_SameProcess.pl
index 4f095cab002..23c14752675 100755
--- a/CIAO/examples/Hello/descriptors/run_test_PlanLocality_SameProcess.pl
+++ b/CIAO/examples/Hello/descriptors/run_test_PlanLocality_SameProcess.pl
@@ -89,7 +89,7 @@ sub kill_open_processes {
$EM->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
@@ -100,7 +100,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30";
diff --git a/CIAO/examples/Hello/descriptors/run_test_alias.pl b/CIAO/examples/Hello/descriptors/run_test_alias.pl
index 49b76becb98..dd8c35470e0 100755
--- a/CIAO/examples/Hello/descriptors/run_test_alias.pl
+++ b/CIAO/examples/Hello/descriptors/run_test_alias.pl
@@ -105,7 +105,7 @@ sub kill_open_processes {
$NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -115,7 +115,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --instance-nc corbaloc:rir:/NameService";
diff --git a/CIAO/examples/Hello/descriptors/run_test_without_ns.pl b/CIAO/examples/Hello/descriptors/run_test_without_ns.pl
index 8208f174e41..eb95e82bec3 100755
--- a/CIAO/examples/Hello/descriptors/run_test_without_ns.pl
+++ b/CIAO/examples/Hello/descriptors/run_test_without_ns.pl
@@ -89,7 +89,7 @@ sub kill_open_processes {
$EM->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
@@ -100,7 +100,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30";
diff --git a/CIAO/examples/Null_Component/descriptors/Null_Homed.cdp b/CIAO/examples/Null_Component/descriptors/Null_Homed.cdp
index 2332e2d346e..57d09cfb185 100644
--- a/CIAO/examples/Null_Component/descriptors/Null_Homed.cdp
+++ b/CIAO/examples/Null_Component/descriptors/Null_Homed.cdp
@@ -1,109 +1,120 @@
<Deployment:DeploymentPlan
- xmlns:Deployment="http://www.omg.org/Deployment"
- xmlns:xmi="http://www.omg.org/XMI"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
+ xmlns:Deployment="http://www.omg.org/Deployment"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
<label>Null_Homed</label>
<UUID>Null_Homed</UUID>
-<implementation xmi:id="Null_ComponentHomeImplementation">
- <name>Null_ComponentHomeImplementation</name>
- <source/>
- <artifact xmi:idref="Null_Component_ExecArtifact" />
- <artifact xmi:idref="Null_Component_SvntArtifact" />
- <execParameter>
- <!-- entrypoint as exec parameter (see 10.6.1) -->
- <name>home factory</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
+ <implementation xmi:id="Null_ComponentHomeImplementation">
+ <name>Null_ComponentHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="Null_Component_ExecArtifact" />
+ <artifact xmi:idref="Null_Component_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>home factory</name>
<value>
- <string>create_Null_ComponentHome_Impl</string>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Null_ComponentHome_Impl</string>
+ </value>
</value>
- </value>
- </execParameter>
- <execParameter>
- <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
<value>
- <string>create_Null_ComponentHome_Servant</string>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Null_ComponentHome_Servant</string>
+ </value>
</value>
- </value>
- </execParameter>
- <execParameter>
- <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
<value>
- <string>Null_Component_svnt</string>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Null_Component_svnt</string>
+ </value>
</value>
- </value>
- </execParameter>
- <execParameter>
- <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
<value>
- <string>Null_Component_exec</string>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Null_Component_exec</string>
+ </value>
</value>
- </value>
- </execParameter>
-</implementation>
-<implementation xmi:id="Null_ComponentComponentImplementation">
- <name>Null_ComponentComponentImplementation</name>
- <source/>
- <artifact xmi:idref="Null_Component_ExecArtifact" />
- <artifact xmi:idref="Null_Component_SvntArtifact" />
- <artifact xmi:idref="Null_Component_StubArtifact" />
-</implementation>
+ </execParameter>
+ </implementation>
+ <implementation xmi:id="Null_ComponentComponentImplementation">
+ <name>Null_ComponentComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Null_Component_ExecArtifact" />
+ <artifact xmi:idref="Null_Component_SvntArtifact" />
+ <artifact xmi:idref="Null_Component_StubArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
<instance xmi:id="Null_ComponentHomeInstance">
- <name>Null_ComponentHome</name>
- <node>NodeOne</node>
- <!-- hostname -->
- <source/>
- <implementation xmi:idref="Null_ComponentHomeImplementation" />
-</instance>
+ <name>Null_ComponentHome</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Null_ComponentHomeImplementation" />
+ </instance>
<instance xmi:id="Null_ComponentComponentInstance">
- <name>Null_ComponentComponent</name>
- <node>NodeOne</node>
- <!-- hostname -->
- <source/>
- <implementation xmi:idref="Null_ComponentComponentImplementation" />
- <configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
+ <name>Null_ComponentComponent</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Null_ComponentComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
- <string>Null_ComponentHome</string>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Null_ComponentHome</string>
+ </value>
</value>
- </value>
- </configProperty>
-</instance>
+ </configProperty>
+ </instance>
<artifact xmi:id="Null_Component_ExecArtifact">
- <name>Null_Component_exec</name>
- <source/>
- <node/>
- <location>Null_Component_exec</location>
-</artifact>
-<artifact xmi:id="Null_Component_SvntArtifact">
- <name>Null_Component_svnt</name>
- <source/>
- <node/>
- <location>Null_Component_svnt</location>
-</artifact>
-<artifact xmi:id="Null_Component_StubArtifact">
- <name>Null_Component_stub</name>
- <source/>
- <node/>
- <location>Null_Component_stub</location>
-</artifact>
-</Deployment:DeploymentPlan> \ No newline at end of file
+ <name>Null_Component_exec</name>
+ <source/>
+ <node/>
+ <location>Null_Component_exec</location>
+ </artifact>
+ <artifact xmi:id="Null_Component_SvntArtifact">
+ <name>Null_Component_svnt</name>
+ <source/>
+ <node/>
+ <location>Null_Component_svnt</location>
+ </artifact>
+ <artifact xmi:id="Null_Component_StubArtifact">
+ <name>Null_Component_stub</name>
+ <source/>
+ <node/>
+ <location>Null_Component_stub</location>
+ </artifact>
+</Deployment:DeploymentPlan>
diff --git a/CIAO/examples/Null_Component/descriptors/run_test.pl b/CIAO/examples/Null_Component/descriptors/run_test.pl
index 1c854d88e2b..0b8c07ca7d8 100755
--- a/CIAO/examples/Null_Component/descriptors/run_test.pl
+++ b/CIAO/examples/Null_Component/descriptors/run_test.pl
@@ -100,7 +100,7 @@ sub kill_open_processes {
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService --instance-nc corbaloc:rir:/NameService";
diff --git a/CIAO/examples/Null_Component/descriptors/run_test_without_ns.pl b/CIAO/examples/Null_Component/descriptors/run_test_without_ns.pl
index f56f270b47d..384f3893135 100755
--- a/CIAO/examples/Null_Component/descriptors/run_test_without_ns.pl
+++ b/CIAO/examples/Null_Component/descriptors/run_test_without_ns.pl
@@ -90,7 +90,7 @@ sub kill_open_processes {
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
@@ -101,7 +101,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30";
diff --git a/CIAO/examples/Null_Component_Glfa/descriptors/Null_Homed.cdp b/CIAO/examples/Null_Component_Glfa/descriptors/Null_Homed.cdp
index 2332e2d346e..61521a0cc07 100644
--- a/CIAO/examples/Null_Component_Glfa/descriptors/Null_Homed.cdp
+++ b/CIAO/examples/Null_Component_Glfa/descriptors/Null_Homed.cdp
@@ -62,6 +62,17 @@
<artifact xmi:idref="Null_Component_ExecArtifact" />
<artifact xmi:idref="Null_Component_SvntArtifact" />
<artifact xmi:idref="Null_Component_StubArtifact" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
+ </value>
+ </value>
+ </execParameter>
</implementation>
<instance xmi:id="Null_ComponentHomeInstance">
<name>Null_ComponentHome</name>
@@ -77,7 +88,7 @@
<source/>
<implementation xmi:idref="Null_ComponentComponentImplementation" />
<configProperty>
- <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
<value>
<type>
<kind>tk_string</kind>
@@ -106,4 +117,4 @@
<node/>
<location>Null_Component_stub</location>
</artifact>
-</Deployment:DeploymentPlan> \ No newline at end of file
+</Deployment:DeploymentPlan>
diff --git a/CIAO/examples/Null_Component_Glfa/descriptors/run_test.pl b/CIAO/examples/Null_Component_Glfa/descriptors/run_test.pl
index 1c854d88e2b..0b8c07ca7d8 100755
--- a/CIAO/examples/Null_Component_Glfa/descriptors/run_test.pl
+++ b/CIAO/examples/Null_Component_Glfa/descriptors/run_test.pl
@@ -100,7 +100,7 @@ sub kill_open_processes {
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService --instance-nc corbaloc:rir:/NameService";
diff --git a/CIAO/tests/Bug_2130_Regression/descriptors/run_test.pl b/CIAO/tests/Bug_2130_Regression/descriptors/run_test.pl
index d31d6f9c562..b3e0e10ddcd 100755
--- a/CIAO/tests/Bug_2130_Regression/descriptors/run_test.pl
+++ b/CIAO/tests/Bug_2130_Regression/descriptors/run_test.pl
@@ -86,7 +86,7 @@ sub kill_open_processes {
$EM->Kill (); $EM->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -95,7 +95,7 @@ sub run_node_daemons {
$iorfile = $iorfiles[$i];
$port = $ports[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -o $iorfile -a \"-r\"";
diff --git a/CIAO/tests/Bug_3769_Regression/descriptors/run_test.pl b/CIAO/tests/Bug_3769_Regression/descriptors/run_test.pl
index 24b9dc6ec27..c9aad1fb892 100755
--- a/CIAO/tests/Bug_3769_Regression/descriptors/run_test.pl
+++ b/CIAO/tests/Bug_3769_Regression/descriptors/run_test.pl
@@ -101,7 +101,7 @@ sub kill_open_processes {
$NS->Kill (); $NS->TimedWait (1);
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService --instance-nc corbaloc:rir:/NameService";
diff --git a/CIAO/tests/Bug_3834_Regression/descriptors/run_test.pl b/CIAO/tests/Bug_3834_Regression/descriptors/run_test.pl
index 1c854d88e2b..0b8c07ca7d8 100755
--- a/CIAO/tests/Bug_3834_Regression/descriptors/run_test.pl
+++ b/CIAO/tests/Bug_3834_Regression/descriptors/run_test.pl
@@ -100,7 +100,7 @@ sub kill_open_processes {
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
@@ -111,7 +111,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService --instance-nc corbaloc:rir:/NameService";
diff --git a/CIAO/tests/Bug_3834_Regression/descriptors/run_test_without_ns.pl b/CIAO/tests/Bug_3834_Regression/descriptors/run_test_without_ns.pl
index 72c6fee30b6..a7daf9dfa2d 100755
--- a/CIAO/tests/Bug_3834_Regression/descriptors/run_test_without_ns.pl
+++ b/CIAO/tests/Bug_3834_Regression/descriptors/run_test_without_ns.pl
@@ -90,7 +90,7 @@ sub kill_open_processes {
}
# in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
@@ -101,7 +101,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30";
diff --git a/CIAO/tests/IDL_Test/Double_Inherited_Component/run_test.pl b/CIAO/tests/IDL_Test/Double_Inherited_Component/run_test.pl
index f2f1074d340..8b51fc6859e 100755
--- a/CIAO/tests/IDL_Test/Double_Inherited_Component/run_test.pl
+++ b/CIAO/tests/IDL_Test/Double_Inherited_Component/run_test.pl
@@ -103,7 +103,7 @@ sub kill_open_processes {
}
# in case the planlauncher wasn't able to shut everything down as supposed
- $tg_executor->KillAll ('ciao_componentserver');
+ $tg_executor->KillAll ('dance_locality_manager');
}
sub run_node_daemons {
@@ -113,7 +113,7 @@ sub run_node_daemons {
$port = $ports[$i];
$nodename = $nodenames[$i];
$iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+ $node_app = "$DANCE_ROOT/bin/dance_locality_manager";
$d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
$d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";