summaryrefslogtreecommitdiff
path: root/modules/CIAO/DAnCE/tests
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/DAnCE/tests')
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation.idl15
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation.mpc108
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation_exec.cpp189
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation_exec.h126
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute.idl25
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute.mpc108
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute_exec.cpp241
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute_exec.h141
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleCommon.idl21
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleCommon.mpc79
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer.idl21
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer.mpc110
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.cpp138
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.h102
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter.idl21
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter.mpc110
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter_exec.cpp131
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter_exec.h98
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser.idl21
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser.mpc110
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser_exec.cpp158
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser_exec.h98
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider.idl22
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider.mpc112
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider_exec.cpp160
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider_exec.h116
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser.idl21
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser.mpc111
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser_exec.cpp159
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser_exec.h98
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull.idl14
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull.mpc107
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull_exec.cpp150
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull_exec.h101
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider.idl22
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider.mpc111
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.cpp160
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.h116
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher.idl21
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher.mpc110
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher_exec.cpp130
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher_exec.h98
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser.idl21
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser.mpc111
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser_exec.cpp151
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser_exec.h98
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome.cdp227
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome_NS.cdp238
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome.cdp262
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS.cdp286
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome.cdp227
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome_NS.cdp244
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimpleComponentExplicitHome.cdp113
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome.cdp262
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS.cdp279
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NilFacet.cdp262
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/em_launcher.mpc6
-rwxr-xr-xmodules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl174
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/simple_em_launcher.cpp130
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/EmitsConnectionExplicitHome.cdp227
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/MultiplexConnectionExplicitHome.cdp262
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/PublishConnectionExplicitHome.cdp227
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleAttributeExplicitHome.cdp179
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentExplicitHome.cdp113
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentUnhomed.cdp86
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleHome.cdp90
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleProcessColocation.cdp127
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleProcessColocation_2.cdp168
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleProcessColocation_Default.cdp208
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimplexConnectionExplicitHome.cdp262
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/TwoComponentsOneHome.cdp281
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/nm_launcher.mpc6
-rwxr-xr-xmodules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl117
-rw-r--r--modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/simple_nm_launcher.cpp127
-rw-r--r--modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance2-host1.cdp639
-rw-r--r--modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance2-host2.cdp969
-rw-r--r--modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance2.cdp1300
-rw-r--r--modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance4-host1.cdp1055
-rw-r--r--modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance4-host2.cdp941
-rw-r--r--modules/CIAO/DAnCE/tests/DeploymentPlanDump/DeploymentPlanDump.mpc9
-rw-r--r--modules/CIAO/DAnCE/tests/DeploymentPlanDump/NewCcmDance1.cdp1063
-rw-r--r--modules/CIAO/DAnCE/tests/DeploymentPlanDump/test.cpp36
-rw-r--r--modules/CIAO/DAnCE/tests/DeploymentPlanTestReferences/DeploymentPlanTestReferences.mpc9
-rw-r--r--modules/CIAO/DAnCE/tests/DeploymentPlanTestReferences/test.cpp52
-rw-r--r--modules/CIAO/DAnCE/tests/DeploymentTest1/DeploymentTest1.mpc9
-rw-r--r--modules/CIAO/DAnCE/tests/DeploymentTest1/test.cpp67
-rw-r--r--modules/CIAO/DAnCE/tests/MocksTest/MockObjectHome.cpp19
-rw-r--r--modules/CIAO/DAnCE/tests/MocksTest/MockObjectHome.h24
-rw-r--r--modules/CIAO/DAnCE/tests/MocksTest/MockTest.cdp196
-rw-r--r--modules/CIAO/DAnCE/tests/MocksTest/MockTest.mpc28
-rw-r--r--modules/CIAO/DAnCE/tests/MocksTest/MocksTest.cpp37
-rw-r--r--modules/CIAO/DAnCE/tests/MocksTest/MocksTest_Export.h58
-rw-r--r--modules/CIAO/DAnCE/tests/MocksTest/plCommand.In5
-rwxr-xr-xmodules/CIAO/DAnCE/tests/MocksTest/run_test.pl97
-rw-r--r--modules/CIAO/DAnCE/tests/NameServiceTest/Dummy.idl14
-rw-r--r--modules/CIAO/DAnCE/tests/NameServiceTest/DummyImpl.cpp14
-rw-r--r--modules/CIAO/DAnCE/tests/NameServiceTest/DummyImpl.h25
-rw-r--r--modules/CIAO/DAnCE/tests/NameServiceTest/NameServiceTest.mpc30
-rw-r--r--modules/CIAO/DAnCE/tests/NameServiceTest/RegistrationPath.h9
-rw-r--r--modules/CIAO/DAnCE/tests/NameServiceTest/clt_main.cpp85
-rwxr-xr-xmodules/CIAO/DAnCE/tests/NameServiceTest/run_test.pl73
-rw-r--r--modules/CIAO/DAnCE/tests/NameServiceTest/srv_main.cpp72
-rw-r--r--modules/CIAO/DAnCE/tests/NodeApplicationManager-NodeApplication/NAM_NA.mpc8
-rw-r--r--modules/CIAO/DAnCE/tests/NodeApplicationManager-NodeApplication/test.cpp48
-rw-r--r--modules/CIAO/DAnCE/tests/NodeManager-NodeApplicationManager/NodeManager-NodeApplicationManager.mpc8
-rw-r--r--modules/CIAO/DAnCE/tests/NodeManager-NodeApplicationManager/test.cpp43
-rw-r--r--modules/CIAO/DAnCE/tests/ObjectLocatorTest/Dummy.idl13
-rw-r--r--modules/CIAO/DAnCE/tests/ObjectLocatorTest/DummyImpl.cpp13
-rw-r--r--modules/CIAO/DAnCE/tests/ObjectLocatorTest/DummyImpl.h22
-rw-r--r--modules/CIAO/DAnCE/tests/ObjectLocatorTest/ObjectLocatorTest.mpc35
-rw-r--r--modules/CIAO/DAnCE/tests/ObjectLocatorTest/RegistrationPath.h9
-rw-r--r--modules/CIAO/DAnCE/tests/ObjectLocatorTest/clt_main.cpp56
-rw-r--r--modules/CIAO/DAnCE/tests/ObjectLocatorTest/srv_main.cpp55
-rw-r--r--modules/CIAO/DAnCE/tests/RedirectionServiceTest/Dummy.idl13
-rw-r--r--modules/CIAO/DAnCE/tests/RedirectionServiceTest/DummyImpl.cpp14
-rw-r--r--modules/CIAO/DAnCE/tests/RedirectionServiceTest/DummyImpl.h24
-rw-r--r--modules/CIAO/DAnCE/tests/RedirectionServiceTest/RedirectionServiceTest.mpc25
-rw-r--r--modules/CIAO/DAnCE/tests/RedirectionServiceTest/RegistrationPath.h11
-rw-r--r--modules/CIAO/DAnCE/tests/RedirectionServiceTest/clt_main.cpp110
-rw-r--r--modules/CIAO/DAnCE/tests/RedirectionServiceTest/srv_main.cpp75
-rwxr-xr-xmodules/CIAO/DAnCE/tests/scripts/BasicSP/basicNodeDaemon.pl62
-rw-r--r--modules/CIAO/DAnCE/tests/scripts/BasicSP/basicsp.dat3
122 files changed, 17263 insertions, 0 deletions
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation.idl b/modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation.idl
new file mode 100644
index 00000000000..6c38a2dd8f0
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation.idl
@@ -0,0 +1,15 @@
+// $Id$
+
+#include <Components.idl>
+
+module Simple
+{
+ component ProcessColocation
+ {
+ attribute string process_name;
+ };
+
+ home ProcessColocationHome manages ProcessColocation
+ {
+ };
+};
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation.mpc b/modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation.mpc
new file mode 100644
index 00000000000..126ad174031
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation.mpc
@@ -0,0 +1,108 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl ProcessColocation"
+
+project(ProcessColocation_idl_gen) : componentidldefaults {
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=PROCESSCOLOCATION_STUB_Export \
+ -Wb,stub_export_include=ProcessColocation_stub_export.h \
+ -Wb,skel_export_macro=PROCESSCOLOCATION_SVNT_Export \
+ -Wb,skel_export_include=ProcessColocation_svnt_export.h \
+ -Wb,exec_export_macro=PROCESSCOLOCATION_EXEC_Export \
+ -Wb,exec_export_include=ProcessColocation_exec_export.h
+
+ IDL_Files {
+ ProcessColocation.idl
+ }
+}
+
+project(ProcessColocation_lem_gen) : ciaoidldefaults {
+ custom_only = 1
+ after += ProcessColocation_idl_gen
+ idlflags += -Wb,export_macro=PROCESSCOLOCATION_EXEC_Export \
+ -Wb,export_include=ProcessColocation_exec_export.h \
+ -SS
+
+ IDL_Files {
+ ProcessColocationE.idl
+ }
+}
+
+project(ProcessColocation_stub) : ccm_stub {
+ after += ProcessColocation_idl_gen
+ libs +=
+
+ sharedname = ProcessColocation_stub
+ dynamicflags = PROCESSCOLOCATION_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ ProcessColocationC.cpp
+ }
+
+ Header_Files {
+ ProcessColocationC.h
+ ProcessColocation_stub_export.h
+ }
+
+ Inline_Files {
+ ProcessColocationC.inl
+ }
+}
+
+project(ProcessColocation_exec) : ciao_executor {
+ after += ProcessColocation_lem_gen ProcessColocation_stub
+ sharedname = ProcessColocation_exec
+ libs += ProcessColocation_stub
+
+ dynamicflags = PROCESSCOLOCATION_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ ProcessColocationEC.cpp
+ ProcessColocation_exec.cpp
+ }
+
+ Header_Files {
+ ProcessColocationEC.h
+ ProcessColocation_exec.h
+ ProcessColocation_exec_export.h
+ }
+
+ Inline_Files {
+ ProcessColocationEC.inl
+ }
+}
+
+
+project(ProcessColocation_svnt) : ciao_servant {
+ after += ProcessColocation_exec
+ sharedname = ProcessColocation_svnt
+ libs += ProcessColocation_exec \
+ ProcessColocation_stub
+
+ dynamicflags = PROCESSCOLOCATION_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ ProcessColocationS.cpp
+ ProcessColocation_svnt.cpp
+ }
+
+ Header_Files {
+ ProcessColocationS.h
+ ProcessColocation_svnt.h
+ ProcessColocation_svnt_export.h
+ }
+
+ Inline_Files {
+ ProcessColocationS.inl
+ }
+}
+
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation_exec.cpp b/modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation_exec.cpp
new file mode 100644
index 00000000000..cafc865f062
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation_exec.cpp
@@ -0,0 +1,189 @@
+// -*- C++ -*-
+// $Id$
+
+#include "ProcessColocation_exec.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "ace/Singleton.h"
+
+namespace
+{
+ class Colocation_Tester
+ {
+ public:
+ Colocation_Tester (void)
+ : value_ ("")
+ {
+ }
+
+ ACE_CString value (void)
+ {
+ return value_;
+ }
+
+ void value (const ACE_CString &s)
+ {
+ value_ = s;
+ }
+
+ private:
+ ACE_CString value_;
+ };
+
+ typedef ACE_Singleton <Colocation_Tester,
+ ACE_SYNCH_RECURSIVE_MUTEX> Colocation_Tester_Singleton;
+
+#define TESTER Colocation_Tester_Singleton::instance ()
+}
+
+namespace CIAO_Simple_ProcessColocation_Impl
+{
+ //============================================================
+ // Component Executor Implementation Class: ProcessColocation_exec_i
+ //============================================================
+
+ ProcessColocation_exec_i::ProcessColocation_exec_i (void)
+ {
+ }
+
+ ProcessColocation_exec_i::~ProcessColocation_exec_i (void)
+ {
+ }
+
+ // Supported operations and attributes.
+
+ // Component attributes.
+
+ char *
+ ProcessColocation_exec_i::process_name (void)
+ {
+ return CORBA::string_dup (this->process_name_.c_str ());
+ }
+
+ void
+ ProcessColocation_exec_i::process_name (
+ const char * process_name )
+ {
+ CIAO_DEBUG ((LM_EMERGENCY, "Setting attr process name:%C\n",
+ process_name));
+
+ this->process_name_ = process_name;
+ TESTER->value (process_name);
+ }
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent.
+
+ void
+ ProcessColocation_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ this->context_ =
+ ::Simple::CCM_ProcessColocation_Context::_narrow (ctx);
+
+ if ( ::CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ ProcessColocation_exec_i::configuration_complete (void)
+ {
+ /* Your code here. */
+ }
+
+ void
+ ProcessColocation_exec_i::ccm_activate (void)
+ {
+ ACE_CString value = TESTER->value ();
+
+ if (this->process_name_ != value)
+ {
+ CIAO_DEBUG ((LM_EMERGENCY, "ProcessColocation_exec_i::ccm_activate - "
+ "Error: I am colocated with someone I shouldn't be. "
+ "My process value is %C, expected %C\n",
+ value.c_str (),
+ this->process_name_.c_str ()));
+ // throw CORBA::BAD_PARAM ();
+ }
+ }
+
+ void
+ ProcessColocation_exec_i::ccm_passivate (void)
+ {
+ /* Your code here. */
+ }
+
+ void
+ ProcessColocation_exec_i::ccm_remove (void)
+ {
+ /* Your code here. */
+ }
+
+ extern "C" PROCESSCOLOCATION_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_Simple_ProcessColocation_Impl (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ ProcessColocation_exec_i,
+ ::Components::EnterpriseComponent::_nil ());
+
+ return retval;
+ }
+}
+
+namespace CIAO_Simple_ProcessColocation_Impl
+{
+ //============================================================
+ // Home Executor Implementation Class: ProcessColocationHome_exec_i
+ //============================================================
+
+ ProcessColocationHome_exec_i::ProcessColocationHome_exec_i (void)
+ {
+ }
+
+ ProcessColocationHome_exec_i::~ProcessColocationHome_exec_i (void)
+ {
+ }
+
+ // All operations and attributes.
+
+ // Factory operations.
+
+ // Finder operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ ProcessColocationHome_exec_i::create (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ ProcessColocation_exec_i,
+ ::CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" PROCESSCOLOCATION_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_ProcessColocationHome_Impl (void)
+ {
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ ProcessColocationHome_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation_exec.h b/modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation_exec.h
new file mode 100644
index 00000000000..ed5e8d3d950
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/ProcessColocation_exec.h
@@ -0,0 +1,126 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler v1.6.9 ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1301
+
+#ifndef CIAO_PROCESSCOLOCATION_EXEC_H_
+#define CIAO_PROCESSCOLOCATION_EXEC_H_
+
+#include /**/ "ace/pre.h"
+
+#include "ProcessColocationEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include /**/ "ProcessColocation_exec_export.h"
+#include "tao/LocalObject.h"
+#include "ace/String_Base.h"
+
+namespace CIAO_Simple_ProcessColocation_Impl
+{
+ class PROCESSCOLOCATION_EXEC_Export ProcessColocation_exec_i
+ : public virtual ProcessColocation_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ ProcessColocation_exec_i (void);
+ virtual ~ProcessColocation_exec_i (void);
+
+ // Supported operations and attributes.
+
+ // Component attributes.
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual char *
+ process_name (void);
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual void
+ process_name (
+ const char * process_name);
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent.
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx);
+
+ virtual void configuration_complete (void);
+
+ virtual void ccm_activate (void);
+ virtual void ccm_passivate (void);
+ virtual void ccm_remove (void);
+
+ private:
+ ACE_CString process_name_;
+ ::Simple::CCM_ProcessColocation_Context_var context_;
+ };
+
+ extern "C" PROCESSCOLOCATION_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_Simple_ProcessColocation_Impl (void);
+}
+
+namespace CIAO_Simple_ProcessColocation_Impl
+{
+ class PROCESSCOLOCATION_EXEC_Export ProcessColocationHome_exec_i
+ : public virtual ProcessColocationHome_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ ProcessColocationHome_exec_i (void);
+
+ virtual ~ProcessColocationHome_exec_i (void);
+
+ // All operations and attributes.
+
+ // Factory operations.
+
+ // Finder operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create (void);
+ };
+
+ extern "C" PROCESSCOLOCATION_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_ProcessColocationHome_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute.idl b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute.idl
new file mode 100644
index 00000000000..7d41978b4de
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute.idl
@@ -0,0 +1,25 @@
+// $Id$
+
+#ifndef SIMPLE_ATTRIBUTE_IDL
+#define SIMPLE_ATTRIBUTE_IDL
+
+#include "Components.idl"
+
+module Simple
+{
+ component SimpleAttribute
+ {
+ attribute string str_attr;
+ attribute long long_attr;
+ attribute short short_attr;
+ };
+
+ home SimpleAttributeHome manages SimpleAttribute
+ {
+ attribute string str_attr;
+ attribute long long_attr;
+ attribute short short_attr;
+ };
+};
+
+#endif /*SIMPLE_ATTRIBUTE_IDL*/
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute.mpc b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute.mpc
new file mode 100644
index 00000000000..26dec1e85f5
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute.mpc
@@ -0,0 +1,108 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl SimpleAttribute"
+
+project(SimpleAttribute_idl_gen) : componentidldefaults {
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=SIMPLEATTRIBUTE_STUB_Export \
+ -Wb,stub_export_include=SimpleAttribute_stub_export.h \
+ -Wb,skel_export_macro=SIMPLEATTRIBUTE_SVNT_Export \
+ -Wb,skel_export_include=SimpleAttribute_svnt_export.h \
+ -Wb,exec_export_macro=SIMPLEATTRIBUTE_EXEC_Export \
+ -Wb,exec_export_include=SimpleAttribute_exec_export.h
+
+ IDL_Files {
+ SimpleAttribute.idl
+ }
+}
+
+project(SimpleAttribute_lem_gen) : ciaoidldefaults {
+ after += SimpleAttribute_idl_gen
+ custom_only = 1
+ idlflags += -Wb,export_macro=SIMPLEATTRIBUTE_EXEC_Export \
+ -Wb,export_include=SimpleAttribute_exec_export.h \
+ -SS
+
+ IDL_Files {
+ SimpleAttributeE.idl
+ }
+}
+
+project(SimpleAttribute_stub) : ccm_stub {
+ after += SimpleAttribute_idl_gen
+ libs +=
+
+ sharedname = SimpleAttribute_stub
+ dynamicflags = SIMPLEATTRIBUTE_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleAttributeC.cpp
+ }
+
+ Header_Files {
+ SimpleAttributeC.h
+ SimpleAttribute_stub_export.h
+ }
+
+ Inline_Files {
+ SimpleAttributeC.inl
+ }
+}
+
+project(SimpleAttribute_exec) : ciao_executor {
+ after += SimpleAttribute_lem_gen SimpleAttribute_stub
+ sharedname = SimpleAttribute_exec
+ libs += SimpleAttribute_stub
+
+ dynamicflags = SIMPLEATTRIBUTE_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleAttributeEC.cpp
+ SimpleAttribute_exec.cpp
+ }
+
+ Header_Files {
+ SimpleAttributeEC.h
+ SimpleAttribute_exec.h
+ SimpleAttribute_exec_export.h
+ }
+
+ Inline_Files {
+ SimpleAttributeEC.inl
+ }
+}
+
+
+project(SimpleAttribute_svnt) : ciao_servant {
+ after += SimpleAttribute_exec
+ sharedname = SimpleAttribute_svnt
+ libs += SimpleAttribute_exec \
+ SimpleAttribute_stub
+
+ dynamicflags = SIMPLEATTRIBUTE_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleAttributeS.cpp
+ SimpleAttribute_svnt.cpp
+ }
+
+ Header_Files {
+ SimpleAttributeS.h
+ SimpleAttribute_svnt.h
+ SimpleAttribute_svnt_export.h
+ }
+
+ Inline_Files {
+ SimpleAttributeS.inl
+ }
+}
+
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute_exec.cpp b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute_exec.cpp
new file mode 100644
index 00000000000..af03c6c96b7
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute_exec.cpp
@@ -0,0 +1,241 @@
+// $Id$
+
+#include "SimpleAttribute_exec.h"
+#include "ciao/Logger/Log_Macros.h"
+
+namespace CIAO_Simple_SimpleAttribute_Impl
+{
+ //==================================================================
+ // Component Executor Implementation Class: SimpleAttribute_exec_i
+ //==================================================================
+
+ SimpleAttribute_exec_i::SimpleAttribute_exec_i (void)
+ : str_ (""),
+ long_(-1),
+ short_(-1)
+ {
+ }
+
+ SimpleAttribute_exec_i::~SimpleAttribute_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ char *
+ SimpleAttribute_exec_i::str_attr ()
+ {
+ // Your code here.
+ return CORBA::string_dup (str_.c_str ());
+ }
+
+ void
+ SimpleAttribute_exec_i::str_attr (const char * str)
+ {
+ CIAO_TRACE ("SimpleAttribute_exec_i::str_attr");
+ // Your code here.
+ this->str_ = str;
+ }
+
+ ::CORBA::Long
+ SimpleAttribute_exec_i::long_attr ()
+ {
+ CIAO_TRACE ("SimpleAttribute_exec_i::long_attr");
+ // Your code here.
+ return long_;
+ }
+
+ void
+ SimpleAttribute_exec_i::long_attr (::CORBA::Long long_attr )
+ {
+ CIAO_TRACE ("SimpleAttribute_exec_i::long_attr");
+ // Your code here.
+ this->long_ = long_attr;
+ }
+
+ ::CORBA::Short
+ SimpleAttribute_exec_i::short_attr ()
+ {
+ // Your code here.
+ return short_;
+ }
+
+ void
+ SimpleAttribute_exec_i::short_attr (::CORBA::Short short_attr )
+ {
+ CIAO_TRACE ("SimpleAttribute_exec_i::short_attr");
+ // Your code here.
+ this->short_ = short_attr;
+ }
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ void
+ SimpleAttribute_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ this->context_ =
+ ::Simple::CCM_SimpleAttribute_Context::_narrow (ctx);
+
+ if (CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ SimpleAttribute_exec_i::configuration_complete ()
+ {
+ // Your code here.
+ }
+
+ void
+ SimpleAttribute_exec_i::ccm_activate ()
+ {
+ // Your code here.
+ if (this->str_ == "" ||
+ this->long_ == -1 ||
+ this->short_ == -1)
+ {
+ CIAO_ERROR ((LM_ERROR, "SimpleAttribute_exec_i::ccm_activate - "
+ "Error: Attribute values didin't initialize correctly!\n"));
+ }
+ else
+ {
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleAttribute_exec_i::ccm_activate - "
+ "Test passed! String attribute is %s\n",
+ this->str_.c_str ()));
+ }
+
+ }
+
+ void
+ SimpleAttribute_exec_i::ccm_passivate ()
+ {
+ // Your code here.
+ }
+
+ void
+ SimpleAttribute_exec_i::ccm_remove ()
+ {
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: SimpleAttributeHome_exec_i
+ //==================================================================
+
+ SimpleAttributeHome_exec_i::SimpleAttributeHome_exec_i (void)
+ : str_ (""),
+ long_(-1),
+ short_(-1)
+ {
+ }
+
+ SimpleAttributeHome_exec_i::~SimpleAttributeHome_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+
+ char *
+ SimpleAttributeHome_exec_i::str_attr ()
+ {
+ // Your code here.
+ return CORBA::string_dup (str_.c_str ());
+ }
+
+ void
+ SimpleAttributeHome_exec_i::str_attr (const char * str)
+ {
+ CIAO_TRACE ("SimpleAttributeHome_exec_i::str_attr");
+ // Your code here.
+ this->str_ = str;
+ }
+
+ ::CORBA::Long
+ SimpleAttributeHome_exec_i::long_attr ()
+ {
+ CIAO_TRACE ("SimpleAttributeHome_exec_i::long_attr");
+ // Your code here.
+ return long_;
+ }
+
+ void
+ SimpleAttributeHome_exec_i::long_attr (::CORBA::Long long_attr )
+ {
+ CIAO_TRACE ("SimpleAttributeHome_exec_i::long_attr");
+ // Your code here.
+ this->long_ = long_attr;
+ }
+
+ ::CORBA::Short
+ SimpleAttributeHome_exec_i::short_attr ()
+ {
+ // Your code here.
+ return short_;
+ }
+
+ void
+ SimpleAttributeHome_exec_i::short_attr (::CORBA::Short short_attr )
+ {
+ CIAO_TRACE ("SimpleAttributeHome_exec_i::short_attr");
+ // Your code here.
+ this->short_ = short_attr;
+ }
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ SimpleAttributeHome_exec_i::create ()
+ {
+ if (this->str_ == "" ||
+ this->long_ == -1 ||
+ this->short_ == -1)
+ {
+ CIAO_ERROR ((LM_ERROR, "SimpleAttribute_exec_i::ccm_activate - "
+ "Error: Attribute values didin't initialize correctly!\n"));
+ }
+ else
+ {
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleAttributeHome_exec_i::create - "
+ "Test passed! String attribute is %s\n",
+ this->str_.c_str ()));
+ }
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ SimpleAttribute_exec_i,
+ ::CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" SIMPLEATTRIBUTE_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleAttributeHome_Impl (void)
+ {
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ SimpleAttributeHome_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute_exec.h b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute_exec.h
new file mode 100644
index 00000000000..3a7b3eff867
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleAttribute_exec.h
@@ -0,0 +1,141 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_SIMPLEATTRIBUTE_EXEC_H
+#define CIAO_SIMPLEATTRIBUTE_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "SimpleAttributeEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "SimpleAttribute_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO_Simple_SimpleAttribute_Impl
+{
+ class SIMPLEATTRIBUTE_EXEC_Export SimpleAttribute_exec_i
+ : public virtual SimpleAttribute_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleAttribute_exec_i (void);
+ virtual ~SimpleAttribute_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ virtual char *
+ str_attr ();
+
+ virtual void
+ str_attr (const char * str_attr);
+
+ virtual ::CORBA::Long
+ long_attr ();
+
+ virtual void
+ long_attr (::CORBA::Long long_attr);
+
+ virtual ::CORBA::Short
+ short_attr ();
+
+ virtual void
+ short_attr (::CORBA::Short short_attr);
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx);
+
+ virtual void configuration_complete ();
+
+ virtual void ccm_activate ();
+
+ virtual void ccm_passivate ();
+
+ virtual void ccm_remove ();
+
+ private:
+ ::Simple::CCM_SimpleAttribute_Context_var context_;
+ ACE_CString str_;
+ ::CORBA::Long long_;
+ ::CORBA::Short short_;
+ };
+
+ class SIMPLEATTRIBUTE_EXEC_Export SimpleAttributeHome_exec_i
+ : public virtual SimpleAttributeHome_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleAttributeHome_exec_i (void);
+ virtual ~SimpleAttributeHome_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ virtual char *
+ str_attr ();
+
+ virtual void
+ str_attr (const char * str_attr);
+
+ virtual ::CORBA::Long
+ long_attr ();
+
+ virtual void
+ long_attr (::CORBA::Long long_attr);
+
+ virtual ::CORBA::Short
+ short_attr ();
+
+ virtual void
+ short_attr (::CORBA::Short short_attr);
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ();
+ private:
+ ACE_CString str_;
+ ::CORBA::Long long_;
+ ::CORBA::Short short_;
+ };
+
+ extern "C" SIMPLEATTRIBUTE_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleAttributeHome_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_SIMPLEATTRIBUTE_EXEC_H */
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleCommon.idl b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleCommon.idl
new file mode 100644
index 00000000000..6f943e9d1d5
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleCommon.idl
@@ -0,0 +1,21 @@
+// $Id$
+
+#ifndef SIMPLE_COMMON_IDL
+#define SIMPLE_COMMON_IDL
+
+#include "Components.idl"
+
+module Simple
+{
+ interface Trigger
+ {
+ void hello (in string hello);
+ };
+
+ eventtype Hello
+ {
+ public string hello_;
+ };
+};
+
+#endif /*SIMPLE_COMMON_IDL*/
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleCommon.mpc b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleCommon.mpc
new file mode 100644
index 00000000000..ff4417ad9a8
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleCommon.mpc
@@ -0,0 +1,79 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl SimpleCommon"
+
+project(SimpleCommon_idl_gen) : ciaoidldefaults, anytypecode {
+ custom_only = 1
+ idlflags += -Gxhst -Gxhsk \
+ -Wb,stub_export_macro=SIMPLECOMMON_STUB_Export \
+ -Wb,stub_export_include=SimpleCommon_stub_export.h \
+ -Wb,skel_export_macro=SIMPLECOMMON_SKEL_Export \
+ -Wb,skel_export_include=SimpleCommon_skel_export.h -Glem
+
+ IDL_Files {
+ SimpleCommon.idl
+ }
+}
+
+project(SimpleCommon_lem_gen) : ciaoidldefaults {
+ custom_only = 1
+ idlflags += -Gxhst \
+ -Wb,export_macro=SIMPLECOMMON_STUB_Export \
+ -Wb,export_include=SimpleCommon_stub_export.h \
+ -SS
+ after += SimpleCommon_idl_gen
+
+ IDL_Files {
+ SimpleCommonE.idl
+ }
+}
+
+project(SimpleCommon_stub) : ccm_stub {
+ after += SimpleCommon_lem_gen
+ libs +=
+
+ sharedname = SimpleCommon_stub
+ dynamicflags = SIMPLECOMMON_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleCommonC.cpp
+ SimpleCommonEC.cpp
+ }
+
+ Header_Files {
+ SimpleCommonC.h
+ SimpleCommon_stub_export.h
+ }
+
+ Inline_Files {
+ SimpleCommonC.inl
+ }
+}
+
+project(SimpleCommon_skel) : ccm_svnt {
+ after += SimpleCommon_stub
+ sharedname = SimpleCommon_skel
+ libs += SimpleCommon_stub
+
+ dynamicflags = SIMPLECOMMON_SKEL_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleCommonS.cpp
+ }
+
+ Header_Files {
+ SimpleCommonS.h
+ SimpleCommon_skel_export.h
+ }
+
+ Inline_Files {
+ SimpleCommonS.inl
+ }
+}
+
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer.idl b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer.idl
new file mode 100644
index 00000000000..3895eacda3c
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer.idl
@@ -0,0 +1,21 @@
+// $Id$
+
+#ifndef SIMPLE_CONSUMER_IDL
+#define SIMPLE_CONSUMER_IDL
+
+#include "SimpleCommon.idl"
+#include <Components.idl>
+
+module Simple
+{
+ component SimpleConsumer
+ {
+ consumes Hello hello_;
+ };
+
+ home SimpleConsumerHome manages SimpleConsumer
+ {
+ };
+};
+
+#endif /*SIMPLE_CONSUMER_IDL*/
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer.mpc b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer.mpc
new file mode 100644
index 00000000000..c63d06d2b98
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer.mpc
@@ -0,0 +1,110 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -p SimpleCommon SimpleConsumer"
+
+project(SimpleCommon_SimpleConsumer_idl_gen) : componentidldefaults {
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=SIMPLECONSUMER_STUB_Export \
+ -Wb,stub_export_include=SimpleConsumer_stub_export.h \
+ -Wb,skel_export_macro=SIMPLECONSUMER_SVNT_Export \
+ -Wb,skel_export_include=SimpleConsumer_svnt_export.h \
+ -Wb,exec_export_macro=SIMPLECONSUMER_EXEC_Export \
+ -Wb,exec_export_include=SimpleConsumer_exec_export.h \
+
+ IDL_Files {
+ SimpleConsumer.idl
+ }
+}
+
+project(SimpleCommon_SimpleConsumer_lem_gen) : ciaoidldefaults {
+ after += SimpleCommon_SimpleConsumer_idl_gen
+ custom_only = 1
+ idlflags += -Wb,export_macro=SIMPLECONSUMER_EXEC_Export \
+ -Wb,export_include=SimpleConsumer_exec_export.h \
+ -SS
+
+ IDL_Files {
+ SimpleConsumerE.idl
+ }
+}
+
+project(SimpleCommon_SimpleConsumer_stub) : ccm_stub {
+ after += SimpleCommon_SimpleConsumer_idl_gen SimpleCommon_stub
+ libs += SimpleCommon_stub
+
+ sharedname = SimpleConsumer_stub
+ dynamicflags = SIMPLECONSUMER_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleConsumerC.cpp
+ }
+
+ Header_Files {
+ SimpleConsumerC.h
+ SimpleConsumer_stub_export.h
+ }
+
+ Inline_Files {
+ SimpleConsumerC.inl
+ }
+}
+
+project(SimpleCommon_SimpleConsumer_exec) : ciao_executor {
+ after += SimpleCommon_SimpleConsumer_lem_gen SimpleCommon_SimpleConsumer_stub
+ sharedname = SimpleConsumer_exec
+ libs += SimpleConsumer_stub SimpleCommon_stub
+
+ dynamicflags = SIMPLECONSUMER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleConsumerEC.cpp
+ SimpleConsumer_exec.cpp
+ }
+
+ Header_Files {
+ SimpleConsumerEC.h
+ SimpleConsumer_exec.h
+ SimpleConsumer_exec_export.h
+ }
+
+ Inline_Files {
+ SimpleConsumerEC.inl
+ }
+}
+
+
+project(SimpleCommon_SimpleConsumer_svnt) : ciao_servant {
+ after += SimpleCommon_skel SimpleCommon_SimpleConsumer_exec
+ sharedname = SimpleConsumer_svnt
+ libs += SimpleConsumer_exec \
+ SimpleConsumer_stub \
+ SimpleCommon_skel \
+ SimpleCommon_stub
+
+ dynamicflags = SIMPLECONSUMER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleConsumerS.cpp
+ SimpleConsumer_svnt.cpp
+ }
+
+ Header_Files {
+ SimpleConsumerS.h
+ SimpleConsumer_svnt.h
+ SimpleConsumer_svnt_export.h
+ }
+
+ Inline_Files {
+ SimpleConsumerS.inl
+ }
+}
+
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.cpp b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.cpp
new file mode 100644
index 00000000000..35be8e8a717
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.cpp
@@ -0,0 +1,138 @@
+// $Id$
+
+#include "SimpleConsumer_exec.h"
+#include "ciao/Logger/Log_Macros.h"
+
+namespace CIAO_Simple_SimpleConsumer_Impl
+{
+ //==================================================================
+ // Component Executor Implementation Class: SimpleConsumer_exec_i
+ //==================================================================
+
+ SimpleConsumer_exec_i::SimpleConsumer_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleConsumer_exec_i::SimpleConsumer_exec_i (void)");
+ }
+
+ SimpleConsumer_exec_i::~SimpleConsumer_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleConsumer_exec_i::~SimpleConsumer_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ void
+ SimpleConsumer_exec_i::push_hello_ (
+ ::Simple::Hello * ev )
+ {
+ CIAO_TRACE ("SimpleConsumer_exec_i::push_hello_ ()");
+ // Your code here.
+
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleConsumer_exec_i::push_hello_ - "
+ "Received hello event, value is %s\n", ev->hello_ ()));
+ }
+
+ // Operations from Components::SessionComponent
+
+ void
+ SimpleConsumer_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ CIAO_TRACE ("SimpleConsumer_exec_i::set_session_context ()");
+
+ this->context_ =
+ ::Simple::CCM_SimpleConsumer_Context::_narrow (ctx);
+
+ if (CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ SimpleConsumer_exec_i::configuration_complete ()
+ {
+ CIAO_TRACE ("SimpleConsumer_exec_i::configuration_complete ()");
+ // Your code here.
+ }
+
+ void
+ SimpleConsumer_exec_i::ccm_activate ()
+ {
+ CIAO_TRACE ("SimpleConsumer_exec_i::ccm_activate ()");
+ // Your code here.
+ }
+
+ void
+ SimpleConsumer_exec_i::ccm_passivate ()
+ {
+ CIAO_TRACE ("SimpleConsumer_exec_i::ccm_passivate ()");
+ // Your code here.
+ }
+
+ void
+ SimpleConsumer_exec_i::ccm_remove ()
+ {
+ CIAO_TRACE ("SimpleConsumer_exec_i::ccm_remove ()");
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: SimpleConsumerHome_exec_i
+ //==================================================================
+
+ SimpleConsumerHome_exec_i::SimpleConsumerHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleConsumerHome_exec_i::SimpleConsumerHome_exec_i (void)");
+ }
+
+ SimpleConsumerHome_exec_i::~SimpleConsumerHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleConsumerHome_exec_i::~SimpleConsumerHome_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ SimpleConsumerHome_exec_i::create ()
+ {
+ CIAO_TRACE ("SimpleConsumerHome_exec_i::create ()");
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ SimpleConsumer_exec_i,
+ ::CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" SIMPLECONSUMER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleConsumerHome_Impl (void)
+ {
+ CIAO_TRACE ("create_Simple_SimpleConsumerHome_Impl (void)");
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ SimpleConsumerHome_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.h b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.h
new file mode 100644
index 00000000000..fa2e39d384a
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.h
@@ -0,0 +1,102 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_SIMPLECONSUMER_EXEC_H
+#define CIAO_SIMPLECONSUMER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "SimpleConsumerEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "SimpleConsumer_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO_Simple_SimpleConsumer_Impl
+{
+ class SIMPLECONSUMER_EXEC_Export SimpleConsumer_exec_i
+ : public virtual SimpleConsumer_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleConsumer_exec_i (void);
+ virtual ~SimpleConsumer_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ virtual void
+ push_hello_ (
+ ::Simple::Hello *ev);
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx);
+
+ virtual void configuration_complete ();
+
+ virtual void ccm_activate ();
+
+ virtual void ccm_passivate ();
+
+ virtual void ccm_remove ();
+
+ private:
+ ::Simple::CCM_SimpleConsumer_Context_var context_;
+ };
+
+ class SIMPLECONSUMER_EXEC_Export SimpleConsumerHome_exec_i
+ : public virtual SimpleConsumerHome_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleConsumerHome_exec_i (void);
+ virtual ~SimpleConsumerHome_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ();
+ };
+
+ extern "C" SIMPLECONSUMER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleConsumerHome_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_SIMPLECONSUMER_EXEC_H */
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter.idl b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter.idl
new file mode 100644
index 00000000000..37431ca8134
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter.idl
@@ -0,0 +1,21 @@
+// $Id$
+
+#ifndef SIMPLE_EMITTER_IDL
+#define SIMPLE_EMITTER_IDL
+
+#include "SimpleCommon.idl"
+#include "Components.idl"
+
+module Simple
+{
+ component SimpleEmitter
+ {
+ emits Hello hello;
+ };
+
+ home SimpleEmitterHome manages SimpleEmitter
+ {
+ };
+};
+
+#endif /*SIMPLE_EMITTER_IDL*/
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter.mpc b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter.mpc
new file mode 100644
index 00000000000..62f942a8498
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter.mpc
@@ -0,0 +1,110 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -p SimpleCommon SimpleEmitter"
+
+project(SimpleCommon_SimpleEmitter_idl_gen) : componentidldefaults {
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=SIMPLEEMITTER_STUB_Export \
+ -Wb,stub_export_include=SimpleEmitter_stub_export.h \
+ -Wb,skel_export_macro=SIMPLEEMITTER_SVNT_Export \
+ -Wb,skel_export_include=SimpleEmitter_svnt_export.h \
+ -Wb,exec_export_macro=SIMPLEEMITTER_EXEC_Export \
+ -Wb,exec_export_include=SimpleEmitter_exec_export.h \
+
+ IDL_Files {
+ SimpleEmitter.idl
+ }
+}
+
+project(SimpleCommon_SimpleEmitter_lem_gen) : ciaoidldefaults {
+ after += SimpleCommon_SimpleEmitter_idl_gen
+ custom_only = 1
+ idlflags += -Wb,export_macro=SIMPLEEMITTER_EXEC_Export \
+ -Wb,export_include=SimpleEmitter_exec_export.h \
+ -SS
+
+ IDL_Files {
+ SimpleEmitterE.idl
+ }
+}
+
+project(SimpleCommon_SimpleEmitter_stub) : ccm_stub {
+ after += SimpleCommon_SimpleEmitter_idl_gen SimpleCommon_stub
+ libs += SimpleCommon_stub
+
+ sharedname = SimpleEmitter_stub
+ dynamicflags = SIMPLEEMITTER_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleEmitterC.cpp
+ }
+
+ Header_Files {
+ SimpleEmitterC.h
+ SimpleEmitter_stub_export.h
+ }
+
+ Inline_Files {
+ SimpleEmitterC.inl
+ }
+}
+
+project(SimpleCommon_SimpleEmitter_exec) : ciao_executor {
+ after += SimpleCommon_SimpleEmitter_lem_gen SimpleCommon_SimpleEmitter_stub
+ sharedname = SimpleEmitter_exec
+ libs += SimpleEmitter_stub SimpleCommon_stub
+
+ dynamicflags = SIMPLEEMITTER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleEmitterEC.cpp
+ SimpleEmitter_exec.cpp
+ }
+
+ Header_Files {
+ SimpleEmitterEC.h
+ SimpleEmitter_exec.h
+ SimpleEmitter_exec_export.h
+ }
+
+ Inline_Files {
+ SimpleEmitterEC.inl
+ }
+}
+
+
+project(SimpleCommon_SimpleEmitter_svnt) : ciao_servant {
+ after += SimpleCommon_skel SimpleCommon_SimpleEmitter_exec
+ sharedname = SimpleEmitter_svnt
+ libs += SimpleEmitter_exec \
+ SimpleEmitter_stub \
+ SimpleCommon_skel \
+ SimpleCommon_stub
+
+ dynamicflags = SIMPLEEMITTER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleEmitterS.cpp
+ SimpleEmitter_svnt.cpp
+ }
+
+ Header_Files {
+ SimpleEmitterS.h
+ SimpleEmitter_svnt.h
+ SimpleEmitter_svnt_export.h
+ }
+
+ Inline_Files {
+ SimpleEmitterS.inl
+ }
+}
+
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter_exec.cpp b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter_exec.cpp
new file mode 100644
index 00000000000..c21ea4e97fb
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter_exec.cpp
@@ -0,0 +1,131 @@
+// $Id$
+
+#include "SimpleEmitter_exec.h"
+#include "ciao/Logger/Log_Macros.h"
+
+namespace CIAO_Simple_SimpleEmitter_Impl
+{
+ //==================================================================
+ // Component Executor Implementation Class: SimpleEmitter_exec_i
+ //==================================================================
+
+ SimpleEmitter_exec_i::SimpleEmitter_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleEmitter_exec_i::SimpleEmitter_exec_i (void)");
+ }
+
+ SimpleEmitter_exec_i::~SimpleEmitter_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleEmitter_exec_i::~SimpleEmitter_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ void
+ SimpleEmitter_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ CIAO_TRACE ("SimpleEmitter_exec_i::set_session_context ()");
+ this->context_ =
+ ::Simple::CCM_SimpleEmitter_Context::_narrow (ctx);
+
+ if (CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ SimpleEmitter_exec_i::configuration_complete ()
+ {
+ CIAO_TRACE ("SimpleEmitter_exec_i::configuration_complete ()");
+ // Your code here.
+ }
+
+ void
+ SimpleEmitter_exec_i::ccm_activate ()
+ {
+ CIAO_TRACE ("SimpleEmitter_exec_i::ccm_activate ()");
+ // Your code here.
+
+ ::Simple::Hello_var hello = new OBV_Simple::Hello ("Test successful, hello from SimpleEmitter_exec_i");
+
+ this->context_->push_hello (hello._retn ());
+ }
+
+ void
+ SimpleEmitter_exec_i::ccm_passivate ()
+ {
+ CIAO_TRACE ("SimpleEmitter_exec_i::ccm_passivate ()");
+ // Your code here.
+ }
+
+ void
+ SimpleEmitter_exec_i::ccm_remove ()
+ {
+ CIAO_TRACE ("SimpleEmitter_exec_i::ccm_remove ()");
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: SimpleEmitterHome_exec_i
+ //==================================================================
+
+ SimpleEmitterHome_exec_i::SimpleEmitterHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleEmitterHome_exec_i::SimpleEmitterHome_exec_i (void)");
+ }
+
+ SimpleEmitterHome_exec_i::~SimpleEmitterHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleEmitterHome_exec_i::~SimpleEmitterHome_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ SimpleEmitterHome_exec_i::create ()
+ {
+ CIAO_TRACE ("SimpleEmitterHome_exec_i::create ()");
+
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ SimpleEmitter_exec_i,
+ ::CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" SIMPLEEMITTER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleEmitterHome_Impl (void)
+ {
+ CIAO_TRACE ("create_Simple_SimpleEmitterHome_Impl (void)");
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ SimpleEmitterHome_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter_exec.h b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter_exec.h
new file mode 100644
index 00000000000..32bf579f4c7
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleEmitter_exec.h
@@ -0,0 +1,98 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_SIMPLEEMITTER_EXEC_H
+#define CIAO_SIMPLEEMITTER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "SimpleEmitterEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "SimpleEmitter_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO_Simple_SimpleEmitter_Impl
+{
+ class SIMPLEEMITTER_EXEC_Export SimpleEmitter_exec_i
+ : public virtual SimpleEmitter_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleEmitter_exec_i (void);
+ virtual ~SimpleEmitter_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx);
+
+ virtual void configuration_complete ();
+
+ virtual void ccm_activate ();
+
+ virtual void ccm_passivate ();
+
+ virtual void ccm_remove ();
+
+ private:
+ ::Simple::CCM_SimpleEmitter_Context_var context_;
+ };
+
+ class SIMPLEEMITTER_EXEC_Export SimpleEmitterHome_exec_i
+ : public virtual SimpleEmitterHome_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleEmitterHome_exec_i (void);
+ virtual ~SimpleEmitterHome_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ();
+ };
+
+ extern "C" SIMPLEEMITTER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleEmitterHome_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_SIMPLEEMITTER_EXEC_H */
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser.idl b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser.idl
new file mode 100644
index 00000000000..60aec58f9af
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser.idl
@@ -0,0 +1,21 @@
+// $Id$
+
+#ifndef SIMPLE_MULTIPLEUSER_IDL
+#define SIMPLE_MULTIPLEUSER_IDL
+
+#include "SimpleCommon.idl"
+#include "Components.idl"
+
+module Simple
+{
+ component SimpleMultipleUser
+ {
+ uses multiple Trigger trig;
+ };
+
+ home SimpleMultipleUserHome manages SimpleMultipleUser
+ {
+ };
+};
+
+#endif /*SIMPLE_MULTIPLEUSER_IDL*/
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser.mpc b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser.mpc
new file mode 100644
index 00000000000..c35430137db
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser.mpc
@@ -0,0 +1,110 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -p SimpleCommon SimpleMultipleUser"
+
+project(SimpleCom_SimpleMulUser_idl_gen) : componentidldefaults {
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=SIMPLEMULTIPLEUSER_STUB_Export \
+ -Wb,stub_export_include=SimpleMultipleUser_stub_export.h \
+ -Wb,skel_export_macro=SIMPLEMULTIPLEUSER_SVNT_Export \
+ -Wb,skel_export_include=SimpleMultipleUser_svnt_export.h \
+ -Wb,exec_export_macro=SIMPLEMULTIPLEUSER_EXEC_Export \
+ -Wb,exec_export_include=SimpleMultipleUser_exec_export.h \
+
+ IDL_Files {
+ SimpleMultipleUser.idl
+ }
+}
+
+project(SimpleCom_SimpleMulUser_lem_gen) : ciaoidldefaults {
+ after += SimpleCom_SimpleMulUser_idl_gen
+ custom_only = 1
+ idlflags += -Wb,export_macro=SIMPLEMULTIPLEUSER_EXEC_Export \
+ -Wb,export_include=SimpleMultipleUser_exec_export.h \
+ -SS
+
+ IDL_Files {
+ SimpleMultipleUserE.idl
+ }
+}
+
+project(SimpleCommon_SimpleMultipleUser_stub) : ccm_stub {
+ after += SimpleCommon_stub SimpleCom_SimpleMulUser_idl_gen
+ libs += SimpleCommon_stub
+
+ sharedname = SimpleMultipleUser_stub
+ dynamicflags = SIMPLEMULTIPLEUSER_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleMultipleUserC.cpp
+ }
+
+ Header_Files {
+ SimpleMultipleUserC.h
+ SimpleMultipleUser_stub_export.h
+ }
+
+ Inline_Files {
+ SimpleMultipleUserC.inl
+ }
+}
+
+project(SimpleCommon_SimpleMultipleUser_exec) : ciao_executor {
+ after += SimpleCom_SimpleMulUser_lem_gen SimpleCommon_SimpleMultipleUser_stub
+ sharedname = SimpleMultipleUser_exec
+ libs += SimpleMultipleUser_stub SimpleCommon_stub
+
+ dynamicflags = SIMPLEMULTIPLEUSER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleMultipleUserEC.cpp
+ SimpleMultipleUser_exec.cpp
+ }
+
+ Header_Files {
+ SimpleMultipleUserEC.h
+ SimpleMultipleUser_exec.h
+ SimpleMultipleUser_exec_export.h
+ }
+
+ Inline_Files {
+ SimpleMultipleUserEC.inl
+ }
+}
+
+
+project(SimpleCommon_SimpleMultipleUser_svnt) : ciao_servant {
+ after += SimpleCommon_skel SimpleCommon_SimpleMultipleUser_exec
+ sharedname = SimpleMultipleUser_svnt
+ libs += SimpleMultipleUser_exec \
+ SimpleMultipleUser_stub \
+ SimpleCommon_skel \
+ SimpleCommon_stub
+
+ dynamicflags = SIMPLEMULTIPLEUSER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleMultipleUserS.cpp
+ SimpleMultipleUser_svnt.cpp
+ }
+
+ Header_Files {
+ SimpleMultipleUserS.h
+ SimpleMultipleUser_svnt.h
+ SimpleMultipleUser_svnt_export.h
+ }
+
+ Inline_Files {
+ SimpleMultipleUserS.inl
+ }
+}
+
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser_exec.cpp b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser_exec.cpp
new file mode 100644
index 00000000000..071736aa054
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser_exec.cpp
@@ -0,0 +1,158 @@
+// $Id$
+
+#include "SimpleMultipleUser_exec.h"
+#include "ciao/Logger/Log_Macros.h"
+
+namespace CIAO_Simple_SimpleMultipleUser_Impl
+{
+ //==================================================================
+ // Component Executor Implementation Class: SimpleMultipleUser_exec_i
+ //==================================================================
+
+ SimpleMultipleUser_exec_i::SimpleMultipleUser_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleMultipleUser_exec_i::SimpleMultipleUser_exec_i (void)");
+ }
+
+ SimpleMultipleUser_exec_i::~SimpleMultipleUser_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleMultipleUser_exec_i::~SimpleMultipleUser_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ void
+ SimpleMultipleUser_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ CIAO_TRACE ("SimpleMultipleUser_exec_i::set_session_context ()");
+ this->context_ =
+ ::Simple::CCM_SimpleMultipleUser_Context::_narrow (ctx);
+
+ if (CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ SimpleMultipleUser_exec_i::configuration_complete ()
+ {
+ CIAO_TRACE ("SimpleMultipleUser_exec_i::configuration_complete ()");
+ // Your code here.
+ }
+
+ void
+ SimpleMultipleUser_exec_i::ccm_activate ()
+ {
+ CIAO_TRACE ("SimpleMultipleUser_exec_i::ccm_activate ()");
+
+ ::Simple::SimpleMultipleUser::trigConnections_var conns =
+ this->context_->get_connections_trig ();
+
+ CIAO_DEBUG ((LM_NOTICE, "SimpleMultipleUser_exec_i::ccm_activate - "
+ "Got %u connections to my receptacle\n",
+ conns->length ()));
+
+ for (CORBA::ULong i = 0; i < conns->length (); ++i)
+ {
+ try
+ {
+ CIAO_DEBUG ((LM_NOTICE, "SimpleMultipleUser_exec_i::ccm_activate - "
+ "Invoking %u'th connection\n", i));
+ ::Simple::Trigger_var trig (conns[i].objref);
+
+ trig->hello ("Test succeeded, hello from SimpleMultipleUser_exec");
+ }
+ catch (const CORBA::Exception &ex)
+ {
+ CIAO_ERROR ((LM_ERROR, "SimpleMultipleUser_exec_i::ccm_activate () - "
+ "Caught CORBA exception on %u'th reference, details follow:\n",
+ i));
+ ex._tao_print_exception ("SimpleUser_exec_i::ccm_activate () - ");
+ }
+ catch (...)
+ {
+ CIAO_ERROR ((LM_ERROR, "SimpleMultipleUser_exec_i::ccm_activate () - "
+ "Error: Caught unknown exception whilst invoking reference for port trig.\n"));
+ }
+ }
+
+ // Your code here.
+ }
+
+ void
+ SimpleMultipleUser_exec_i::ccm_passivate ()
+ {
+ CIAO_TRACE ("SimpleMultipleUser_exec_i::ccm_passivate ()");
+ // Your code here.
+ }
+
+ void
+ SimpleMultipleUser_exec_i::ccm_remove ()
+ {
+ CIAO_TRACE ("SimpleMultipleUser_exec_i::ccm_remove ()");
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: SimpleMultipleUserHome_exec_i
+ //==================================================================
+
+ SimpleMultipleUserHome_exec_i::SimpleMultipleUserHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleMultipleUserHome_exec_i::SimpleMultipleUserHome_exec_i (void)");
+ }
+
+ SimpleMultipleUserHome_exec_i::~SimpleMultipleUserHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleMultipleUserHome_exec_i::~SimpleMultipleUserHome_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ SimpleMultipleUserHome_exec_i::create ()
+ {
+ CIAO_TRACE ("SimpleMultipleUserHome_exec_i::create ()");
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ SimpleMultipleUser_exec_i,
+ ::CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" SIMPLEMULTIPLEUSER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleMultipleUserHome_Impl (void)
+ {
+ CIAO_TRACE ("create_Simple_SimpleMultipleUserHome_Impl (void)");
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ SimpleMultipleUserHome_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser_exec.h b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser_exec.h
new file mode 100644
index 00000000000..9313dd2c074
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleMultipleUser_exec.h
@@ -0,0 +1,98 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_SIMPLEMULTIPLEUSER_EXEC_H
+#define CIAO_SIMPLEMULTIPLEUSER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "SimpleMultipleUserEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "SimpleMultipleUser_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO_Simple_SimpleMultipleUser_Impl
+{
+ class SIMPLEMULTIPLEUSER_EXEC_Export SimpleMultipleUser_exec_i
+ : public virtual SimpleMultipleUser_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleMultipleUser_exec_i (void);
+ virtual ~SimpleMultipleUser_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx);
+
+ virtual void configuration_complete ();
+
+ virtual void ccm_activate ();
+
+ virtual void ccm_passivate ();
+
+ virtual void ccm_remove ();
+
+ private:
+ ::Simple::CCM_SimpleMultipleUser_Context_var context_;
+ };
+
+ class SIMPLEMULTIPLEUSER_EXEC_Export SimpleMultipleUserHome_exec_i
+ : public virtual SimpleMultipleUserHome_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleMultipleUserHome_exec_i (void);
+ virtual ~SimpleMultipleUserHome_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ();
+ };
+
+ extern "C" SIMPLEMULTIPLEUSER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleMultipleUserHome_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_SIMPLEMULTIPLEUSER_EXEC_H */
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider.idl b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider.idl
new file mode 100644
index 00000000000..b7cbae53e70
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider.idl
@@ -0,0 +1,22 @@
+// $Id$
+
+#ifndef SIMPLE_PROVIDER_IDL
+#define SIMPLE_PROVIDER_IDL
+
+#include "SimpleCommon.idl"
+#include "SimpleCommonE.idl"
+#include "Components.idl"
+
+module Simple
+{
+ component SimpleNilFacetProvider
+ {
+ provides Trigger trig;
+ };
+
+ home SimpleNilFacetProviderHome manages SimpleNilFacetProvider
+ {
+ };
+};
+
+#endif /*SIMPLE_PROVIDER_IDL*/
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider.mpc b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider.mpc
new file mode 100644
index 00000000000..6862defa599
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider.mpc
@@ -0,0 +1,112 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -p SimpleCommon SimpleNilFacetProvider"
+
+project(SimpleCommon_SNFP_idl_gen) : componentidldefaults {
+ after += SimpleCommon_idl_gen
+ custom_only = 1
+ idlflags += \
+ -Wb,stub_export_macro=SIMPLENILFACETPROVIDER_STUB_Export \
+ -Wb,stub_export_include=SimpleNilFacetProvider_stub_export.h \
+ -Wb,skel_export_macro=SIMPLENILFACETPROVIDER_SVNT_Export \
+ -Wb,skel_export_include=SimpleNilFacetProvider_svnt_export.h \
+ -Wb,exec_export_macro=SIMPLENILFACETPROVIDER_EXEC_Export \
+ -Wb,exec_export_include=SimpleNilFacetProvider_exec_export.h
+
+ IDL_Files {
+ SimpleNilFacetProvider.idl
+ }
+}
+
+project(SimpleCommon_SNFP_lem_gen) : ciaoidldefaults {
+ after += SimpleCommon_SNFP_idl_gen SimpleCommon_idl_gen
+ custom_only = 1
+ idlflags += -Wb,export_macro=SIMPLENILFACETPROVIDER_EXEC_Export \
+ -Wb,export_include=SimpleNilFacetProvider_exec_export.h \
+ -SS
+
+ IDL_Files {
+ SimpleNilFacetProviderE.idl
+ }
+}
+
+project(SimpleCommon_SNFP_stub) : ccm_stub {
+ after += SimpleCommon_SNFP_idl_gen SimpleCommon_stub
+ libs += SimpleCommon_stub
+
+ sharedname = SimpleNilFacetProvider_stub
+ dynamicflags = SIMPLENILFACETPROVIDER_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleNilFacetProviderC.cpp
+ }
+
+ Header_Files {
+ SimpleNilFacetProviderC.h
+ SimpleNilFacetProvider_stub_export.h
+ }
+
+ Inline_Files {
+ SimpleNilFacetProviderC.inl
+ }
+}
+
+project(SimpleCommon_SNFP_exec) : ciao_executor {
+ after += SimpleCommon_SNFP_lem_gen SimpleCommon_SNFP_stub
+ sharedname = SimpleNilFacetProvider_exec
+ libs += SimpleNilFacetProvider_stub SimpleCommon_stub
+
+ dynamicflags = SIMPLENILFACETPROVIDER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleNilFacetProviderEC.cpp
+ SimpleNilFacetProvider_exec.cpp
+ }
+
+ Header_Files {
+ SimpleNilFacetProviderEC.h
+ SimpleNilFacetProvider_exec.h
+ SimpleNilFacetProvider_exec_export.h
+ }
+
+ Inline_Files {
+ SimpleNilFacetProviderEC.inl
+ }
+}
+
+
+project(SimpleCommon_SNFP_svnt) : ciao_servant {
+ after += SimpleCommon_skel SimpleCommon_SNFP_exec
+ sharedname = SimpleNilFacetProvider_svnt
+ libs += SimpleNilFacetProvider_exec \
+ SimpleNilFacetProvider_stub \
+ SimpleCommon_skel \
+ SimpleCommon_stub
+
+ dynamicflags = SIMPLENILFACETPROVIDER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleNilFacetProviderS.cpp
+ SimpleNilFacetProvider_svnt.cpp
+ }
+
+ Header_Files {
+ SimpleNilFacetProviderS.h
+ SimpleNilFacetProvider_svnt.h
+ SimpleNilFacetProvider_svnt_export.h
+ }
+
+ Inline_Files {
+ SimpleNilFacetProviderS.inl
+ }
+}
+
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider_exec.cpp b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider_exec.cpp
new file mode 100644
index 00000000000..a2fbd01cf94
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider_exec.cpp
@@ -0,0 +1,160 @@
+// $Id$
+
+#include "SimpleNilFacetProvider_exec.h"
+#include "ciao/Logger/Log_Macros.h"
+
+namespace CIAO_Simple_SimpleNilFacetProvider_Impl
+{
+ //==================================================================
+ // Facet Executor Implementation Class: Trigger_exec_i
+ //==================================================================
+
+ Trigger_exec_i::Trigger_exec_i (void)
+ {
+ CIAO_TRACE ("Trigger_exec_i::Trigger_exec_i (void)");
+ }
+
+ Trigger_exec_i::~Trigger_exec_i (void)
+ {
+ CIAO_TRACE ("Trigger_exec_i::~Trigger_exec_i (void)");
+ }
+
+ // Operations from ::Simple::Trigger
+
+ void
+ Trigger_exec_i::hello (
+ const char * hello )
+ {
+ CIAO_TRACE ("Trigger_exec_i::hello ()");
+ // Your code here.
+ CIAO_DEBUG ((LM_EMERGENCY, "Trigger_exec_i::hello - "
+ "Got the following information from trig port: %C\n",
+ hello));
+ }
+
+ //==================================================================
+ // Component Executor Implementation Class: SimpleNilFacetProvider_exec_i
+ //==================================================================
+
+ SimpleNilFacetProvider_exec_i::SimpleNilFacetProvider_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleNilFacetProvider_exec_i::SimpleNilFacetProvider_exec_i (void)");
+ }
+
+ SimpleNilFacetProvider_exec_i::~SimpleNilFacetProvider_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleNilFacetProvider_exec_i::~SimpleNilFacetProvider_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ ::Simple::CCM_Trigger_ptr
+ SimpleNilFacetProvider_exec_i::get_trig ()
+ {
+ CIAO_TRACE ("SimpleNilFacetProvider_exec_i::get_trig ()");
+ return ::Simple::CCM_Trigger::_nil ();
+ }
+
+ // Operations from Components::SessionComponent
+
+ void
+ SimpleNilFacetProvider_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ CIAO_TRACE ("SimpleNilFacetProvider_exec_i::set_session_context ()");
+ this->context_ =
+ ::Simple::CCM_SimpleNilFacetProvider_Context::_narrow (ctx);
+
+ if (CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ SimpleNilFacetProvider_exec_i::configuration_complete ()
+ {
+ CIAO_TRACE ("SimpleNilFacetProvider_exec_i::configuration_complete ()");
+ // Your code here.
+ }
+
+ void
+ SimpleNilFacetProvider_exec_i::ccm_activate ()
+ {
+ CIAO_TRACE ("SimpleNilFacetProvider_exec_i::ccm_activate ()");
+ // Your code here.
+ }
+
+ void
+ SimpleNilFacetProvider_exec_i::ccm_passivate ()
+ {
+ CIAO_TRACE ("SimpleNilFacetProvider_exec_i::ccm_passivate ()");
+ // Your code here.
+ }
+
+ void
+ SimpleNilFacetProvider_exec_i::ccm_remove ()
+ {
+ CIAO_TRACE ("SimpleNilFacetProvider_exec_i::ccm_remove ()");
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: SimpleNilFacetProviderHome_exec_i
+ //==================================================================
+
+ SimpleNilFacetProviderHome_exec_i::SimpleNilFacetProviderHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleNilFacetProviderHome_exec_i::SimpleNilFacetProviderHome_exec_i (void)");
+ }
+
+ SimpleNilFacetProviderHome_exec_i::~SimpleNilFacetProviderHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleNilFacetProviderHome_exec_i::~SimpleNilFacetProviderHome_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ SimpleNilFacetProviderHome_exec_i::create ()
+ {
+ CIAO_TRACE ("SimpleNilFacetProviderHome_exec_i::create ()");
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ SimpleNilFacetProvider_exec_i,
+ ::CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" SIMPLENILFACETPROVIDER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleNilFacetProviderHome_Impl (void)
+ {
+ CIAO_TRACE ("create_Simple_SimpleNilFacetProviderHome_Impl (void)");
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ SimpleNilFacetProviderHome_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider_exec.h b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider_exec.h
new file mode 100644
index 00000000000..3feb16a04cf
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetProvider_exec.h
@@ -0,0 +1,116 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_SIMPLENILFACETPROVIDER_EXEC_H
+#define CIAO_SIMPLENILFACETPROVIDER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "SimpleNilFacetProviderEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "SimpleNilFacetProvider_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO_Simple_SimpleNilFacetProvider_Impl
+{
+ class SIMPLENILFACETPROVIDER_EXEC_Export Trigger_exec_i
+ : public virtual ::Simple::CCM_Trigger,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ Trigger_exec_i (void);
+ virtual ~Trigger_exec_i (void);
+
+ // Operations from ::Simple::Trigger
+
+ virtual void
+ hello (
+ const char * hello);
+ };
+
+ class SIMPLENILFACETPROVIDER_EXEC_Export SimpleNilFacetProvider_exec_i
+ : public virtual SimpleNilFacetProvider_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleNilFacetProvider_exec_i (void);
+ virtual ~SimpleNilFacetProvider_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ virtual ::Simple::CCM_Trigger_ptr
+ get_trig ();
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx);
+
+ virtual void configuration_complete ();
+
+ virtual void ccm_activate ();
+
+ virtual void ccm_passivate ();
+
+ virtual void ccm_remove ();
+
+ private:
+ ::Simple::CCM_SimpleNilFacetProvider_Context_var context_;
+ };
+
+ class SIMPLENILFACETPROVIDER_EXEC_Export SimpleNilFacetProviderHome_exec_i
+ : public virtual SimpleNilFacetProviderHome_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleNilFacetProviderHome_exec_i (void);
+ virtual ~SimpleNilFacetProviderHome_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ();
+ };
+
+ extern "C" SIMPLENILFACETPROVIDER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleNilFacetProviderHome_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_SIMPLENILFACETPROVIDER_EXEC_H */
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser.idl b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser.idl
new file mode 100644
index 00000000000..dde46667e8c
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser.idl
@@ -0,0 +1,21 @@
+// $Id$
+
+#ifndef SIMPLE_USER_IDL
+#define SIMPLE_USER_IDL
+
+#include "SimpleCommon.idl"
+#include "Components.idl"
+
+module Simple
+{
+ component SimpleNilFacetUser
+ {
+ uses Trigger trig;
+ };
+
+ home SimpleNilFacetUserHome manages SimpleNilFacetUser
+ {
+ };
+};
+
+#endif /*SIMPLE_USER_IDL*/
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser.mpc b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser.mpc
new file mode 100644
index 00000000000..1dd5c04b006
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser.mpc
@@ -0,0 +1,111 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -p SimpleCommon SimpleNilFacetUser"
+
+project(SimpleCommon_SNFU_idl_gen) : componentidldefaults {
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=SIMPLENILFACETUSER_STUB_Export \
+ -Wb,stub_export_include=SimpleNilFacetUser_stub_export.h \
+ -Wb,skel_export_macro=SIMPLENILFACETUSER_SVNT_Export \
+ -Wb,skel_export_include=SimpleNilFacetUser_svnt_export.h \
+ -Wb,exec_export_macro=SIMPLENILFACETUSER_EXEC_Export \
+ -Wb,exec_export_include=SimpleNilFacetUser_exec_export.h \
+ -Gsv
+
+ IDL_Files {
+ SimpleNilFacetUser.idl
+ }
+}
+
+project(SimpleCommon_SNFU_lem_gen) : ciaoidldefaults {
+ after += SimpleCommon_SNFU_idl_gen
+ custom_only = 1
+ idlflags += -Wb,export_macro=SIMPLENILFACETUSER_EXEC_Export \
+ -Wb,export_include=SimpleNilFacetUser_exec_export.h \
+ -SS
+
+ IDL_Files {
+ SimpleNilFacetUserE.idl
+ }
+}
+
+project(SimpleCommon_SNFU_stub) : ccm_stub {
+ after += SimpleCommon_SNFU_idl_gen SimpleCommon_stub
+ libs += SimpleCommon_stub
+
+ sharedname = SimpleNilFacetUser_stub
+ dynamicflags = SIMPLENILFACETUSER_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleNilFacetUserC.cpp
+ }
+
+ Header_Files {
+ SimpleNilFacetUserC.h
+ SimpleNilFacetUser_stub_export.h
+ }
+
+ Inline_Files {
+ SimpleNilFacetUserC.inl
+ }
+}
+
+project(SimpleCommon_SNFU_exec) : ciao_executor {
+ after += SimpleCommon_SNFU_lem_gen SimpleCommon_SNFU_stub
+ sharedname = SimpleNilFacetUser_exec
+ libs += SimpleNilFacetUser_stub SimpleCommon_stub
+
+ dynamicflags = SIMPLENILFACETUSER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleNilFacetUserEC.cpp
+ SimpleNilFacetUser_exec.cpp
+ }
+
+ Header_Files {
+ SimpleNilFacetUserEC.h
+ SimpleNilFacetUser_exec.h
+ SimpleNilFacetUser_exec_export.h
+ }
+
+ Inline_Files {
+ SimpleNilFacetUserEC.inl
+ }
+}
+
+
+project(SimpleCommon_SNFU_svnt) : ciao_servant {
+ after += SimpleCommon_skel SimpleCommon_SNFU_exec
+ sharedname = SimpleNilFacetUser_svnt
+ libs += SimpleNilFacetUser_exec \
+ SimpleNilFacetUser_stub \
+ SimpleCommon_skel \
+ SimpleCommon_stub
+
+ dynamicflags = SIMPLENILFACETUSER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleNilFacetUserS.cpp
+ SimpleNilFacetUser_svnt.cpp
+ }
+
+ Header_Files {
+ SimpleNilFacetUserS.h
+ SimpleNilFacetUser_svnt.h
+ SimpleNilFacetUser_svnt_export.h
+ }
+
+ Inline_Files {
+ SimpleNilFacetUserS.inl
+ }
+}
+
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser_exec.cpp b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser_exec.cpp
new file mode 100644
index 00000000000..0a44bd38963
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser_exec.cpp
@@ -0,0 +1,159 @@
+// $Id$
+
+#include "ciao/Logger/Log_Macros.h"
+#include "SimpleNilFacetUser_exec.h"
+
+namespace CIAO_Simple_SimpleNilFacetUser_Impl
+{
+ //==================================================================
+ // Component Executor Implementation Class: SimpleNilFacetUser_exec_i
+ //==================================================================
+
+ SimpleNilFacetUser_exec_i::SimpleNilFacetUser_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleNilFacetUser_exec_i::SimpleNilFacetUser_exec_i (void)");
+ }
+
+ SimpleNilFacetUser_exec_i::~SimpleNilFacetUser_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleNilFacetUser_exec_i::~SimpleNilFacetUser_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ void
+ SimpleNilFacetUser_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ CIAO_TRACE ("SimpleNilFacetUser_exec_i::set_session_context ()");
+ this->context_ =
+ ::Simple::CCM_SimpleNilFacetUser_Context::_narrow (ctx);
+
+ if (CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ SimpleNilFacetUser_exec_i::configuration_complete ()
+ {
+ CIAO_TRACE ("SimpleNilFacetUser_exec_i::configuration_complete ()");
+ // Your code here.
+ }
+
+ void
+ SimpleNilFacetUser_exec_i::ccm_activate ()
+ {
+ CIAO_TRACE ("SimpleNilFacetUser_exec_i::ccm_activate ()");
+ bool caught_exception = false;
+ ::Simple::Trigger_var trig (this->context_->get_connection_trig ());
+
+ if (CORBA::is_nil (trig.in ()))
+ {
+ CIAO_ERROR ((LM_ERROR, "SimpleNilFacetUser_exec_i::ccm_activate () - "
+ "Error: Reference nil for port trig\n"));
+ return;
+ }
+
+ try
+ {
+ trig->hello ("Test successful; hello from SimpleNilFacetUser.");
+ }
+ catch (const ::CORBA::INV_OBJREF &)
+ {
+ CIAO_DEBUG ((LM_DEBUG, "SimpleNilFacetUser_exec_i::ccm_activate () - "
+ "Caught correct CORBA exception\n"));
+ caught_exception = true;
+ }
+ catch (const CORBA::Exception &ex)
+ {
+ CIAO_ERROR ((LM_ERROR, "SimpleNilFacetUser_exec_i::ccm_activate () - "
+ "Caught CORBA exception, details follow:\n"));
+ ex._tao_print_exception ("SimpleNilFacetUser_exec_i::ccm_activate () - ");
+ }
+ catch (...)
+ {
+ CIAO_ERROR ((LM_ERROR, "SimpleNilFacetUser_exec_i::ccm_activate () - "
+ "Error: Caught unknown exception whilst invoking reference for port trig.\n"));
+ }
+ if (!caught_exception)
+ {
+ CIAO_ERROR ((LM_ERROR, "SimpleNilFacetUser_exec_i::ccm_activate () - "
+ "Error: Didn't catch correct exception\n"));
+ }
+ }
+
+ void
+ SimpleNilFacetUser_exec_i::ccm_passivate ()
+ {
+ CIAO_TRACE ("SimpleNilFacetUser_exec_i::ccm_passivate ()");
+ }
+
+ void
+ SimpleNilFacetUser_exec_i::ccm_remove ()
+ {
+ CIAO_TRACE ("SimpleNilFacetUser_exec_i::ccm_remove ()");
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: SimpleNilFacetUserHome_exec_i
+ //==================================================================
+
+ SimpleNilFacetUserHome_exec_i::SimpleNilFacetUserHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleNilFacetUserHome_exec_i::SimpleNilFacetUserHome_exec_i (void)");
+ }
+
+ SimpleNilFacetUserHome_exec_i::~SimpleNilFacetUserHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleNilFacetUserHome_exec_i::~SimpleNilFacetUserHome_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ SimpleNilFacetUserHome_exec_i::create ()
+ {
+ CIAO_TRACE ("SimpleNilFacetUserHome_exec_i::create ()");
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ SimpleNilFacetUser_exec_i,
+ ::CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" SIMPLENILFACETUSER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleNilFacetUserHome_Impl (void)
+ {
+ CIAO_TRACE ("create_Simple_SimpleNilFacetUserHome_Impl (void)");
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ SimpleNilFacetUserHome_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser_exec.h b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser_exec.h
new file mode 100644
index 00000000000..87381a6de5f
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNilFacetUser_exec.h
@@ -0,0 +1,98 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_SIMPLENILFACETUSER_EXEC_H
+#define CIAO_SIMPLENILFACETUSER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "SimpleNilFacetUserEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "SimpleNilFacetUser_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO_Simple_SimpleNilFacetUser_Impl
+{
+ class SIMPLENILFACETUSER_EXEC_Export SimpleNilFacetUser_exec_i
+ : public virtual SimpleNilFacetUser_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleNilFacetUser_exec_i (void);
+ virtual ~SimpleNilFacetUser_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx);
+
+ virtual void configuration_complete ();
+
+ virtual void ccm_activate ();
+
+ virtual void ccm_passivate ();
+
+ virtual void ccm_remove ();
+
+ private:
+ ::Simple::CCM_SimpleNilFacetUser_Context_var context_;
+ };
+
+ class SIMPLENILFACETUSER_EXEC_Export SimpleNilFacetUserHome_exec_i
+ : public virtual SimpleNilFacetUserHome_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleNilFacetUserHome_exec_i (void);
+ virtual ~SimpleNilFacetUserHome_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ();
+ };
+
+ extern "C" SIMPLENILFACETUSER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleNilFacetUserHome_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_SIMPLENILFACETUSER_EXEC_H */
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull.idl b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull.idl
new file mode 100644
index 00000000000..d8f02901be4
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull.idl
@@ -0,0 +1,14 @@
+// $Id$
+
+#include <Components.idl>
+
+module Simple
+{
+ component SimpleNull
+ {
+ };
+
+ home SimpleNullHome manages SimpleNull
+ {
+ };
+};
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull.mpc b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull.mpc
new file mode 100644
index 00000000000..84fcb5a4d94
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull.mpc
@@ -0,0 +1,107 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl SimpleNull"
+
+project(SimpleNull_idl_gen) : componentidldefaults {
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=SIMPLENULL_STUB_Export \
+ -Wb,stub_export_include=SimpleNull_stub_export.h \
+ -Wb,skel_export_macro=SIMPLENULL_SVNT_Export \
+ -Wb,skel_export_include=SimpleNull_svnt_export.h \
+ -Wb,exec_export_macro=SIMPLENULL_EXEC_Export \
+ -Wb,exec_export_include=SimpleNull_exec_export.h
+ IDL_Files {
+ SimpleNull.idl
+ }
+}
+
+project(SimpleNull_lem_gen) : ciaoidldefaults {
+ after += SimpleNull_idl_gen
+ custom_only = 1
+ idlflags += -Wb,export_macro=SIMPLENULL_EXEC_Export \
+ -Wb,export_include=SimpleNull_exec_export.h \
+ -SS
+
+ IDL_Files {
+ SimpleNullE.idl
+ }
+}
+
+project(SimpleNull_stub) : ccm_stub {
+ after += SimpleNull_idl_gen
+ libs +=
+
+ sharedname = SimpleNull_stub
+ dynamicflags = SIMPLENULL_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleNullC.cpp
+ }
+
+ Header_Files {
+ SimpleNullC.h
+ SimpleNull_stub_export.h
+ }
+
+ Inline_Files {
+ SimpleNullC.inl
+ }
+}
+
+project(SimpleNull_exec) : ciao_executor {
+ after += SimpleNull_lem_gen SimpleNull_stub
+ sharedname = SimpleNull_exec
+ libs += SimpleNull_stub
+
+ dynamicflags = SIMPLENULL_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleNullEC.cpp
+ SimpleNull_exec.cpp
+ }
+
+ Header_Files {
+ SimpleNullEC.h
+ SimpleNull_exec.h
+ SimpleNull_exec_export.h
+ }
+
+ Inline_Files {
+ SimpleNullEC.inl
+ }
+}
+
+
+project(SimpleNull_svnt) : ciao_servant {
+ after += SimpleNull_exec
+ sharedname = SimpleNull_svnt
+ libs += SimpleNull_exec \
+ SimpleNull_stub
+
+ dynamicflags = SIMPLENULL_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleNullS.cpp
+ SimpleNull_svnt.cpp
+ }
+
+ Header_Files {
+ SimpleNullS.h
+ SimpleNull_svnt.h
+ SimpleNull_svnt_export.h
+ }
+
+ Inline_Files {
+ SimpleNullS.inl
+ }
+}
+
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull_exec.cpp b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull_exec.cpp
new file mode 100644
index 00000000000..3d1407236cd
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull_exec.cpp
@@ -0,0 +1,150 @@
+// $Id$
+
+#include "SimpleNull_exec.h"
+#include "ciao/Logger/Log_Macros.h"
+
+namespace CIAO_Simple_SimpleNull_Impl
+{
+ //==================================================================
+ // Component Executor Implementation Class: SimpleNull_exec_i
+ //==================================================================
+
+ SimpleNull_exec_i::SimpleNull_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleNull_exec_i::SimpleNull_exec_i (void)");
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleNull - Test - Lifecycle event - SimpleNull_exec_i::SimpleNull_exec_i (void)\n"));
+ }
+
+ SimpleNull_exec_i::~SimpleNull_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleNull_exec_i::~SimpleNull_exec_i");
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleNull - Test - Lifecycle event - SimpleNull_exec_i::~SimpleNull_exec_i\n"));
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ void
+ SimpleNull_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ CIAO_TRACE ("SimpleNull_exec_i::set_session_context");
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleNull - Test - Lifecycle event - SimpleNull_exec_i::set_session_context\n"));
+ this->context_ =
+ ::Simple::CCM_SimpleNull_Context::_narrow (ctx);
+
+ if (CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ SimpleNull_exec_i::configuration_complete ()
+ {
+ CIAO_TRACE ("SimpleNull_exec_i::configuration_complete\n");
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleNull - Test - Lifecycle event - SimpleNull_exec_i::configuration_complete\n"));
+ // Your code here.
+ }
+
+ void
+ SimpleNull_exec_i::ccm_activate ()
+ {
+ CIAO_TRACE ("SimpleNull_exec_i::ccm_activate");
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleNull - Test - Lifecycle event - SimpleNull_exec_i::ccm_activate\n"));
+ // Your code here.
+ }
+
+ void
+ SimpleNull_exec_i::ccm_passivate ()
+ {
+ CIAO_TRACE ("SimpleNull_exec_i::ccm_passivate");
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleNull - Test - Lifecycle event - SimpleNull_exec_i::ccm_passivate\n"));
+ // Your code here.
+ }
+
+ void
+ SimpleNull_exec_i::ccm_remove ()
+ {
+ CIAO_TRACE ("SimpleNull_exec_i::ccm_remove");
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleNull - Test - Lifecycle event - SimpleNull_exec_i::ccm_remove\n"));
+ // Your code here.
+ }
+
+ extern "C" SIMPLENULL_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_Simple_SimpleNull_Impl (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_RETURN (retval,
+ SimpleNull_exec_i,
+ ::Components::EnterpriseComponent::_nil ());
+
+ return retval;
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: SimpleNullHome_exec_i
+ //==================================================================
+
+ SimpleNullHome_exec_i::SimpleNullHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleNullHome_exec_i::SimpleNullHome_exec_i");
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleNull - Test - Lifecycle event - SimpleNullHome_exec_i::SimpleNullHome_exec_i\n"));
+ }
+
+ SimpleNullHome_exec_i::~SimpleNullHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleNullHome_exec_i::~SimpleNullHome_exec_i");
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleNull - Test - Lifecycle event - SimpleNullHome_exec_i::~SimpleNullHome_exec_i\n"));
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ SimpleNullHome_exec_i::create ()
+ {
+ CIAO_TRACE ("SimpleNullHome_exec_i::create");
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleNull - Test - Lifecycle event - SimpleNullHome_exec_i::create\n"));
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ SimpleNull_exec_i,
+ ::CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" SIMPLENULL_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleNullHome_Impl (void)
+ {
+ CIAO_TRACE ("create_Simple_SimpleNullHome_Impl");
+ CIAO_DEBUG ((LM_EMERGENCY, "SimpleNull - Test - Lifecycle event - create_Simple_SimpleNullHome_Impl\n"));
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ SimpleNullHome_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull_exec.h b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull_exec.h
new file mode 100644
index 00000000000..057981b9711
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleNull_exec.h
@@ -0,0 +1,101 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_SIMPLENULL_EXEC_H
+#define CIAO_SIMPLENULL_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "SimpleNullEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "SimpleNull_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO_Simple_SimpleNull_Impl
+{
+ class SIMPLENULL_EXEC_Export SimpleNull_exec_i
+ : public virtual SimpleNull_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleNull_exec_i (void);
+ virtual ~SimpleNull_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx);
+
+ virtual void configuration_complete ();
+
+ virtual void ccm_activate ();
+
+ virtual void ccm_passivate ();
+
+ virtual void ccm_remove ();
+
+ private:
+ ::Simple::CCM_SimpleNull_Context_var context_;
+ };
+
+ extern "C" SIMPLENULL_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_Simple_SimpleNull_Impl (void);
+
+ class SIMPLENULL_EXEC_Export SimpleNullHome_exec_i
+ : public virtual SimpleNullHome_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleNullHome_exec_i (void);
+ virtual ~SimpleNullHome_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ();
+ };
+
+ extern "C" SIMPLENULL_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleNullHome_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_SIMPLENULL_EXEC_H */
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider.idl b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider.idl
new file mode 100644
index 00000000000..37248cf6cab
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider.idl
@@ -0,0 +1,22 @@
+// $Id$
+
+#ifndef SIMPLE_PROVIDER_IDL
+#define SIMPLE_PROVIDER_IDL
+
+#include "SimpleCommon.idl"
+#include "SimpleCommonE.idl"
+#include "Components.idl"
+
+module Simple
+{
+ component SimpleProvider
+ {
+ provides Trigger trig;
+ };
+
+ home SimpleProviderHome manages SimpleProvider
+ {
+ };
+};
+
+#endif /*SIMPLE_PROVIDER_IDL*/
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider.mpc b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider.mpc
new file mode 100644
index 00000000000..352f35f64b1
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider.mpc
@@ -0,0 +1,111 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -p SimpleCommon SimpleProvider"
+
+project(SimpleCommon_SimpleProvider_idl_gen) : componentidldefaults {
+ custom_only = 1
+ idlflags += \
+ -Wb,stub_export_macro=SIMPLEPROVIDER_STUB_Export \
+ -Wb,stub_export_include=SimpleProvider_stub_export.h \
+ -Wb,skel_export_macro=SIMPLEPROVIDER_SVNT_Export \
+ -Wb,skel_export_include=SimpleProvider_svnt_export.h \
+ -Wb,exec_export_macro=SIMPLEPROVIDER_EXEC_Export \
+ -Wb,exec_export_include=SimpleProvider_exec_export.h
+
+ IDL_Files {
+ SimpleProvider.idl
+ }
+}
+
+project(SimpleCommon_SimpleProvider_lem_gen) : ciaoidldefaults {
+ after += SimpleCommon_SimpleProvider_idl_gen
+ custom_only = 1
+ idlflags += -Wb,export_macro=SIMPLEPROVIDER_EXEC_Export \
+ -Wb,export_include=SimpleProvider_exec_export.h \
+ -SS
+
+ IDL_Files {
+ SimpleProviderE.idl
+ }
+}
+
+project(SimpleCommon_SimpleProvider_stub) : ccm_stub {
+ after += SimpleCommon_SimpleProvider_idl_gen SimpleCommon_stub
+ libs += SimpleCommon_stub
+
+ sharedname = SimpleProvider_stub
+ dynamicflags = SIMPLEPROVIDER_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleProviderC.cpp
+ }
+
+ Header_Files {
+ SimpleProviderC.h
+ SimpleProvider_stub_export.h
+ }
+
+ Inline_Files {
+ SimpleProviderC.inl
+ }
+}
+
+project(SimpleCommon_SimpleProvider_exec) : ciao_executor {
+ after += SimpleCommon_SimpleProvider_lem_gen SimpleCommon_SimpleProvider_stub
+ sharedname = SimpleProvider_exec
+ libs += SimpleProvider_stub SimpleCommon_stub
+
+ dynamicflags = SIMPLEPROVIDER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleProviderEC.cpp
+ SimpleProvider_exec.cpp
+ }
+
+ Header_Files {
+ SimpleProviderEC.h
+ SimpleProvider_exec.h
+ SimpleProvider_exec_export.h
+ }
+
+ Inline_Files {
+ SimpleProviderEC.inl
+ }
+}
+
+
+project(SimpleCommon_SimpleProvider_svnt) : ciao_servant {
+ after += SimpleCommon_skel SimpleCommon_SimpleProvider_exec
+ sharedname = SimpleProvider_svnt
+ libs += SimpleProvider_exec \
+ SimpleProvider_stub \
+ SimpleCommon_skel \
+ SimpleCommon_stub
+
+ dynamicflags = SIMPLEPROVIDER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleProviderS.cpp
+ SimpleProvider_svnt.cpp
+ }
+
+ Header_Files {
+ SimpleProviderS.h
+ SimpleProvider_svnt.h
+ SimpleProvider_svnt_export.h
+ }
+
+ Inline_Files {
+ SimpleProviderS.inl
+ }
+}
+
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.cpp b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.cpp
new file mode 100644
index 00000000000..6d2866ec8de
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.cpp
@@ -0,0 +1,160 @@
+// $Id$
+
+#include "SimpleProvider_exec.h"
+#include "ciao/Logger/Log_Macros.h"
+
+namespace CIAO_Simple_SimpleProvider_Impl
+{
+ //==================================================================
+ // Facet Executor Implementation Class: Trigger_exec_i
+ //==================================================================
+
+ Trigger_exec_i::Trigger_exec_i (void)
+ {
+ CIAO_TRACE ("Trigger_exec_i::Trigger_exec_i (void)");
+ }
+
+ Trigger_exec_i::~Trigger_exec_i (void)
+ {
+ CIAO_TRACE ("Trigger_exec_i::~Trigger_exec_i (void)");
+ }
+
+ // Operations from ::Simple::Trigger
+
+ void
+ Trigger_exec_i::hello (
+ const char * hello )
+ {
+ CIAO_TRACE ("Trigger_exec_i::hello ()");
+ // Your code here.
+ CIAO_DEBUG ((LM_EMERGENCY, "Trigger_exec_i::hello - "
+ "Got the following information from trig port: %C\n",
+ hello));
+ }
+
+ //==================================================================
+ // Component Executor Implementation Class: SimpleProvider_exec_i
+ //==================================================================
+
+ SimpleProvider_exec_i::SimpleProvider_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleProvider_exec_i::SimpleProvider_exec_i (void)");
+ }
+
+ SimpleProvider_exec_i::~SimpleProvider_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleProvider_exec_i::~SimpleProvider_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ ::Simple::CCM_Trigger_ptr
+ SimpleProvider_exec_i::get_trig ()
+ {
+ CIAO_TRACE ("SimpleProvider_exec_i::get_trig ()");
+ return new Trigger_exec_i ();
+ }
+
+ // Operations from Components::SessionComponent
+
+ void
+ SimpleProvider_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ CIAO_TRACE ("SimpleProvider_exec_i::set_session_context ()");
+ this->context_ =
+ ::Simple::CCM_SimpleProvider_Context::_narrow (ctx);
+
+ if (CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ SimpleProvider_exec_i::configuration_complete ()
+ {
+ CIAO_TRACE ("SimpleProvider_exec_i::configuration_complete ()");
+ // Your code here.
+ }
+
+ void
+ SimpleProvider_exec_i::ccm_activate ()
+ {
+ CIAO_TRACE ("SimpleProvider_exec_i::ccm_activate ()");
+ // Your code here.
+ }
+
+ void
+ SimpleProvider_exec_i::ccm_passivate ()
+ {
+ CIAO_TRACE ("SimpleProvider_exec_i::ccm_passivate ()");
+ // Your code here.
+ }
+
+ void
+ SimpleProvider_exec_i::ccm_remove ()
+ {
+ CIAO_TRACE ("SimpleProvider_exec_i::ccm_remove ()");
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: SimpleProviderHome_exec_i
+ //==================================================================
+
+ SimpleProviderHome_exec_i::SimpleProviderHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleProviderHome_exec_i::SimpleProviderHome_exec_i (void)");
+ }
+
+ SimpleProviderHome_exec_i::~SimpleProviderHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleProviderHome_exec_i::~SimpleProviderHome_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ SimpleProviderHome_exec_i::create ()
+ {
+ CIAO_TRACE ("SimpleProviderHome_exec_i::create ()");
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ SimpleProvider_exec_i,
+ ::CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" SIMPLEPROVIDER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleProviderHome_Impl (void)
+ {
+ CIAO_TRACE ("create_Simple_SimpleProviderHome_Impl (void)");
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ SimpleProviderHome_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.h b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.h
new file mode 100644
index 00000000000..183d94a8ab8
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.h
@@ -0,0 +1,116 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_SIMPLEPROVIDER_EXEC_H
+#define CIAO_SIMPLEPROVIDER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "SimpleProviderEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "SimpleProvider_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO_Simple_SimpleProvider_Impl
+{
+ class SIMPLEPROVIDER_EXEC_Export Trigger_exec_i
+ : public virtual ::Simple::CCM_Trigger,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ Trigger_exec_i (void);
+ virtual ~Trigger_exec_i (void);
+
+ // Operations from ::Simple::Trigger
+
+ virtual void
+ hello (
+ const char * hello);
+ };
+
+ class SIMPLEPROVIDER_EXEC_Export SimpleProvider_exec_i
+ : public virtual SimpleProvider_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleProvider_exec_i (void);
+ virtual ~SimpleProvider_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ virtual ::Simple::CCM_Trigger_ptr
+ get_trig ();
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx);
+
+ virtual void configuration_complete ();
+
+ virtual void ccm_activate ();
+
+ virtual void ccm_passivate ();
+
+ virtual void ccm_remove ();
+
+ private:
+ ::Simple::CCM_SimpleProvider_Context_var context_;
+ };
+
+ class SIMPLEPROVIDER_EXEC_Export SimpleProviderHome_exec_i
+ : public virtual SimpleProviderHome_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleProviderHome_exec_i (void);
+ virtual ~SimpleProviderHome_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ();
+ };
+
+ extern "C" SIMPLEPROVIDER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleProviderHome_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_SIMPLEPROVIDER_EXEC_H */
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher.idl b/modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher.idl
new file mode 100644
index 00000000000..cee261fd15a
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher.idl
@@ -0,0 +1,21 @@
+// $Id$
+
+#ifndef SIMPLE_PUBLISHER_IDL
+#define SIMPLE_PUBLISHER_IDL
+
+#include "SimpleCommon.idl"
+#include "Components.idl"
+
+module Simple
+{
+ component SimplePublisher
+ {
+ publishes Hello hello;
+ };
+
+ home SimplePublisherHome manages SimplePublisher
+ {
+ };
+};
+
+#endif /*SIMPLE_PUBLISHER_IDL*/
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher.mpc b/modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher.mpc
new file mode 100644
index 00000000000..a4b4544687d
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher.mpc
@@ -0,0 +1,110 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -p SimpleCommon SimplePublisher"
+
+project(SimpleCommon_SimplePublisher_idl_gen) : componentidldefaults {
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=SIMPLEPUBLISHER_STUB_Export \
+ -Wb,stub_export_include=SimplePublisher_stub_export.h \
+ -Wb,skel_export_macro=SIMPLEPUBLISHER_SVNT_Export \
+ -Wb,skel_export_include=SimplePublisher_svnt_export.h \
+ -Wb,exec_export_macro=SIMPLEPUBLISHER_EXEC_Export \
+ -Wb,exec_export_include=SimplePublisher_exec_export.h \
+
+ IDL_Files {
+ SimplePublisher.idl
+ }
+}
+
+project(SimpleCommon_SimplePublisher_lem_gen) : ciaoidldefaults {
+ after += SimpleCommon_SimplePublisher_idl_gen
+ custom_only = 1
+ idlflags += -Wb,export_macro=SIMPLEPUBLISHER_EXEC_Export \
+ -Wb,export_include=SimplePublisher_exec_export.h \
+ -SS
+
+ IDL_Files {
+ SimplePublisherE.idl
+ }
+}
+
+project(SimpleCommon_SimplePublisher_stub) : ccm_stub {
+ after += SimpleCommon_SimplePublisher_idl_gen SimpleCommon_stub
+ libs += SimpleCommon_stub
+
+ sharedname = SimplePublisher_stub
+ dynamicflags = SIMPLEPUBLISHER_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimplePublisherC.cpp
+ }
+
+ Header_Files {
+ SimplePublisherC.h
+ SimplePublisher_stub_export.h
+ }
+
+ Inline_Files {
+ SimplePublisherC.inl
+ }
+}
+
+project(SimpleCommon_SimplePublisher_exec) : ciao_executor {
+ after += SimpleCommon_SimplePublisher_lem_gen SimpleCommon_SimplePublisher_stub
+ sharedname = SimplePublisher_exec
+ libs += SimplePublisher_stub SimpleCommon_stub
+
+ dynamicflags = SIMPLEPUBLISHER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimplePublisherEC.cpp
+ SimplePublisher_exec.cpp
+ }
+
+ Header_Files {
+ SimplePublisherEC.h
+ SimplePublisher_exec.h
+ SimplePublisher_exec_export.h
+ }
+
+ Inline_Files {
+ SimplePublisherEC.inl
+ }
+}
+
+
+project(SimpleCommon_SimplePublisher_svnt) : ciao_servant {
+ after += SimpleCommon_skel SimpleCommon_SimplePublisher_exec
+ sharedname = SimplePublisher_svnt
+ libs += SimplePublisher_exec \
+ SimplePublisher_stub \
+ SimpleCommon_skel \
+ SimpleCommon_stub
+
+ dynamicflags = SIMPLEPUBLISHER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimplePublisherS.cpp
+ SimplePublisher_svnt.cpp
+ }
+
+ Header_Files {
+ SimplePublisherS.h
+ SimplePublisher_svnt.h
+ SimplePublisher_svnt_export.h
+ }
+
+ Inline_Files {
+ SimplePublisherS.inl
+ }
+}
+
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher_exec.cpp b/modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher_exec.cpp
new file mode 100644
index 00000000000..5bf38762ae4
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher_exec.cpp
@@ -0,0 +1,130 @@
+// $Id$
+
+#include "SimplePublisher_exec.h"
+#include "ciao/Logger/Log_Macros.h"
+
+namespace CIAO_Simple_SimplePublisher_Impl
+{
+ //==================================================================
+ // Component Executor Implementation Class: SimplePublisher_exec_i
+ //==================================================================
+
+ SimplePublisher_exec_i::SimplePublisher_exec_i (void)
+ {
+ CIAO_TRACE ("SimplePublisher_exec_i::SimplePublisher_exec_i (void)");
+ }
+
+ SimplePublisher_exec_i::~SimplePublisher_exec_i (void)
+ {
+ CIAO_TRACE ("SimplePublisher_exec_i::~SimplePublisher_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ void
+ SimplePublisher_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ CIAO_TRACE ("SimplePublisher_exec_i::set_session_context ()");
+ this->context_ =
+ ::Simple::CCM_SimplePublisher_Context::_narrow (ctx);
+
+ if (CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ SimplePublisher_exec_i::configuration_complete ()
+ {
+ CIAO_TRACE ("SimplePublisher_exec_i::configuration_complete ()");
+ // Your code here.
+ }
+
+ void
+ SimplePublisher_exec_i::ccm_activate ()
+ {
+ CIAO_TRACE ("SimplePublisher_exec_i::ccm_activate ()");
+ ::Simple::Hello_var hello = new OBV_Simple::Hello ("Test successful, hello from SimplePublisher_exec_i");
+
+ this->context_->push_hello (hello._retn ());
+ // Your code here.
+ }
+
+ void
+ SimplePublisher_exec_i::ccm_passivate ()
+ {
+ CIAO_TRACE ("SimplePublisher_exec_i::ccm_passivate ()");
+ // Your code here.
+ }
+
+ void
+ SimplePublisher_exec_i::ccm_remove ()
+ {
+ CIAO_TRACE ("SimplePublisher_exec_i::ccm_remove ()");
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: SimplePublisherHome_exec_i
+ //==================================================================
+
+ SimplePublisherHome_exec_i::SimplePublisherHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimplePublisherHome_exec_i::SimplePublisherHome_exec_i (void)");
+ }
+
+ SimplePublisherHome_exec_i::~SimplePublisherHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimplePublisherHome_exec_i::~SimplePublisherHome_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ SimplePublisherHome_exec_i::create ()
+ {
+ CIAO_TRACE ("SimplePublisherHome_exec_i::create ()");
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ SimplePublisher_exec_i,
+ ::CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" SIMPLEPUBLISHER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimplePublisherHome_Impl (void)
+ {
+ CIAO_TRACE ("create_Simple_SimplePublisherHome_Impl (void)");
+
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ SimplePublisherHome_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher_exec.h b/modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher_exec.h
new file mode 100644
index 00000000000..a0b187014ee
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher_exec.h
@@ -0,0 +1,98 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_SIMPLEPUBLISHER_EXEC_H
+#define CIAO_SIMPLEPUBLISHER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "SimplePublisherEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "SimplePublisher_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO_Simple_SimplePublisher_Impl
+{
+ class SIMPLEPUBLISHER_EXEC_Export SimplePublisher_exec_i
+ : public virtual SimplePublisher_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimplePublisher_exec_i (void);
+ virtual ~SimplePublisher_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx);
+
+ virtual void configuration_complete ();
+
+ virtual void ccm_activate ();
+
+ virtual void ccm_passivate ();
+
+ virtual void ccm_remove ();
+
+ private:
+ ::Simple::CCM_SimplePublisher_Context_var context_;
+ };
+
+ class SIMPLEPUBLISHER_EXEC_Export SimplePublisherHome_exec_i
+ : public virtual SimplePublisherHome_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimplePublisherHome_exec_i (void);
+ virtual ~SimplePublisherHome_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ();
+ };
+
+ extern "C" SIMPLEPUBLISHER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimplePublisherHome_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_SIMPLEPUBLISHER_EXEC_H */
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser.idl b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser.idl
new file mode 100644
index 00000000000..90d4e67e542
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser.idl
@@ -0,0 +1,21 @@
+// $Id$
+
+#ifndef SIMPLE_USER_IDL
+#define SIMPLE_USER_IDL
+
+#include "SimpleCommon.idl"
+#include "Components.idl"
+
+module Simple
+{
+ component SimpleUser
+ {
+ uses Trigger trig;
+ };
+
+ home SimpleUserHome manages SimpleUser
+ {
+ };
+};
+
+#endif /*SIMPLE_USER_IDL*/
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser.mpc b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser.mpc
new file mode 100644
index 00000000000..ff9215fabda
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser.mpc
@@ -0,0 +1,111 @@
+// $Id$
+// This file is generated with "generate_component_mpc.pl -p SimpleCommon SimpleUser"
+
+project(SimpleCommon_SimpleUser_idl_gen) : componentidldefaults {
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=SIMPLEUSER_STUB_Export \
+ -Wb,stub_export_include=SimpleUser_stub_export.h \
+ -Wb,skel_export_macro=SIMPLEUSER_SVNT_Export \
+ -Wb,skel_export_include=SimpleUser_svnt_export.h \
+ -Wb,exec_export_macro=SIMPLEUSER_EXEC_Export \
+ -Wb,exec_export_include=SimpleUser_exec_export.h \
+ -Gsv
+
+ IDL_Files {
+ SimpleUser.idl
+ }
+}
+
+project(SimpleCommon_SimpleUser_lem_gen) : ciaoidldefaults {
+ after += SimpleCommon_SimpleUser_idl_gen
+ custom_only = 1
+ idlflags += -Wb,export_macro=SIMPLEUSER_EXEC_Export \
+ -Wb,export_include=SimpleUser_exec_export.h \
+ -SS
+
+ IDL_Files {
+ SimpleUserE.idl
+ }
+}
+
+project(SimpleCommon_SimpleUser_stub) : ccm_stub {
+ after += SimpleCommon_SimpleUser_idl_gen SimpleCommon_stub
+ libs += SimpleCommon_stub
+
+ sharedname = SimpleUser_stub
+ dynamicflags = SIMPLEUSER_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleUserC.cpp
+ }
+
+ Header_Files {
+ SimpleUserC.h
+ SimpleUser_stub_export.h
+ }
+
+ Inline_Files {
+ SimpleUserC.inl
+ }
+}
+
+project(SimpleCommon_SimpleUser_exec) : ciao_executor {
+ after += SimpleCommon_SimpleUser_lem_gen SimpleCommon_SimpleUser_stub
+ sharedname = SimpleUser_exec
+ libs += SimpleUser_stub SimpleCommon_stub
+
+ dynamicflags = SIMPLEUSER_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleUserEC.cpp
+ SimpleUser_exec.cpp
+ }
+
+ Header_Files {
+ SimpleUserEC.h
+ SimpleUser_exec.h
+ SimpleUser_exec_export.h
+ }
+
+ Inline_Files {
+ SimpleUserEC.inl
+ }
+}
+
+
+project(SimpleCommon_SimpleUser_svnt) : ciao_servant {
+ after += SimpleCommon_skel SimpleCommon_SimpleUser_exec
+ sharedname = SimpleUser_svnt
+ libs += SimpleUser_exec \
+ SimpleUser_stub \
+ SimpleCommon_skel \
+ SimpleCommon_stub
+
+ dynamicflags = SIMPLEUSER_SVNT_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ SimpleUserS.cpp
+ SimpleUser_svnt.cpp
+ }
+
+ Header_Files {
+ SimpleUserS.h
+ SimpleUser_svnt.h
+ SimpleUser_svnt_export.h
+ }
+
+ Inline_Files {
+ SimpleUserS.inl
+ }
+}
+
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser_exec.cpp b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser_exec.cpp
new file mode 100644
index 00000000000..7a975823f95
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser_exec.cpp
@@ -0,0 +1,151 @@
+// $Id$
+
+#include "SimpleUser_exec.h"
+#include "ciao/Logger/Log_Macros.h"
+
+namespace CIAO_Simple_SimpleUser_Impl
+{
+ //==================================================================
+ // Component Executor Implementation Class: SimpleUser_exec_i
+ //==================================================================
+
+ SimpleUser_exec_i::SimpleUser_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleUser_exec_i::SimpleUser_exec_i (void)");
+ }
+
+ SimpleUser_exec_i::~SimpleUser_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleUser_exec_i::~SimpleUser_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ void
+ SimpleUser_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ CIAO_TRACE ("SimpleUser_exec_i::set_session_context ()");
+ this->context_ =
+ ::Simple::CCM_SimpleUser_Context::_narrow (ctx);
+
+ if (CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ SimpleUser_exec_i::configuration_complete ()
+ {
+ CIAO_TRACE ("SimpleUser_exec_i::configuration_complete ()");
+ // Your code here.
+ }
+
+ void
+ SimpleUser_exec_i::ccm_activate ()
+ {
+ CIAO_TRACE ("SimpleUser_exec_i::ccm_activate ()");
+
+ ::Simple::Trigger_var trig (this->context_->get_connection_trig ());
+
+ if (CORBA::is_nil (trig.in ()))
+ {
+ CIAO_ERROR ((LM_ERROR, "SimpleUser_exec_i::ccm_activate () - "
+ "Error: Reference nil for port trig\n"));
+ return;
+ }
+
+ // Your code here.
+ try
+ {
+ trig->hello ("Test successful; hello from SimpleUser.");
+ }
+ catch (CORBA::Exception &ex)
+ {
+ CIAO_ERROR ((LM_ERROR, "SimpleUser_exec_i::ccm_activate () - "
+ "Caught CORBA exception, details follow:\n"));
+ ex._tao_print_exception ("SimpleUser_exec_i::ccm_activate () - ");
+ }
+ catch (...)
+ {
+ CIAO_ERROR ((LM_ERROR, "SimpleUser_exec_i::ccm_activate () - "
+ "Error: Caught unknown exception whilst invoking reference for port trig.\n"));
+ }
+ }
+
+ void
+ SimpleUser_exec_i::ccm_passivate ()
+ {
+ CIAO_TRACE ("SimpleUser_exec_i::ccm_passivate ()");
+ // Your code here.
+ }
+
+ void
+ SimpleUser_exec_i::ccm_remove ()
+ {
+ CIAO_TRACE ("SimpleUser_exec_i::ccm_remove ()");
+ // Your code here.
+ }
+
+ //==================================================================
+ // Home Executor Implementation Class: SimpleUserHome_exec_i
+ //==================================================================
+
+ SimpleUserHome_exec_i::SimpleUserHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleUserHome_exec_i::SimpleUserHome_exec_i (void)");
+ }
+
+ SimpleUserHome_exec_i::~SimpleUserHome_exec_i (void)
+ {
+ CIAO_TRACE ("SimpleUserHome_exec_i::~SimpleUserHome_exec_i (void)");
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ SimpleUserHome_exec_i::create ()
+ {
+ CIAO_TRACE ("SimpleUserHome_exec_i::create ()");
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ SimpleUser_exec_i,
+ ::CORBA::NO_MEMORY ());
+
+ return retval;
+ }
+
+ extern "C" SIMPLEUSER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleUserHome_Impl (void)
+ {
+ CIAO_TRACE ("create_Simple_SimpleUserHome_Impl (void)");
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ SimpleUserHome_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser_exec.h b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser_exec.h
new file mode 100644
index 00000000000..0e5627cca4f
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/Components/SimpleUser_exec.h
@@ -0,0 +1,98 @@
+// $Id$
+//
+// **** Code generated by the ****
+// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
+// CIAO has been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// CIDL Compiler has been developed by:
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about CIAO is available at:
+// http://www.dre.vanderbilt.edu/CIAO
+
+#ifndef CIAO_SIMPLEUSER_EXEC_H
+#define CIAO_SIMPLEUSER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "SimpleUserEC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "SimpleUser_exec_export.h"
+#include "tao/LocalObject.h"
+
+namespace CIAO_Simple_SimpleUser_Impl
+{
+ class SIMPLEUSER_EXEC_Export SimpleUser_exec_i
+ : public virtual SimpleUser_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleUser_exec_i (void);
+ virtual ~SimpleUser_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx);
+
+ virtual void configuration_complete ();
+
+ virtual void ccm_activate ();
+
+ virtual void ccm_passivate ();
+
+ virtual void ccm_remove ();
+
+ private:
+ ::Simple::CCM_SimpleUser_Context_var context_;
+ };
+
+ class SIMPLEUSER_EXEC_Export SimpleUserHome_exec_i
+ : public virtual SimpleUserHome_Exec,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ SimpleUserHome_exec_i (void);
+ virtual ~SimpleUserHome_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create ();
+ };
+
+ extern "C" SIMPLEUSER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_Simple_SimpleUserHome_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_SIMPLEUSER_EXEC_H */
+
diff --git a/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome.cdp b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome.cdp
new file mode 100644
index 00000000000..01c13b3f3d1
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome.cdp
@@ -0,0 +1,227 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleEmitterHomeImplementation">
+ <name>SimpleEmitterHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleEmitter_ExecArtifact" />
+ <artifact xmi:idref="SimpleEmitter_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleEmitterHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleEmitterHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleEmitter_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleEmitter_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleEmitterComponentImplementation">
+ <name>SimpleEmitterComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleEmitter_ExecArtifact" />
+ <artifact xmi:idref="SimpleEmitter_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleConsumerHomeImplementation">
+ <name>SimpleConsumerHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleConsumer_ExecArtifact" />
+ <artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleConsumerHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleConsumerHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumer_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumer_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleConsumerComponentImplementation">
+ <name>SimpleConsumerComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleConsumer_ExecArtifact" />
+ <artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleEmitterHomeInstance">
+ <name>SimpleEmitterHome</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleEmitterHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleEmitterComponentInstance">
+ <name>SimpleEmitterComponent</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleEmitterComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleEmitterHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleConsumerHomeInstance">
+ <name>SimpleConsumerHome</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleConsumerHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleConsumerComponentInstance">
+ <name>SimpleConsumerComponent</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleConsumerComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumerHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <internalEndpoint>
+ <portName>hello</portName>
+ <provider>false</provider>
+ <kind>EventEmitter</kind>
+ <instance xmi:idref="SimpleEmitterComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>hello_</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance xmi:idref="SimpleConsumerComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleEmitter_ExecArtifact">
+ <name>SimpleEmitter_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleEmitter_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleEmitter_SvntArtifact">
+ <name>SimpleEmitter_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleEmitter_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleConsumer_ExecArtifact">
+ <name>SimpleConsumer_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleConsumer_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleConsumer_SvntArtifact">
+ <name>SimpleConsumer_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleConsumer_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome_NS.cdp b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome_NS.cdp
new file mode 100644
index 00000000000..6c01f6d36d6
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/EmitsConnectionExplicitHome_NS.cdp
@@ -0,0 +1,238 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleEmitterHomeImplementation">
+ <name>SimpleEmitterHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleEmitter_ExecArtifact" />
+ <artifact xmi:idref="SimpleEmitter_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleEmitterHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleEmitterHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleEmitter_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleEmitter_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleEmitterComponentImplementation">
+ <name>SimpleEmitterComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleEmitter_ExecArtifact" />
+ <artifact xmi:idref="SimpleEmitter_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleConsumerHomeImplementation">
+ <name>SimpleConsumerHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleConsumer_ExecArtifact" />
+ <artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleConsumerHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleConsumerHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumer_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumer_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleConsumerComponentImplementation">
+ <name>SimpleConsumerComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleConsumer_ExecArtifact" />
+ <artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleEmitterHomeInstance">
+ <name>SimpleEmitterHome</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleEmitterHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleEmitterComponentInstance">
+ <name>SimpleEmitterComponent</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleEmitterComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleEmitterHome</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.RegisterNaming</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleEmitterComponent</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleConsumerHomeInstance">
+ <name>SimpleConsumerHome</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleConsumerHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleConsumerComponentInstance">
+ <name>SimpleConsumerComponent</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleConsumerComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumerHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <internalEndpoint>
+ <portName>hello_</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance xmi:idref="SimpleConsumerComponentInstance" />
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname:rir:/NameService#SimpleEmitterComponent</location>
+ <provider>false</provider>
+ <portName>hello</portName>
+ <supportedType>Meaningless</supportedType>
+ </externalReference>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleEmitter_ExecArtifact">
+ <name>SimpleEmitter_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleEmitter_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleEmitter_SvntArtifact">
+ <name>SimpleEmitter_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleEmitter_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleConsumer_ExecArtifact">
+ <name>SimpleConsumer_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleConsumer_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleConsumer_SvntArtifact">
+ <name>SimpleConsumer_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleConsumer_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome.cdp b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome.cdp
new file mode 100644
index 00000000000..c5bc81c852a
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome.cdp
@@ -0,0 +1,262 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleProviderHomeImplementation">
+ <name>SimpleProviderHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleProviderComponentImplementation">
+ <name>SimpleProviderComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleMultipleUserHomeImplementation">
+ <name>SimpleMultipleUserHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleMultipleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleMultipleUser_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleMultipleUserHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleMultipleUserHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleMultipleUser_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleMultipleUser_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleMultipleUserComponentImplementation">
+ <name>SimpleMultipleUserComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleMultipleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleMultipleUser_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleProviderHomeInstance">
+ <name>SimpleProviderHome</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleProviderComponentInstance">
+ <name>SimpleProviderComponent</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProviderHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleMultipleUserHomeInstance">
+ <name>SimpleMultipleUserHome</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleMultipleUserHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleMultipleUserComponentInstance">
+ <name>SimpleMultipleUserComponent</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleMultipleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleMultipleUserComponentInstanceReverse">
+ <name>SimpleMultipleUserComponentReverse</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleMultipleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>MultiplexReceptacle</kind>
+ <instance xmi:idref="SimpleMultipleUserComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>TestConnectionReverse</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>MultiplexReceptacle</kind>
+ <instance xmi:idref="SimpleMultipleUserComponentInstanceReverse" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleProvider_ExecArtifact">
+ <name>SimpleProvider_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleProvider_SvntArtifact">
+ <name>SimpleProvider_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleMultipleUser_ExecArtifact">
+ <name>SimpleMultipleUser_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleMultipleUser_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleMultipleUser_SvntArtifact">
+ <name>SimpleMultipleUser_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleMultipleUser_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS.cdp b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS.cdp
new file mode 100644
index 00000000000..dc865e8d0a3
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/MultiplexConnectionExplicitHome_NS.cdp
@@ -0,0 +1,286 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleProviderHomeImplementation">
+ <name>SimpleProviderHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleProviderComponentImplementation">
+ <name>SimpleProviderComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleMultipleUserHomeImplementation">
+ <name>SimpleMultipleUserHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleMultipleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleMultipleUser_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleMultipleUserHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleMultipleUserHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleMultipleUser_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleMultipleUser_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleMultipleUserComponentImplementation">
+ <name>SimpleMultipleUserComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleMultipleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleMultipleUser_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleProviderHomeInstance">
+ <name>SimpleProviderHome</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleProviderComponentInstance">
+ <name>SimpleProviderComponent</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProviderHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleMultipleUserHomeInstance">
+ <name>SimpleMultipleUserHome</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleMultipleUserHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleMultipleUserComponentInstance">
+ <name>SimpleMultipleUserComponent</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleMultipleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.RegisterNaming</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleMultipleUserComponent</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleMultipleUserComponentInstanceReverse">
+ <name>SimpleMultipleUserComponentReverse</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleMultipleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstance" />
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname:rir:/NameService#SimpleMultipleUserComponent</location>
+ <provider>false</provider>
+ <portName>trig</portName>
+ <supportedType>Meaningless</supportedType>
+ </externalReference>
+<!-- <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>MultiplexReceptacle</kind>
+ <instance xmi:idref="SimpleMultipleUserComponentInstance" />
+ </internalEndpoint> -->
+ </connection>
+
+ <connection>
+ <name>TestConnectionReverse</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstance" />
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname:rir:/NameService#SimpleMultipleUserComponent</location>
+ <provider>false</provider>
+ <portName>trig</portName>
+ <supportedType>Meaningless</supportedType>
+ </externalReference>
+<!--
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>MultiplexReceptacle</kind>
+ <instance xmi:idref="SimpleMultipleUserComponentInstanceReverse" />
+ </internalEndpoint> -->
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleProvider_ExecArtifact">
+ <name>SimpleProvider_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleProvider_SvntArtifact">
+ <name>SimpleProvider_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleMultipleUser_ExecArtifact">
+ <name>SimpleMultipleUser_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleMultipleUser_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleMultipleUser_SvntArtifact">
+ <name>SimpleMultipleUser_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleMultipleUser_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome.cdp b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome.cdp
new file mode 100644
index 00000000000..32747bfc1bf
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome.cdp
@@ -0,0 +1,227 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimplePublisherHomeImplementation">
+ <name>SimplePublisherHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimplePublisher_ExecArtifact" />
+ <artifact xmi:idref="SimplePublisher_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimplePublisherHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimplePublisherHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimplePublisher_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimplePublisher_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimplePublisherComponentImplementation">
+ <name>SimplePublisherComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimplePublisher_ExecArtifact" />
+ <artifact xmi:idref="SimplePublisher_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleConsumerHomeImplementation">
+ <name>SimpleConsumerHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleConsumer_ExecArtifact" />
+ <artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleConsumerHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleConsumerHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumer_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumer_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleConsumerComponentImplementation">
+ <name>SimpleConsumerComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleConsumer_ExecArtifact" />
+ <artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimplePublisherHomeInstance">
+ <name>SimplePublisherHome</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimplePublisherHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimplePublisherComponentInstance">
+ <name>SimplePublisherComponent</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimplePublisherComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimplePublisherHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleConsumerHomeInstance">
+ <name>SimpleConsumerHome</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleConsumerHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleConsumerComponentInstance">
+ <name>SimpleConsumerComponent</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleConsumerComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumerHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <internalEndpoint>
+ <portName>hello</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance xmi:idref="SimplePublisherComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>hello_</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance xmi:idref="SimpleConsumerComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimplePublisher_ExecArtifact">
+ <name>SimplePublisher_exec</name>
+ <source/>
+ <node/>
+ <location>SimplePublisher_exec</location>
+ </artifact>
+ <artifact xmi:id="SimplePublisher_SvntArtifact">
+ <name>SimplePublisher_svnt</name>
+ <source/>
+ <node/>
+ <location>SimplePublisher_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleConsumer_ExecArtifact">
+ <name>SimpleConsumer_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleConsumer_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleConsumer_SvntArtifact">
+ <name>SimpleConsumer_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleConsumer_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome_NS.cdp b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome_NS.cdp
new file mode 100644
index 00000000000..054e7964bea
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/PublishConnectionExplicitHome_NS.cdp
@@ -0,0 +1,244 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimplePublisherHomeImplementation">
+ <name>SimplePublisherHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimplePublisher_ExecArtifact" />
+ <artifact xmi:idref="SimplePublisher_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimplePublisherHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimplePublisherHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimplePublisher_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimplePublisher_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimplePublisherComponentImplementation">
+ <name>SimplePublisherComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimplePublisher_ExecArtifact" />
+ <artifact xmi:idref="SimplePublisher_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleConsumerHomeImplementation">
+ <name>SimpleConsumerHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleConsumer_ExecArtifact" />
+ <artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleConsumerHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleConsumerHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumer_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumer_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleConsumerComponentImplementation">
+ <name>SimpleConsumerComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleConsumer_ExecArtifact" />
+ <artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimplePublisherHomeInstance">
+ <name>SimplePublisherHome</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimplePublisherHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimplePublisherComponentInstance">
+ <name>SimplePublisherComponent</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimplePublisherComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimplePublisherHome</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.RegisterNaming</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimplePublisherComponentInstance</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleConsumerHomeInstance">
+ <name>SimpleConsumerHome</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleConsumerHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleConsumerComponentInstance">
+ <name>SimpleConsumerComponent</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleConsumerComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumerHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <!--<internalEndpoint>
+ <portName>hello</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance xmi:idref="SimplePublisherComponentInstance" />
+ </internalEndpoint>-->
+ <internalEndpoint>
+ <portName>hello_</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance xmi:idref="SimpleConsumerComponentInstance" />
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname:rir:/NameService#SimplePublisherComponentInstance</location>
+ <provider>false</provider>
+ <portName>hello</portName>
+ <supportedType>Meaningless</supportedType>
+ </externalReference>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimplePublisher_ExecArtifact">
+ <name>SimplePublisher_exec</name>
+ <source/>
+ <node/>
+ <location>SimplePublisher_exec</location>
+ </artifact>
+ <artifact xmi:id="SimplePublisher_SvntArtifact">
+ <name>SimplePublisher_svnt</name>
+ <source/>
+ <node/>
+ <location>SimplePublisher_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleConsumer_ExecArtifact">
+ <name>SimpleConsumer_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleConsumer_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleConsumer_SvntArtifact">
+ <name>SimpleConsumer_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleConsumer_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimpleComponentExplicitHome.cdp b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimpleComponentExplicitHome.cdp
new file mode 100644
index 00000000000..e9af75b1ac4
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimpleComponentExplicitHome.cdp
@@ -0,0 +1,113 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Server Dance implementation-->
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleNullHomeImplementation">
+ <name>SimpleNullHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleNull_ExecArtifact" />
+ <artifact xmi:idref="SimpleNull_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleNullHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleNullHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNull_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNull_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleNullComponentImplementation">
+ <name>SimpleNullComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleNull_ExecArtifact" />
+ <artifact xmi:idref="SimpleNull_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleNullHomeInstance">
+ <name>SimpleNullHome</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleNullHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleNullComponentInstance">
+ <name>SimpleNullComponent</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleNullComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNullHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleNull_ExecArtifact">
+ <name>SimpleNull_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleNull_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleNull_SvntArtifact">
+ <name>SimpleNull_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleNull_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome.cdp b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome.cdp
new file mode 100644
index 00000000000..8283e9e869a
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome.cdp
@@ -0,0 +1,262 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleProviderHomeImplementation">
+ <name>SimpleProviderHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleProviderComponentImplementation">
+ <name>SimpleProviderComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleUserHomeImplementation">
+ <name>SimpleUserHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleUser_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleUserHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleUserHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUser_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUser_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleUserComponentImplementation">
+ <name>SimpleUserComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleUser_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleProviderHomeInstance">
+ <name>SimpleProviderHome</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleProviderComponentInstance">
+ <name>SimpleProviderComponent</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProviderHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleUserHomeInstance">
+ <name>SimpleUserHome</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleUserHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleUserComponentInstance">
+ <name>SimpleUserComponent</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleUserComponentInstanceReverse">
+ <name>SimpleUserComponentReverse</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="SimpleUserComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>TestConnectionReverse</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="SimpleUserComponentInstanceReverse" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleProvider_ExecArtifact">
+ <name>SimpleProvider_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleProvider_SvntArtifact">
+ <name>SimpleProvider_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleUser_ExecArtifact">
+ <name>SimpleUser_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleUser_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleUser_SvntArtifact">
+ <name>SimpleUser_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleUser_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS.cdp b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS.cdp
new file mode 100644
index 00000000000..c60ad818d6f
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NS.cdp
@@ -0,0 +1,279 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleProviderHomeImplementation">
+ <name>SimpleProviderHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleProviderComponentImplementation">
+ <name>SimpleProviderComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleUserHomeImplementation">
+ <name>SimpleUserHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleUser_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleUserHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleUserHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUser_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUser_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleUserComponentImplementation">
+ <name>SimpleUserComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleUser_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleProviderHomeInstance">
+ <name>SimpleProviderHome</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleProviderComponentInstance">
+ <name>SimpleProviderComponent</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProviderHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleUserHomeInstance">
+ <name>SimpleUserHome</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleUserHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleUserComponentInstance">
+ <name>SimpleUserComponent</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.RegisterNaming</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUserComponent</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleUserComponentInstanceReverse">
+ <name>SimpleUserComponentReverse</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstance" />
+ </internalEndpoint>
+<!-- <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="SimpleUserComponentInstance" />
+ </internalEndpoint>-->
+ <externalReference>
+ <location>corbaname:rir:/NameService#SimpleUserComponent</location>
+ <provider>false</provider>
+ <portName>trig</portName>
+ <supportedType>Meaningless</supportedType>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>TestConnectionReverse</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="SimpleUserComponentInstanceReverse" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleProvider_ExecArtifact">
+ <name>SimpleProvider_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleProvider_SvntArtifact">
+ <name>SimpleProvider_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleUser_ExecArtifact">
+ <name>SimpleUser_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleUser_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleUser_SvntArtifact">
+ <name>SimpleUser_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleUser_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NilFacet.cdp b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NilFacet.cdp
new file mode 100644
index 00000000000..e9539795797
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/SimplexConnectionExplicitHome_NilFacet.cdp
@@ -0,0 +1,262 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleNilFacetProviderHomeImplementation">
+ <name>SimpleNilFacetProviderHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleNilFacetProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleNilFacetProvider_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleNilFacetProviderHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleNilFacetProviderHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNilFacetProvider_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNilFacetProvider_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleNilFacetProviderComponentImplementation">
+ <name>SimpleNilFacetProviderComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleNilFacetProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleNilFacetProvider_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleNilFacetUserHomeImplementation">
+ <name>SimpleNilFacetUserHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleNilFacetUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleNilFacetUser_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleNilFacetUserHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleNilFacetUserHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNilFacetUser_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNilFacetUser_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleNilFacetUserComponentImplementation">
+ <name>SimpleNilFacetUserComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleNilFacetUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleNilFacetUser_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleNilFacetProviderHomeInstance">
+ <name>SimpleNilFacetProviderHome</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleNilFacetProviderHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleNilFacetProviderComponentInstance">
+ <name>SimpleNilFacetProviderComponent</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleNilFacetProviderComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNilFacetProviderHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleNilFacetUserHomeInstance">
+ <name>SimpleNilFacetUserHome</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleNilFacetUserHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleNilFacetUserComponentInstance">
+ <name>SimpleNilFacetUserComponent</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleNilFacetUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNilFacetUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleNilFacetUserComponentInstanceReverse">
+ <name>SimpleNilFacetUserComponentReverse</name>
+ <node>NodeTwo</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleNilFacetUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNilFacetUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleNilFacetProviderComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="SimpleNilFacetUserComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>TestConnectionReverse</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="SimpleNilFacetUserComponentInstanceReverse" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleNilFacetProviderComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleNilFacetProvider_ExecArtifact">
+ <name>SimpleNilFacetProvider_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleNilFacetProvider_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleNilFacetProvider_SvntArtifact">
+ <name>SimpleNilFacetProvider_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleNilFacetProvider_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleNilFacetUser_ExecArtifact">
+ <name>SimpleNilFacetUser_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleNilFacetUser_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleNilFacetUser_SvntArtifact">
+ <name>SimpleNilFacetUser_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleNilFacetUser_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/em_launcher.mpc b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/em_launcher.mpc
new file mode 100644
index 00000000000..0d18fbd856c
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/em_launcher.mpc
@@ -0,0 +1,6 @@
+// $Id$
+project(simple_em_launcher) : ciao_config_handlers, dance_nodemanager_stub, dance_domainapplication_stub, dance_executionmanager_stub, ciao_logger {
+ Source_Files {
+ simple_em_launcher.cpp
+ }
+}
diff --git a/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl
new file mode 100755
index 00000000000..3c6d113f39a
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl
@@ -0,0 +1,174 @@
+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::Run_Test;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DAnCE = "$ENV{'DANCE_ROOT'}";
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+$daemons = 2;
+@ports = ( 60001, 60002 );
+@iorfiles = ( "NodeApp1.ior", "NodeApp2.ior" );
+@nodenames = ( "NodeOne", "NodeTwo" );
+$status = 0;
+$dat_file = "NodeManagerMap.dat";
+
+$nsior = PerlACE::LocalFile ("ns.ior");
+
+PerlACE::add_lib_path ('../Components');
+
+$E = 0;
+$EM = 0;
+$retval = 0;
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $daemons; ++$i) {
+ unlink $iorfiles[$i];
+ }
+ unlink PerlACE::LocalFile ("EM.ior");
+ unlink PerlACE::LocalFile ("Receiver.ior");
+ unlink PerlACE::LocalFile ("Sender.ior");
+ unlink PerlACE::LocalFile ("DAM.ior");
+ unlink PerlACE::LocalFile ("ns.ior");
+}
+
+sub kill_node_daemons {
+ for ($i = 0; $i < $daemons; ++$i) {
+ $Daemons[$i]->Kill (); $Daemons[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemons ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill ();
+ $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill ();
+ $NS->TimedWait (1);
+ }
+
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $daemons; ++$i)
+ {
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+
+ $d_cmd = "$DAnCE/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";
+
+ $Daemons[$i] = new PerlACE::Process ($d_cmd, $d_param);
+ $result = $Daemons[$i]->Spawn ();
+ push(@processes, $Daemons[$i]);
+
+ if (PerlACE::waitforfile_timed ($iorfile,
+ 30) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $Daemons[$i]->Kill (); $Daemons[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+if ($#ARGV == -1)
+{
+ opendir(DIR, ".");
+ @files = grep(/\.cdp$/,readdir(DIR));
+ closedir(DIR);
+} else {
+ @files = @ARGV;
+}
+
+foreach $file (@files) {
+ print "Starting test for deployment $file\n";
+ delete_ior_files ();
+
+ print STDERR "Starting Naming Service\n";
+
+ $NS = new PerlACE::Process ("$TAO_ROOT/orbsvcs/Naming_Service/Naming_Service", "-m 0 -ORBEndpoint iiop://localhost:60003 -o ns.ior");
+ $NS->Spawn ();
+
+ if (PerlACE::waitforfile_timed ($nsior, $PerlACE::wait_interval_for_process_creation) == -1)
+ {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill ();
+ exit 1;
+ }
+ $ns_running = 1;
+
+# Set up NamingService environment
+ $ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+
+# Invoke node daemons.
+ print "Invoking node daemons\n";
+ $status = run_node_daemons ();
+
+ if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemons\n";
+ kill_open_processes ();
+ exit 1;
+ }
+
+ $daemons_running = 1;
+
+ # Invoke execution manager.
+ print "Invoking execution manager\n";
+ $EM = new PerlACE::Process ("$DAnCE/bin/dance_execution_manager",
+ "-eEM.ior --domain-nc corbaloc:rir:/NameService");
+ $EM->Spawn ();
+
+ if (PerlACE::waitforfile_timed ("EM.ior",
+ $PerlACE::wait_interval_for_process_creation) == -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 - start the application -\n";
+ $E = new PerlACE::Process ("simple_em_launcher",
+ "file://EM.ior $file");
+
+ $status = $E->SpawnWaitKill (5000);
+
+ if ($status != 0)
+ {
+ print "ERROR: simple_em_launcher returned an error code while deploying $file\n";
+ $retval = -1;
+ }
+
+ delete_ior_files ();
+ kill_open_processes ();
+}
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;
diff --git a/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/simple_em_launcher.cpp b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/simple_em_launcher.cpp
new file mode 100644
index 00000000000..c742d37c181
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/simple_em_launcher.cpp
@@ -0,0 +1,130 @@
+/**
+ * @file simple_em_launcher.cpp
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ * // $Id$
+ * Launches then immediately tears down a plan.
+ */
+
+
+#include "ace/OS_NS_unistd.h"
+#include "tao/ORB.h"
+#include "ciao/Logger/Logger_Service.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "DAnCE/Logger/Logger_Service.h"
+#include "DAnCE/Logger/Log_Macros.h"
+#include "Deployment/Deployment_DomainApplicationC.h"
+#include "Deployment/Deployment_ExecutionManagerC.h"
+#include "Deployment/Deployment_DeploymentPlanC.h"
+#include "tools/Config_Handlers/XML_File_Intf.h"
+
+int usage ()
+{
+ DANCE_ERROR ((LM_ERROR, "simple_nm_launcher <nm_url> <plan>\n"));
+ return -1;
+}
+
+#include <iostream>
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ CIAO_DISABLE_TRACE ();
+
+ auto_ptr<CIAO::Logger_Service> logger;
+
+ CIAO::Logger_Service
+ * dlf = ACE_Dynamic_Service<CIAO::Logger_Service>::instance ("CIAO_Logger_Backend_Factory");
+
+ if (!dlf)
+ dlf = new CIAO::Logger_Service;
+
+ logger.reset (dlf);
+ logger->init (argc, argv);
+
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
+
+ if (argc != 3)
+ return usage ();
+
+ try
+ {
+ DANCE_DEBUG ((LM_INFO, ACE_TEXT ("*** simple_em_launcher: parsing XML\n")));
+ // Parse plan
+ CIAO::Config_Handlers::XML_File_Intf xml (argv[2]);
+ xml.add_search_path (ACE_TEXT ("CIAO_ROOT"), ACE_TEXT ("/docs/schema/"));
+
+ auto_ptr< ::Deployment::DeploymentPlan> plan (xml.release_plan ());
+
+ if (plan.get () == 0)
+ {
+ DANCE_ERROR ((LM_ERROR, ACE_TEXT ("*** error parsing XML document\n")));
+ throw 1;
+ }
+
+
+ DANCE_DEBUG ((LM_INFO, ACE_TEXT ("*** simple_em_launcher: resoling execution manager reference.\n")));
+ CORBA::Object_var obj = orb->string_to_object (argv[1]);
+ Deployment::ExecutionManager_var em = Deployment::ExecutionManager::_narrow (obj.in ());
+
+ if (CORBA::is_nil (em.in ()))
+ {
+ DANCE_ERROR ((LM_ERROR, ACE_TEXT ("*** simple_em_launcher: ExecutionManager reference is nil.")));
+ throw 1;
+ }
+
+ DANCE_DEBUG ((LM_INFO, ACE_TEXT ("*** simple_em_launcher: calling prepareplan.\n")));
+ Deployment::DomainApplicationManager_var dam = em->preparePlan (*plan,
+ Deployment::ResourceCommitmentManager::_nil ());
+
+ DANCE_DEBUG ((LM_INFO, ACE_TEXT ("*** simple_em_launcher: calling startLaunch\n")));
+ Deployment::Connections_var conns;
+ Deployment::Properties props;
+ Deployment::Application_var app = dam->startLaunch (props, conns.out ());
+ Deployment::DomainApplication_var da = Deployment::DomainApplication::_narrow (app.in ());
+
+ DANCE_DEBUG ((LM_INFO, ACE_TEXT ("*** simple_em_launcher: calling finishLaunch\n")));
+ da->finishLaunch (conns.in (), false);
+
+ DANCE_DEBUG ((LM_INFO, ACE_TEXT ("*** simple_em_launcher: calling start\n")));
+ da->start ();
+
+ DANCE_DEBUG ((LM_INFO, ACE_TEXT ("*** simple_em_launcher: start finished, sleeping 5 seconds.\n")));
+ ACE_OS::sleep (5);
+ DANCE_DEBUG ((LM_INFO, ACE_TEXT ("*** simple_em_launcher: waking up from sleep, calling destroyApplication\n")));
+
+ dam->destroyApplication (da.in ());
+
+ DANCE_DEBUG ((LM_INFO, ACE_TEXT ("*** simple_em_launcher: calling destroyManager\n")));
+
+ em->destroyManager (dam.in ());
+
+ DANCE_DEBUG ((LM_INFO, ACE_TEXT ("*** simple_em_launcher: destroyManager completed.\n")));
+
+ orb->destroy ();
+ }
+ catch (const Deployment::StopError &ex)
+ {
+ DANCE_ERROR ((LM_ERROR, ACE_TEXT ("*** Caught StopError exception with name %C and reason %C\n"),
+ ex.name.in (), ex.reason.in ()));
+ return -1;
+ }
+ catch (const Deployment::StartError &ex)
+ {
+ DANCE_ERROR ((LM_ERROR, ACE_TEXT ("*** Caught StartError exception with name %C and reason %C\n"),
+ ex.name.in (), ex.reason.in ()));
+ return -1;
+ }
+ catch (const CORBA::Exception &ex)
+ {
+ DANCE_ERROR ((LM_ERROR, ACE_TEXT ("*** Caught CORBA exception: %C\n"),
+ ex._info ().c_str ()));
+ return -1;
+
+ }
+ catch (...)
+ {
+ orb->destroy ();
+ DANCE_ERROR ((LM_ERROR, ACE_TEXT ("*** Caught unknown exception\n")));
+ return -1;
+ }
+ return 0;
+}
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/EmitsConnectionExplicitHome.cdp b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/EmitsConnectionExplicitHome.cdp
new file mode 100644
index 00000000000..6ac17b1e9e9
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/EmitsConnectionExplicitHome.cdp
@@ -0,0 +1,227 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleEmitterHomeImplementation">
+ <name>SimpleEmitterHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleEmitter_ExecArtifact" />
+ <artifact xmi:idref="SimpleEmitter_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleEmitterHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleEmitterHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleEmitter_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleEmitter_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleEmitterComponentImplementation">
+ <name>SimpleEmitterComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleEmitter_ExecArtifact" />
+ <artifact xmi:idref="SimpleEmitter_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleConsumerHomeImplementation">
+ <name>SimpleConsumerHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleConsumer_ExecArtifact" />
+ <artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleConsumerHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleConsumerHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumer_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumer_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleConsumerComponentImplementation">
+ <name>SimpleConsumerComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleConsumer_ExecArtifact" />
+ <artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleEmitterHomeInstance">
+ <name>SimpleEmitterHome</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleEmitterHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleEmitterComponentInstance">
+ <name>SimpleEmitterComponent</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleEmitterComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleEmitterHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleConsumerHomeInstance">
+ <name>SimpleConsumerHome</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleConsumerHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleConsumerComponentInstance">
+ <name>SimpleConsumerComponent</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleConsumerComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumerHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <internalEndpoint>
+ <portName>hello</portName>
+ <provider>false</provider>
+ <kind>EventEmitter</kind>
+ <instance xmi:idref="SimpleEmitterComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>hello_</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance xmi:idref="SimpleConsumerComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleEmitter_ExecArtifact">
+ <name>SimpleEmitter_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleEmitter_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleEmitter_SvntArtifact">
+ <name>SimpleEmitter_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleEmitter_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleConsumer_ExecArtifact">
+ <name>SimpleConsumer_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleConsumer_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleConsumer_SvntArtifact">
+ <name>SimpleConsumer_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleConsumer_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/MultiplexConnectionExplicitHome.cdp b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/MultiplexConnectionExplicitHome.cdp
new file mode 100644
index 00000000000..45ff31929c3
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/MultiplexConnectionExplicitHome.cdp
@@ -0,0 +1,262 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleProviderHomeImplementation">
+ <name>SimpleProviderHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleProviderComponentImplementation">
+ <name>SimpleProviderComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleMultipleUserHomeImplementation">
+ <name>SimpleMultipleUserHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleMultipleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleMultipleUser_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleMultipleUserHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleMultipleUserHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleMultipleUser_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleMultipleUser_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleMultipleUserComponentImplementation">
+ <name>SimpleMultipleUserComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleMultipleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleMultipleUser_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleProviderHomeInstance">
+ <name>SimpleProviderHome</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleProviderComponentInstance">
+ <name>SimpleProviderComponent</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProviderHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleMultipleUserHomeInstance">
+ <name>SimpleMultipleUserHome</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleMultipleUserHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleMultipleUserComponentInstance">
+ <name>SimpleMultipleUserComponent</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleMultipleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleMultipleUserComponentInstanceReverse">
+ <name>SimpleMultipleUserComponentReverse</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleMultipleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleMultipleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>MultiplexReceptacle</kind>
+ <instance xmi:idref="SimpleMultipleUserComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>TestConnectionReverse</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>MultiplexReceptacle</kind>
+ <instance xmi:idref="SimpleMultipleUserComponentInstanceReverse" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleProvider_ExecArtifact">
+ <name>SimpleProvider_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleProvider_SvntArtifact">
+ <name>SimpleProvider_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleMultipleUser_ExecArtifact">
+ <name>SimpleMultipleUser_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleMultipleUser_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleMultipleUser_SvntArtifact">
+ <name>SimpleMultipleUser_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleMultipleUser_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/PublishConnectionExplicitHome.cdp b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/PublishConnectionExplicitHome.cdp
new file mode 100644
index 00000000000..53a0a54482d
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/PublishConnectionExplicitHome.cdp
@@ -0,0 +1,227 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimplePublisherHomeImplementation">
+ <name>SimplePublisherHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimplePublisher_ExecArtifact" />
+ <artifact xmi:idref="SimplePublisher_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimplePublisherHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimplePublisherHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimplePublisher_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimplePublisher_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimplePublisherComponentImplementation">
+ <name>SimplePublisherComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimplePublisher_ExecArtifact" />
+ <artifact xmi:idref="SimplePublisher_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleConsumerHomeImplementation">
+ <name>SimpleConsumerHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleConsumer_ExecArtifact" />
+ <artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleConsumerHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleConsumerHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumer_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumer_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleConsumerComponentImplementation">
+ <name>SimpleConsumerComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleConsumer_ExecArtifact" />
+ <artifact xmi:idref="SimpleConsumer_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimplePublisherHomeInstance">
+ <name>SimplePublisherHome</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimplePublisherHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimplePublisherComponentInstance">
+ <name>SimplePublisherComponent</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimplePublisherComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimplePublisherHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleConsumerHomeInstance">
+ <name>SimpleConsumerHome</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleConsumerHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleConsumerComponentInstance">
+ <name>SimpleConsumerComponent</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleConsumerComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleConsumerHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <internalEndpoint>
+ <portName>hello</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance xmi:idref="SimplePublisherComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>hello_</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance xmi:idref="SimpleConsumerComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimplePublisher_ExecArtifact">
+ <name>SimplePublisher_exec</name>
+ <source/>
+ <node/>
+ <location>SimplePublisher_exec</location>
+ </artifact>
+ <artifact xmi:id="SimplePublisher_SvntArtifact">
+ <name>SimplePublisher_svnt</name>
+ <source/>
+ <node/>
+ <location>SimplePublisher_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleConsumer_ExecArtifact">
+ <name>SimpleConsumer_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleConsumer_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleConsumer_SvntArtifact">
+ <name>SimpleConsumer_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleConsumer_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleAttributeExplicitHome.cdp b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleAttributeExplicitHome.cdp
new file mode 100644
index 00000000000..d66eef2c70b
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleAttributeExplicitHome.cdp
@@ -0,0 +1,179 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Server Dance implementation-->
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleAttributeHomeImplementation">
+ <name>SimpleAttributeHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleAttribute_ExecArtifact" />
+ <artifact xmi:idref="SimpleAttribute_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleAttributeHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleAttributeHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleAttribute_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleAttribute_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleAttributeComponentImplementation">
+ <name>SimpleAttributeComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleAttribute_ExecArtifact" />
+ <artifact xmi:idref="SimpleAttribute_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleAttributeHomeInstance">
+ <name>SimpleAttributeHome</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleAttributeHomeImplementation" />
+ <configProperty>
+ <name>str_attr</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Initialized Attribute!</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>long_attr</name>
+ <value>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ <value>
+ <long>1</long>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>short_attr</name>
+ <value>
+ <type>
+ <kind>tk_short</kind>
+ </type>
+ <value>
+ <short>1</short>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleAttributeComponentInstance">
+ <name>SimpleAttributeComponent</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleAttributeComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleAttributeHome</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>str_attr</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Initialized Attribute!</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>long_attr</name>
+ <value>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ <value>
+ <long>1</long>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>short_attr</name>
+ <value>
+ <type>
+ <kind>tk_short</kind>
+ </type>
+ <value>
+ <short>1</short>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleAttribute_ExecArtifact">
+ <name>SimpleAttribute_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleAttribute_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleAttribute_SvntArtifact">
+ <name>SimpleAttribute_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleAttribute_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentExplicitHome.cdp b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentExplicitHome.cdp
new file mode 100644
index 00000000000..5632d219c48
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentExplicitHome.cdp
@@ -0,0 +1,113 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Server Dance implementation-->
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleNullHomeImplementation">
+ <name>SimpleNullHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleNull_ExecArtifact" />
+ <artifact xmi:idref="SimpleNull_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleNullHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleNullHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNull_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNull_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleNullComponentImplementation">
+ <name>SimpleNullComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleNull_ExecArtifact" />
+ <artifact xmi:idref="SimpleNull_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleNullHomeInstance">
+ <name>SimpleNullHome</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleNullHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleNullComponentInstance">
+ <name>SimpleNullComponent</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleNullComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNullHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleNull_ExecArtifact">
+ <name>SimpleNull_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleNull_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleNull_SvntArtifact">
+ <name>SimpleNull_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleNull_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentUnhomed.cdp b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentUnhomed.cdp
new file mode 100644
index 00000000000..e31930188d2
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleComponentUnhomed.cdp
@@ -0,0 +1,86 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Server Dance implementation-->
+ <implementation xmi:id="SimpleNullComponentImplementation">
+ <name>SimpleNullComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleNull_ExecArtifact" />
+ <artifact xmi:idref="SimpleNull_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleNull_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleNull_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNull_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNull_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <instance xmi:id="SimpleNullComponentInstance">
+ <name>SimpleNullComponent</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleNullComponentImplementation" />
+ </instance>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleNull_ExecArtifact">
+ <name>SimpleNull_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleNull_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleNull_SvntArtifact">
+ <name>SimpleNull_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleNull_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleHome.cdp b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleHome.cdp
new file mode 100644
index 00000000000..a63da21f0f6
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleHome.cdp
@@ -0,0 +1,90 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Server Dance implementation-->
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleNullHomeImplementation">
+ <name>SimpleNullHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleNull_ExecArtifact" />
+ <artifact xmi:idref="SimpleNull_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleNullHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleNullHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNull_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleNull_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <!-- Instances declarations -->
+
+ <!-- Server Dance instances-->
+ <instance xmi:id="SimpleNullHomeInstance">
+ <name>SimpleNullHome</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleNullHomeImplementation" />
+ </instance>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleNull_ExecArtifact">
+ <name>SimpleNull_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleNull_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleNull_SvntArtifact">
+ <name>SimpleNull_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleNull_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleProcessColocation.cdp b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleProcessColocation.cdp
new file mode 100644
index 00000000000..f7cc1b23270
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleProcessColocation.cdp
@@ -0,0 +1,127 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Server Dance implementation-->
+ <implementation xmi:id="ProcessColocationComponentImplementation">
+ <name>ProcessColocationComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="ProcessColocation_ExecArtifact" />
+ <artifact xmi:idref="ProcessColocation_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_ProcessColocation_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_ProcessColocation_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ProcessColocation_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ProcessColocation_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <instance xmi:id="ProcessColocationComponentInstance_1">
+ <name>ProcessColocationComponent_One</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ProcessColocationComponentImplementation" />
+
+ <configProperty>
+ <name>process_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Process One</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="ProcessColocationComponentInstance_2">
+ <name>ProcessColocationComponent_Two</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ProcessColocationComponentImplementation" />
+ <configProperty>
+ <name>process_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Process Two</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="ProcessColocation_ExecArtifact">
+ <name>ProcessColocation_exec</name>
+ <source/>
+ <node/>
+ <location>ProcessColocation_exec</location>
+ </artifact>
+ <artifact xmi:id="ProcessColocation_SvntArtifact">
+ <name>ProcessColocation_svnt</name>
+ <source/>
+ <node/>
+ <location>ProcessColocation_svnt</location>
+ </artifact>
+
+ <localityConstraint>
+ <constraint>SameProcess</constraint>
+ <constrainedInstance xmi:idref="ProcessColocationComponentInstance_1" />
+ </localityConstraint>
+
+ <localityConstraint>
+ <constraint>SameProcess</constraint>
+ <constrainedInstance xmi:idref="ProcessColocationComponentInstance_2" />
+ </localityConstraint>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleProcessColocation_2.cdp b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleProcessColocation_2.cdp
new file mode 100644
index 00000000000..23da5a45e3b
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleProcessColocation_2.cdp
@@ -0,0 +1,168 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Server Dance implementation-->
+ <implementation xmi:id="ProcessColocationComponentImplementation">
+ <name>ProcessColocationComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="ProcessColocation_ExecArtifact" />
+ <artifact xmi:idref="ProcessColocation_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_ProcessColocation_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_ProcessColocation_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ProcessColocation_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ProcessColocation_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <instance xmi:id="ProcessColocationComponentInstance_1">
+ <name>ProcessColocationComponent_One</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ProcessColocationComponentImplementation" />
+
+ <configProperty>
+ <name>process_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Process One</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="ProcessColocationComponentInstance_1_2">
+ <name>ProcessColocationComponent_One_Two</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ProcessColocationComponentImplementation" />
+
+ <configProperty>
+ <name>process_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Process One</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="ProcessColocationComponentInstance_2">
+ <name>ProcessColocationComponent_Two</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ProcessColocationComponentImplementation" />
+ <configProperty>
+ <name>process_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Process Two</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="ProcessColocationComponentInstance_2_2">
+ <name>ProcessColocationComponent_Two_Two</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ProcessColocationComponentImplementation" />
+ <configProperty>
+ <name>process_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Process Two</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="ProcessColocation_ExecArtifact">
+ <name>ProcessColocation_exec</name>
+ <source/>
+ <node/>
+ <location>ProcessColocation_exec</location>
+ </artifact>
+ <artifact xmi:id="ProcessColocation_SvntArtifact">
+ <name>ProcessColocation_svnt</name>
+ <source/>
+ <node/>
+ <location>ProcessColocation_svnt</location>
+ </artifact>
+
+ <localityConstraint>
+ <constraint>SameProcess</constraint>
+ <constrainedInstance xmi:idref="ProcessColocationComponentInstance_1" />
+ <constrainedInstance xmi:idref="ProcessColocationComponentInstance_1_2" />
+ </localityConstraint>
+
+ <localityConstraint>
+ <constraint>SameProcess</constraint>
+ <constrainedInstance xmi:idref="ProcessColocationComponentInstance_2" />
+ <constrainedInstance xmi:idref="ProcessColocationComponentInstance_2_2" />
+ </localityConstraint>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleProcessColocation_Default.cdp b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleProcessColocation_Default.cdp
new file mode 100644
index 00000000000..68ea0ce0c70
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimpleProcessColocation_Default.cdp
@@ -0,0 +1,208 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Server Dance implementation-->
+ <implementation xmi:id="ProcessColocationComponentImplementation">
+ <name>ProcessColocationComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="ProcessColocation_ExecArtifact" />
+ <artifact xmi:idref="ProcessColocation_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_ProcessColocation_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_ProcessColocation_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ProcessColocation_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ProcessColocation_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <instance xmi:id="ProcessColocationComponentInstance_Default_1">
+ <name>ProcessColocationComponent_Default_One</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ProcessColocationComponentImplementation" />
+
+ <configProperty>
+ <name>process_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Default Process</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="ProcessColocationComponentInstance_Default_2">
+ <name>ProcessColocationComponent_Default_Two</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ProcessColocationComponentImplementation" />
+
+ <configProperty>
+ <name>process_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Default Process</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="ProcessColocationComponentInstance_1">
+ <name>ProcessColocationComponent_One</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ProcessColocationComponentImplementation" />
+
+ <configProperty>
+ <name>process_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Process One</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="ProcessColocationComponentInstance_1_2">
+ <name>ProcessColocationComponent_One_Two</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ProcessColocationComponentImplementation" />
+
+ <configProperty>
+ <name>process_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Process One</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="ProcessColocationComponentInstance_2">
+ <name>ProcessColocationComponent_Two</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ProcessColocationComponentImplementation" />
+ <configProperty>
+ <name>process_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Process Two</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="ProcessColocationComponentInstance_2_2">
+ <name>ProcessColocationComponent_Two_Two</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ProcessColocationComponentImplementation" />
+ <configProperty>
+ <name>process_name</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Process Two</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="ProcessColocation_ExecArtifact">
+ <name>ProcessColocation_exec</name>
+ <source/>
+ <node/>
+ <location>ProcessColocation_exec</location>
+ </artifact>
+ <artifact xmi:id="ProcessColocation_SvntArtifact">
+ <name>ProcessColocation_svnt</name>
+ <source/>
+ <node/>
+ <location>ProcessColocation_svnt</location>
+ </artifact>
+
+ <localityConstraint>
+ <constraint>SameProcess</constraint>
+ <constrainedInstance xmi:idref="ProcessColocationComponentInstance_1" />
+ <constrainedInstance xmi:idref="ProcessColocationComponentInstance_1_2" />
+ </localityConstraint>
+
+ <localityConstraint>
+ <constraint>SameProcess</constraint>
+ <constrainedInstance xmi:idref="ProcessColocationComponentInstance_2" />
+ <constrainedInstance xmi:idref="ProcessColocationComponentInstance_2_2" />
+ </localityConstraint>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimplexConnectionExplicitHome.cdp b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimplexConnectionExplicitHome.cdp
new file mode 100644
index 00000000000..f3f1e1ca6e9
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/SimplexConnectionExplicitHome.cdp
@@ -0,0 +1,262 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleProviderHomeImplementation">
+ <name>SimpleProviderHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleProviderComponentImplementation">
+ <name>SimpleProviderComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleUserHomeImplementation">
+ <name>SimpleUserHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleUser_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleUserHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleUserHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUser_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUser_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleUserComponentImplementation">
+ <name>SimpleUserComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleUser_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleProviderHomeInstance">
+ <name>SimpleProviderHome</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleProviderComponentInstance">
+ <name>SimpleProviderComponent</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProviderHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleUserHomeInstance">
+ <name>SimpleUserHome</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleUserHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleUserComponentInstance">
+ <name>SimpleUserComponent</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleUserComponentInstanceReverse">
+ <name>SimpleUserComponentReverse</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="SimpleUserComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>TestConnectionReverse</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="SimpleUserComponentInstanceReverse" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleProvider_ExecArtifact">
+ <name>SimpleProvider_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleProvider_SvntArtifact">
+ <name>SimpleProvider_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleUser_ExecArtifact">
+ <name>SimpleUser_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleUser_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleUser_SvntArtifact">
+ <name>SimpleUser_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleUser_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/TwoComponentsOneHome.cdp b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/TwoComponentsOneHome.cdp
new file mode 100644
index 00000000000..e02732e05bb
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/TwoComponentsOneHome.cdp
@@ -0,0 +1,281 @@
+<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>SimpleComponent_Home</label>
+ <UUID>SimpleComponent_Home</UUID>
+
+ <!-- Implementations declarations -->
+
+ <!-- Home implementation -->
+ <implementation xmi:id="SimpleProviderHomeImplementation">
+ <name>SimpleProviderHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleProviderHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProvider_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleProviderComponentImplementation">
+ <name>SimpleProviderComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleProvider_ExecArtifact" />
+ <artifact xmi:idref="SimpleProvider_SvntArtifact" />
+ </implementation>
+
+ <implementation xmi:id="SimpleUserHomeImplementation">
+ <name>SimpleUserHomeImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleUser_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleUserHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Simple_SimpleUserHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUser_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUser_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="SimpleUserComponentImplementation">
+ <name>SimpleUserComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="SimpleUser_ExecArtifact" />
+ <artifact xmi:idref="SimpleUser_SvntArtifact" />
+ </implementation>
+
+ <instance xmi:id="SimpleProviderHomeInstance">
+ <name>SimpleProviderHome</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleProviderComponentInstance">
+ <name>SimpleProviderComponent</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProviderHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleProviderComponentInstanceOne">
+ <name>SimpleProviderComponentOne</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleProviderComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleProviderHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleUserHomeInstance">
+ <name>SimpleUserHome</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleUserHomeImplementation" />
+ </instance>
+
+ <instance xmi:id="SimpleUserComponentInstance">
+ <name>SimpleUserComponent</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="SimpleUserComponentInstanceReverse">
+ <name>SimpleUserComponentReverse</name>
+ <node>Node</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="SimpleUserComponentImplementation" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.ExplicitHome</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SimpleUserHome</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <connection>
+ <name>TestConnection</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="SimpleUserComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>TestConnectionReverse</name>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="SimpleUserComponentInstanceReverse" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>trig</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="SimpleProviderComponentInstanceOne" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="SimpleProvider_ExecArtifact">
+ <name>SimpleProvider_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleProvider_SvntArtifact">
+ <name>SimpleProvider_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleProvider_svnt</location>
+ </artifact>
+
+ <artifact xmi:id="SimpleUser_ExecArtifact">
+ <name>SimpleUser_exec</name>
+ <source/>
+ <node/>
+ <location>SimpleUser_exec</location>
+ </artifact>
+ <artifact xmi:id="SimpleUser_SvntArtifact">
+ <name>SimpleUser_svnt</name>
+ <source/>
+ <node/>
+ <location>SimpleUser_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/nm_launcher.mpc b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/nm_launcher.mpc
new file mode 100644
index 00000000000..818130bfbb4
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/nm_launcher.mpc
@@ -0,0 +1,6 @@
+// $Id$
+project(simple_nm_launcher) : ciao_config_handlers, dance_nodemanager_stub, dance_nodeapplication_stub, dance_logger {
+ Source_Files {
+ simple_nm_launcher.cpp
+ }
+}
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl
new file mode 100755
index 00000000000..7035cec2bcf
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl
@@ -0,0 +1,117 @@
+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::Run_Test;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DAnCE = "$ENV{'DANCE_ROOT'}";
+$daemons_running = 0;
+$daemons = 1;
+@ports = ( 60001 );
+@iorfiles = ( "NodeApp1.ior" );
+@nodenames = ( "Node" );
+$status = 0;
+
+PerlACE::add_lib_path ('../Components');
+
+$E = 0;
+$EM = 0;
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $daemons; ++$i) {
+ unlink $iorfiles[$i];
+ }
+}
+
+sub kill_node_daemons {
+ for ($i = 0; $i < $daemons; ++$i) {
+ $Daemons[$i]->Kill (); $Daemons[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemons ();
+ }
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $daemons; ++$i)
+ {
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+
+ $d_cmd = "$DAnCE/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30";
+
+ $Daemons[$i] = new PerlACE::Process ($d_cmd, $d_param);
+ $result = $Daemons[$i]->Spawn ();
+ push(@processes, $Daemons[$i]);
+
+ if (PerlACE::waitforfile_timed ($iorfile,
+ 30) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $Daemons[$i]->Kill (); $Daemons[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+if ($#ARGV == -1)
+{
+ opendir(DIR, ".");
+ @files = grep(/\.cdp$/,readdir(DIR));
+ closedir(DIR);
+} else {
+ @files = @ARGV;
+}
+
+foreach $file (@files) {
+ delete_ior_files ();
+
+ print "Running test for plan $file\n";
+
+ # Invoke node daemons.
+ 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 executor - start the application -.
+ print "Launching the plan. file://NodeApp1.ior \n";
+ $E = new PerlACE::Process ("simple_nm_launcher",
+ "file://NodeApp1.ior $file");
+
+ $status = $E->SpawnWaitKill (5000);
+
+ if ($status != 0)
+ {
+ print "ERROR: simple_nm_launcher returned error status $status\n";
+ }
+
+ print "Test for plan $file succeeded\n";
+ kill_open_processes ();
+}
+
+
+exit $status;
diff --git a/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/simple_nm_launcher.cpp b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/simple_nm_launcher.cpp
new file mode 100644
index 00000000000..2e7258ff89c
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/simple_nm_launcher.cpp
@@ -0,0 +1,127 @@
+/**
+ * @file simple_nm_launcher.cpp
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ * $Id$
+ * Launches then immediately tears down a plan.
+ */
+
+#include "ace/OS_NS_unistd.h"
+#include "tao/ORB.h"
+#include "DAnCE/Logger/Logger_Service.h"
+#include "DAnCE/Logger/Log_Macros.h"
+#include "Deployment/Deployment_NodeApplicationC.h"
+#include "Deployment/Deployment_NodeManagerC.h"
+#include "Deployment/Deployment_DeploymentPlanC.h"
+#include "tools/Config_Handlers/XML_File_Intf.h"
+
+int usage ()
+{
+ DANCE_ERROR ((LM_ERROR, "simple_nm_launcher <nm_url> <plan>\n"));
+ return -1;
+}
+
+#include <iostream>
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ DANCE_DISABLE_TRACE ();
+
+ auto_ptr<DAnCE::Logger_Service> logger;
+
+ DAnCE::Logger_Service
+ * dlf = ACE_Dynamic_Service<DAnCE::Logger_Service>::instance ("DAnCE_Logger_Backend_Factory");
+
+ if (!dlf)
+ dlf = new DAnCE::Logger_Service;
+
+ logger.reset (dlf);
+ logger->init (argc, argv);
+
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
+
+ if (argc != 3)
+ return usage ();
+
+ try
+ {
+ DANCE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: parsing XML\n")));
+ // Parse plan
+ CIAO::Config_Handlers::XML_File_Intf xml (argv[2]);
+ xml.add_search_path (ACE_TEXT ("CIAO_ROOT"), ACE_TEXT ("/docs/schema/"));
+
+ auto_ptr< ::Deployment::DeploymentPlan> plan (xml.release_plan ());
+
+ if (plan.get () == 0)
+ {
+ DANCE_ERROR ((LM_ERROR,ACE_TEXT ("*** error parsing XML document\n")));
+ throw 1;
+ }
+
+
+ DANCE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: resoling node manager reference.\n")));
+ CORBA::Object_var obj = orb->string_to_object (argv[1]);
+ Deployment::NodeManager_var nm = Deployment::NodeManager::_narrow (obj.in ());
+
+ if (CORBA::is_nil (nm.in ()))
+ {
+ DANCE_ERROR ((LM_ERROR,ACE_TEXT ("*** simple_nm_launcher: NodeManager reference is nil.")));
+ throw 1;
+ }
+
+ DANCE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: calling prepareplan.\n")));
+ Deployment::NodeApplicationManager_var nam = nm->preparePlan (*plan,
+ Deployment::ResourceCommitmentManager::_nil ());
+
+ DANCE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: calling startLaunch\n")));
+ Deployment::Connections_var conns;
+ Deployment::Properties props;
+ Deployment::Application_var app = nam->startLaunch (props, conns.out ());
+ Deployment::NodeApplication_var na = Deployment::NodeApplication::_narrow (app.in ());
+
+ DANCE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: calling finishLaunch\n")));
+ na->finishLaunch (conns.in (), false);
+
+ DANCE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: calling start\n")));
+ na->start ();
+
+ DANCE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: start finished, sleeping 5 seconds.\n")));
+ ACE_OS::sleep (5);
+ DANCE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: waking up from sleep, calling destroyApplication\n")));
+
+ nam->destroyApplication (na.in ());
+
+ DANCE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: calling destroyManager\n")));
+
+ nm->destroyManager (nam.in ());
+
+ DANCE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: destroyManager completed.\n")));
+
+ orb->destroy ();
+ }
+ catch (Deployment::StopError &ex)
+ {
+ DANCE_ERROR ((LM_ERROR,ACE_TEXT ("*** Caught StopError exception with name %s and reason %s\n"),
+ ex.name.in (), ex.reason.in ()));
+ return -1;
+ }
+ catch (Deployment::StartError &ex)
+ {
+ DANCE_ERROR ((LM_ERROR,ACE_TEXT ("*** Caught StartError exception with name %s and reason %s\n"),
+ ex.name.in (), ex.reason.in ()));
+ return -1;
+ }
+ catch (CORBA::Exception &ex)
+ {
+ DANCE_ERROR ((LM_ERROR,ACE_TEXT ("*** Caught CORBA exception: %s\n"),
+ ex._info ().c_str ()));
+ return -1;
+
+ }
+ catch (...)
+ {
+ orb->destroy ();
+ DANCE_ERROR ((LM_ERROR,ACE_TEXT ("*** Caught unknown exception\n")));
+ return -1;
+ }
+ return 0;
+}
diff --git a/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance2-host1.cdp b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance2-host1.cdp
new file mode 100644
index 00000000000..ae648c66207
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance2-host1.cdp
@@ -0,0 +1,639 @@
+<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>CCmDance2_1</label>
+ <UUID>CcmDance2_1</UUID>
+
+ <realizes></realizes>
+
+ <!-- Implementations declarations -->
+
+ <!-- Client Dance implementation-->
+ <!-- Home implementation -->
+ <implementation id="ClientDanceHomeImplementation">
+ <name>ClientDanceHomeImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_ClientDanceHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/ClientModule/ClientDanceHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance2Test.ClientModule.SessionClientDanceHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+<!-- <execParameter> -->
+ <!-- VALUETYPE_FACTORY_DEPENDENCIES -->
+<!-- <name>cdmw.config.ValuetypeFactoryDependencies</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>ValuetypeFactoryDescription</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ValuetypeFactoryDescription:1.0</typeId>
+ <member>
+ <name>repid</name>
+ <type>
+ <kind>tk_alias</kind>
+ <alias>
+ <name>RepositoryId</name>
+ <typeId>IDL:omg.org/CORBA/RepositoryId</typeId>
+ <elementType>
+ <kind>tk_string</kind>
+ </elementType>
+ </alias>
+ </type>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ </struct>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <member>
+ <name>repid</name>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/EventTypeModule/HostnameResult:1.0</string>
+ </value>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <value>
+ <string>createHostnameResultFactory</string>
+ </value>
+ </member>
+ </element>
+ </value>
+ </value>
+ </execParameter> -->
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="ClientDanceImplementation">
+ <name>ClientDanceImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+ </implementation>
+
+
+ <!-- Test Driver implementation-->
+ <!-- Home implementation -->
+ <implementation id="TestDriverHomeImplementation">
+ <name>TestDriverHomeImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_TestDriverHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/DriverModule/TestDriverHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance2Test.DriverModule.SessionTestDriverHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="TestDriverImplementation">
+ <name>TestDriverImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+ </implementation>
+
+
+
+
+
+
+ <!-- Instances declarations -->
+
+ <!-- Client Dance instances-->
+ <instance id="ClientDanceHome1">
+ <name>ClientDanceHome1</name>
+ <node>Host1</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>ClientDanceHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceProcess2@CcmDance2Application</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="ClientDance1">
+ <name>ClientDance1</name>
+ <node>Host1</node>
+ <source/>
+ <implementation>ClientDanceImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceHome1</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDance1</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: configuration-->
+ <name>configuration</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Client1</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedServerHostname-->
+ <name>expectedServerHostname</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4y.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+ <!-- Test Driver instances-->
+ <instance id="TestDriverHome">
+ <name>TestDriverHome</name>
+ <node>Host1</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>TestDriverHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceProcess2@CcmDance2Application</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="TestDriver1">
+ <name>TestDriver1</name>
+ <node>Host1</node>
+ <source/>
+ <implementation>TestDriverImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>TestDriverHome</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>TestDriver1</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+
+
+
+ <!-- Connections declarations -->
+
+ <connection>
+ <name>client1_receptacle</name>
+ <internalEndpoint>
+ <portName>serverHostInfo</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::rhel4y.prismtech.com:12345#Host2/CcmDance2_1.DeploymentPlan/ServerDance/serverHostInfo1.Port</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>server_receptacle1</name>
+ <internalEndpoint>
+ <portName>clientHostInfo</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::rhel4y.prismtech.com:12345#Host2/CcmDance2_1.DeploymentPlan/ServerDance.Component</location>
+ <provider>false</provider>
+ <portName>clientHostInfo1</portName>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>client1_consumer_to_publishes</name>
+ <internalEndpoint>
+ <portName>hostnameResults</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::rhel4y.prismtech.com:12345#Host2/CcmDance2_1.DeploymentPlan/ServerDance.Component</location>
+ <provider>false</provider>
+ <portName>hostnamePublishes</portName>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>server_consumer_to_emits1</name>
+ <internalEndpoint>
+ <portName>commandEmits</portName>
+ <provider>false</provider>
+ <kind>EventEmitter</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::rhel4y.prismtech.com:12345#Host2/CcmDance2_1.DeploymentPlan/ServerDance/commands.Port</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>client1_sayHello</name>
+ <internalEndpoint>
+ <portName>sayHello</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::rhel4y.prismtech.com:12345#Host2/CcmDance2_1.DeploymentPlan/ServerDance/supports.Port</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>client1_naming</name>
+ <internalEndpoint>
+ <portName>naming</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::rhel4x.prismtech.com:21869</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>testDriver_server</name>
+ <internalEndpoint>
+ <portName>server</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::rhel4y.prismtech.com:12345#Host2/CcmDance2_1.DeploymentPlan/ServerDance/supports.Port</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>testDriver_client1</name>
+ <internalEndpoint>
+ <portName>client1</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>testDriver_client2</name>
+ <internalEndpoint>
+ <portName>client2</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::rhel4y.prismtech.com:12345#Host2/CcmDance2_1.DeploymentPlan/ClientDance2/supports.Port</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>testDriver_sayHello</name>
+ <internalEndpoint>
+ <portName>handshake</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::rhel4y.prismtech.com:12345#Host2/CcmDance2_1.DeploymentPlan/ServerDance/supports.Port</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact id="ClientDanceArtifact">
+ <name>ClientDanceArtifact</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance2/c++/i686-pc-linux-gnu/libClientCcmDance2Demo.so</location>
+ <execParameter>
+ <name>repid</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/EventTypeModule/HostnameResult:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>factory_entrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createHostnameResultFactory</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance2-host2.cdp b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance2-host2.cdp
new file mode 100644
index 00000000000..df5d7435536
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance2-host2.cdp
@@ -0,0 +1,969 @@
+<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>CCmDance2_1</label>
+ <UUID>CcmDance2_1</UUID>
+
+ <realizes></realizes>
+
+ <!-- Implementations declarations -->
+
+ <!-- Server Dance implementation-->
+ <!-- Home implementation -->
+ <implementation id="ServerDanceHomeImplementation">
+ <name>ServerDanceHomeImplementation</name>
+ <source/>
+ <artifact>ServerDanceArtifact1</artifact>
+ <artifact>ServerDanceArtifact2</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_ServerDanceHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/ServerModule/ServerDanceHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance2Test.ServerModule.SessionServerDanceHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+<!-- <execParameter> -->
+ <!-- VALUETYPE_FACTORY_DEPENDENCIES -->
+<!-- <name>cdmw.config.ValuetypeFactoryDependencies</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>ValuetypeFactoryDescription</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ValuetypeFactoryDescription:1.0</typeId>
+ <member>
+ <name>repid</name>
+ <type>
+ <kind>tk_alias</kind>
+ <alias>
+ <name>RepositoryId</name>
+ <typeId>IDL:omg.org/CORBA/RepositoryId</typeId>
+ <elementType>
+ <kind>tk_string</kind>
+ </elementType>
+ </alias>
+ </type>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ </struct>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <member>
+ <name>repid</name>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/EventTypeModule/Command:1.0</string>
+ </value>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <value>
+ <string>createCommandFactory</string>
+ </value>
+ </member>
+ </element>
+ </value>
+ <value>
+ <element>
+ <member>
+ <name>repid</name>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/FooValueType:1.0</string>
+ </value>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <value>
+ <string>createFooValueTypeFactory</string>
+ </value>
+ </member>
+ </element>
+ </value>
+ </value>
+ </execParameter> -->
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="ServerDanceImplementation">
+ <name>ServerDanceImplementation</name>
+ <source/>
+ <artifact>ServerDanceArtifact1</artifact>
+ </implementation>
+
+
+
+ <!-- Client Dance implementation-->
+ <!-- Home implementation -->
+ <implementation id="ClientDanceHomeImplementation">
+ <name>ClientDanceHomeImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_ClientDanceHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/ClientModule/ClientDanceHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance2Test.ClientModule.SessionClientDanceHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+<!-- <execParameter> -->
+ <!-- VALUETYPE_FACTORY_DEPENDENCIES -->
+<!-- <name>cdmw.config.ValuetypeFactoryDependencies</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>ValuetypeFactoryDescription</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ValuetypeFactoryDescription:1.0</typeId>
+ <member>
+ <name>repid</name>
+ <type>
+ <kind>tk_alias</kind>
+ <alias>
+ <name>RepositoryId</name>
+ <typeId>IDL:omg.org/CORBA/RepositoryId</typeId>
+ <elementType>
+ <kind>tk_string</kind>
+ </elementType>
+ </alias>
+ </type>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ </struct>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <member>
+ <name>repid</name>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/EventTypeModule/HostnameResult:1.0</string>
+ </value>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <value>
+ <string>createHostnameResultFactory</string>
+ </value>
+ </member>
+ </element>
+ </value>
+ </value>
+ </execParameter> -->
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="ClientDanceImplementation">
+ <name>ClientDanceImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+ </implementation>
+
+ <!-- Instances declarations -->
+
+ <!-- Server Dance instances-->
+ <instance id="ServerDanceHome">
+ <name>ServerDanceHome</name>
+ <node>Host2</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>ServerDanceHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDanceProcess@CcmDance2Application</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="ServerDance">
+ <name>ServerDance</name>
+ <node>Host2</node>
+ <source/>
+ <implementation>ServerDanceImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDanceHome</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDance</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooStruct-->
+ <name>fooStruct</name>
+ <value>
+ <type>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>FooStruct</name>
+ <typeId>IDL:acme.com/CcmDance2Test/FooStruct:1.0</typeId>
+ <member>
+ <name>fooString</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ </member>
+ </struct>
+ </type>
+ <value>
+ <member>
+ <name>fooString</name>
+ <value>
+ <string>hello</string>
+ </value>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <value>
+ <long>250</long>
+ </value>
+ </member>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooEnum-->
+ <name>fooEnum</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>FooEnum</name>
+ <typeId>IDL:acme.com/CcmDance2Test/FooEnum:1.0</typeId>
+ <member>A</member>
+ <member>B</member>
+ <member>C</member>
+ </enum>
+ </type>
+ <value>
+ <enum>B</enum>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooStructSeq-->
+ <name>fooStructSeq</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>FooStruct</name>
+ <typeId>IDL:acme.com/CcmDance2Test/FooStruct:1.0</typeId>
+ <member>
+ <name>fooString</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ </member>
+ </struct>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <member>
+ <name>fooString</name>
+ <value>
+ <string>hello1</string>
+ </value>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <value>
+ <long>123</long>
+ </value>
+ </member>
+ </element>
+ <element>
+ <member>
+ <name>fooString</name>
+ <value>
+ <string>hello2</string>
+ </value>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <value>
+ <long>456</long>
+ </value>
+ </member>
+ </element>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooEnumSeq-->
+ <name>fooEnumSeq</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>FooEnum</name>
+ <typeId>IDL:acme.com/CcmDance2Test/FooEnum:1.0</typeId>
+ <member>A</member>
+ <member>B</member>
+ <member>C</member>
+ </enum>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <enum>A</enum>
+ </element>
+ <element>
+ <enum>C</enum>
+ </element>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedClientHostname1-->
+ <name>expectedClientHostname1</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4x.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedClientHostname2-->
+ <name>expectedClientHostname2</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4y.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+
+ <instance id="ClientDanceHome2">
+ <name>ClientDanceHome2</name>
+ <node>Host2</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>ClientDanceHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceProcess1@CcmDance2Application</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="ClientDance2">
+ <name>ClientDance2</name>
+ <node>Host2</node>
+ <source/>
+ <implementation>ClientDanceImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceHome2</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDance2</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: configuration-->
+ <name>configuration</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Client2</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedServerHostname-->
+ <name>expectedServerHostname</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4y.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+ <!-- Connections declarations -->
+
+ <connection>
+ <name>client1_receptacle</name>
+ <internalEndpoint>
+ <portName>serverHostInfo1</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client2_receptacle</name>
+ <internalEndpoint>
+ <portName>serverHostInfo</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>serverHostInfo2</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>server_receptacle1</name>
+ <internalEndpoint>
+ <portName>clientHostInfo1</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaloc:iiop:1.2@rhel4x.prismtech.com:12345/%14%01%0f%00NUP%00%00%00%16%02%00%00%00%01%00%00%00RootPOA%00Host1%00CcmDance2_1/ClientDance1/clientHostInfo</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>server_receptacle2</name>
+ <internalEndpoint>
+ <portName>clientHostInfo2</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>clientHostInfo</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client1_consumer_to_publishes</name>
+ <internalEndpoint>
+ <portName>hostnamePublishes</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaloc:iiop:1.2@rhel4x.prismtech.com:12345/%14%01%0f%00NUP%00%00%00%16%02%00%00%00%01%00%00%00RootPOA%00Host1%00CcmDance2_1/ClientDance1/hostnameResults</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>client2_consumer_to_publishes</name>
+ <internalEndpoint>
+ <portName>hostnamePublishes</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>hostnameResults</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>server_consumer_to_emits1</name>
+ <internalEndpoint>
+ <portName>commands</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>server_consumer_to_emits2</name>
+ <internalEndpoint>
+ <portName>commandEmits</portName>
+ <provider>false</provider>
+ <kind>EventEmitter</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>commands</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client1_sayHello</name>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client2_sayHello</name>
+ <internalEndpoint>
+ <portName>sayHello</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client2_naming</name>
+ <internalEndpoint>
+ <portName>naming</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::rhel4x.prismtech.com:21869</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>testDriver_server</name>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>testDriver_client2</name>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>testDriver_sayHello</name>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+
+
+
+
+ <!-- Artifacts declarations -->
+ <artifact id="ServerDanceArtifact1">
+ <name>ServerDanceArtifact</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance2/c++/i686-pc-linux-gnu/libServerCcmDance2Demo.so</location>
+ <execParameter>
+ <name>repid</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/EventTypeModule/Command:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>factory_entrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createCommandFactory</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="ServerDanceArtifact2">
+ <name>ServerDanceArtifact</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance2/c++/i686-pc-linux-gnu/libServerCcmDance2Demo.so</location>
+ <execParameter>
+ <name>repid</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/FooValueType:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>factory_entrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createFooValueTypeFactory</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="ClientDanceArtifact">
+ <name>ClientDanceArtifact</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance2/c++/i686-pc-linux-gnu/libClientCcmDance2Demo.so</location>
+ <execParameter>
+ <name>repid</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/EventTypeModule/HostnameResult:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>factory_entrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createHostnameResultFactory</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance2.cdp b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance2.cdp
new file mode 100644
index 00000000000..7dcafb1a069
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance2.cdp
@@ -0,0 +1,1300 @@
+<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>CCmDance2_1</label>
+ <UUID>CcmDance2_1</UUID>
+
+ <realizes></realizes>
+
+ <!-- Implementations declarations -->
+
+ <!-- Server Dance implementation-->
+ <!-- Home implementation -->
+ <implementation id="ServerDanceHomeImplementation">
+ <name>ServerDanceHomeImplementation</name>
+ <source/>
+ <artifact>ServerDanceArtifact1</artifact>
+ <artifact>ServerDanceArtifact2</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_ServerDanceHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/ServerModule/ServerDanceHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance2Test.ServerModule.SessionServerDanceHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+<!-- <execParameter> -->
+ <!-- VALUETYPE_FACTORY_DEPENDENCIES -->
+<!-- <name>cdmw.config.ValuetypeFactoryDependencies</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>ValuetypeFactoryDescription</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ValuetypeFactoryDescription:1.0</typeId>
+ <member>
+ <name>repid</name>
+ <type>
+ <kind>tk_alias</kind>
+ <alias>
+ <name>RepositoryId</name>
+ <typeId>IDL:omg.org/CORBA/RepositoryId</typeId>
+ <elementType>
+ <kind>tk_string</kind>
+ </elementType>
+ </alias>
+ </type>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ </struct>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <member>
+ <name>repid</name>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/EventTypeModule/Command:1.0</string>
+ </value>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <value>
+ <string>createCommandFactory</string>
+ </value>
+ </member>
+ </element>
+ </value>
+ <value>
+ <element>
+ <member>
+ <name>repid</name>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/FooValueType:1.0</string>
+ </value>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <value>
+ <string>createFooValueTypeFactory</string>
+ </value>
+ </member>
+ </element>
+ </value>
+ </value>
+ </execParameter> -->
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="ServerDanceImplementation">
+ <name>ServerDanceImplementation</name>
+ <source/>
+ <artifact>ServerDanceArtifact1</artifact>
+ </implementation>
+
+
+
+ <!-- Client Dance implementation-->
+ <!-- Home implementation -->
+ <implementation id="ClientDanceHomeImplementation">
+ <name>ClientDanceHomeImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_ClientDanceHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/ClientModule/ClientDanceHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance2Test.ClientModule.SessionClientDanceHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+<!-- <execParameter> -->
+ <!-- VALUETYPE_FACTORY_DEPENDENCIES -->
+<!-- <name>cdmw.config.ValuetypeFactoryDependencies</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>ValuetypeFactoryDescription</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ValuetypeFactoryDescription:1.0</typeId>
+ <member>
+ <name>repid</name>
+ <type>
+ <kind>tk_alias</kind>
+ <alias>
+ <name>RepositoryId</name>
+ <typeId>IDL:omg.org/CORBA/RepositoryId</typeId>
+ <elementType>
+ <kind>tk_string</kind>
+ </elementType>
+ </alias>
+ </type>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ </struct>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <member>
+ <name>repid</name>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/EventTypeModule/HostnameResult:1.0</string>
+ </value>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <value>
+ <string>createHostnameResultFactory</string>
+ </value>
+ </member>
+ </element>
+ </value>
+ </value>
+ </execParameter> -->
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="ClientDanceImplementation">
+ <name>ClientDanceImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+ </implementation>
+
+
+ <!-- Test Driver implementation-->
+ <!-- Home implementation -->
+ <implementation id="TestDriverHomeImplementation">
+ <name>TestDriverHomeImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_TestDriverHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/DriverModule/TestDriverHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance2Test.DriverModule.SessionTestDriverHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="TestDriverImplementation">
+ <name>TestDriverImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+ </implementation>
+
+
+
+
+
+
+ <!-- Instances declarations -->
+
+ <!-- Server Dance instances-->
+ <instance id="ServerDanceHome">
+ <name>ServerDanceHome</name>
+ <node>Host2</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>ServerDanceHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDanceProcess@CcmDance2Application</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="ServerDance">
+ <name>ServerDance</name>
+ <node>Host2</node>
+ <source/>
+ <implementation>ServerDanceImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDanceHome</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDance</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooStruct-->
+ <name>fooStruct</name>
+ <value>
+ <type>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>FooStruct</name>
+ <typeId>IDL:acme.com/CcmDance2Test/FooStruct:1.0</typeId>
+ <member>
+ <name>fooString</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ </member>
+ </struct>
+ </type>
+ <value>
+ <member>
+ <name>fooString</name>
+ <value>
+ <string>hello</string>
+ </value>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <value>
+ <long>250</long>
+ </value>
+ </member>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooEnum-->
+ <name>fooEnum</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>FooEnum</name>
+ <typeId>IDL:acme.com/CcmDance2Test/FooEnum:1.0</typeId>
+ <member>A</member>
+ <member>B</member>
+ <member>C</member>
+ </enum>
+ </type>
+ <value>
+ <enum>B</enum>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooStructSeq-->
+ <name>fooStructSeq</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>FooStruct</name>
+ <typeId>IDL:acme.com/CcmDance2Test/FooStruct:1.0</typeId>
+ <member>
+ <name>fooString</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ </member>
+ </struct>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <member>
+ <name>fooString</name>
+ <value>
+ <string>hello1</string>
+ </value>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <value>
+ <long>123</long>
+ </value>
+ </member>
+ </element>
+ <element>
+ <member>
+ <name>fooString</name>
+ <value>
+ <string>hello2</string>
+ </value>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <value>
+ <long>456</long>
+ </value>
+ </member>
+ </element>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooEnumSeq-->
+ <name>fooEnumSeq</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>FooEnum</name>
+ <typeId>IDL:acme.com/CcmDance2Test/FooEnum:1.0</typeId>
+ <member>A</member>
+ <member>B</member>
+ <member>C</member>
+ </enum>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <enum>A</enum>
+ </element>
+ <element>
+ <enum>C</enum>
+ </element>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedClientHostname1-->
+ <name>expectedClientHostname1</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4x.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedClientHostname2-->
+ <name>expectedClientHostname2</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4y.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+
+ <!-- Client Dance instances-->
+ <instance id="ClientDanceHome1">
+ <name>ClientDanceHome1</name>
+ <node>Host1</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>ClientDanceHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceProcess2@CcmDance2Application</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="ClientDance1">
+ <name>ClientDance1</name>
+ <node>Host1</node>
+ <source/>
+ <implementation>ClientDanceImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceHome1</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDance1</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: configuration-->
+ <name>configuration</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Client1</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedServerHostname-->
+ <name>expectedServerHostname</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4y.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+ <instance id="ClientDanceHome2">
+ <name>ClientDanceHome2</name>
+ <node>Host2</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>ClientDanceHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceProcess1@CcmDance2Application</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="ClientDance2">
+ <name>ClientDance2</name>
+ <node>Host2</node>
+ <source/>
+ <implementation>ClientDanceImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceHome2</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDance2</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: configuration-->
+ <name>configuration</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Client2</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedServerHostname-->
+ <name>expectedServerHostname</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4y.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+ <!-- Test Driver instances-->
+ <instance id="TestDriverHome">
+ <name>TestDriverHome</name>
+ <node>Host1</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>TestDriverHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceProcess2@CcmDance2Application</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="TestDriver1">
+ <name>TestDriver1</name>
+ <node>Host1</node>
+ <source/>
+ <implementation>TestDriverImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>TestDriverHome</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>TestDriver1</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+
+
+
+ <!-- Connections declarations -->
+
+ <connection>
+ <name>client1_receptacle</name>
+ <internalEndpoint>
+ <portName>serverHostInfo</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>serverHostInfo1</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client2_receptacle</name>
+ <internalEndpoint>
+ <portName>serverHostInfo</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>serverHostInfo2</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>server_receptacle1</name>
+ <internalEndpoint>
+ <portName>clientHostInfo1</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>clientHostInfo</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>server_receptacle2</name>
+ <internalEndpoint>
+ <portName>clientHostInfo2</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>clientHostInfo</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client1_consumer_to_publishes</name>
+ <internalEndpoint>
+ <portName>hostnamePublishes</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>hostnameResults</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client2_consumer_to_publishes</name>
+ <internalEndpoint>
+ <portName>hostnamePublishes</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>hostnameResults</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>server_consumer_to_emits1</name>
+ <internalEndpoint>
+ <portName>commandEmits</portName>
+ <provider>false</provider>
+ <kind>EventEmitter</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>commands</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>server_consumer_to_emits2</name>
+ <internalEndpoint>
+ <portName>commandEmits</portName>
+ <provider>false</provider>
+ <kind>EventEmitter</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>commands</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client1_sayHello</name>
+ <internalEndpoint>
+ <portName>sayHello</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client1_naming</name>
+ <internalEndpoint>
+ <portName>naming</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::rhel4y.prismtech.com:21869</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>client2_sayHello</name>
+ <internalEndpoint>
+ <portName>sayHello</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client2_naming</name>
+ <internalEndpoint>
+ <portName>naming</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::rhel4y.prismtech.com:21869</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>testDriver_server</name>
+ <internalEndpoint>
+ <portName>server</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>testDriver_client1</name>
+ <internalEndpoint>
+ <portName>client1</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>testDriver_client2</name>
+ <internalEndpoint>
+ <portName>client2</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>testDriver_sayHello</name>
+ <internalEndpoint>
+ <portName>handshake</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+
+
+
+
+ <!-- Artifacts declarations -->
+ <artifact id="ServerDanceArtifact1">
+ <name>ServerDanceArtifact</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance2/c++/i686-pc-linux-gnu/libServerCcmDance2Demo.so</location>
+ <execParameter>
+ <name>factory_entrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createCommandFactory</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>repid</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/EventTypeModule/Command:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="ServerDanceArtifact2">
+ <name>ServerDanceArtifact</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance2/c++/i686-pc-linux-gnu/libServerCcmDance2Demo.so</location>
+ <execParameter>
+ <name>factory_entrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createFooValueTypeFactory</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>repid</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/FooValueType:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="ClientDanceArtifact">
+ <name>ClientDanceArtifact</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance2/c++/i686-pc-linux-gnu/libClientCcmDance2Demo.so</location>
+ <execParameter>
+ <name>factory_entrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createHostnameResultFactory</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>repid</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2Test/EventTypeModule/HostnameResult:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance4-host1.cdp b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance4-host1.cdp
new file mode 100644
index 00000000000..0aa52abe9a0
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance4-host1.cdp
@@ -0,0 +1,1055 @@
+<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>CCmDance2_1</label>
+ <UUID>CcmDance2_1</UUID>
+
+ <realizes></realizes>
+
+ <!-- Implementations declarations -->
+
+ <!-- Server Dance implementation-->
+ <!-- Home implementation -->
+ <implementation id="ServerDanceHomeImplementation">
+ <name>ServerDanceHomeImplementation</name>
+ <source/>
+ <artifact>ServerDanceArtifact1</artifact>
+ <artifact>ServerDanceArtifact2</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_ServerDanceHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2WithFTTest/ServerModule/ServerDanceHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance2WithFTTest.ServerModule.FTSessionServerDanceHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- FAULT_TOLERANCE_REPLICATION_STYLE -->
+ <name>cdmw.config.FaultToleranceReplicationStyle</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>FTReplicationStyleValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/FTReplicationStyleValue:1.0</typeId>
+ <member>STATELSESS</member>
+ <member>COLD_PASSIVE</member>
+ <member>WARM_PASSIVE</member>
+ <member>ACTIVE</member>
+ <member>ACTIVE_WITH_VOTING</member>
+ </enum>
+ </type>
+ <value>
+ <enum>WARM_PASSIVE</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="ServerDanceImplementation">
+ <name>ServerDanceImplementation</name>
+ <source/>
+ <artifact>ServerDanceArtifact1</artifact>
+ <artifact>ServerDanceArtifact2</artifact>
+ </implementation>
+
+
+
+ <!-- Client Dance implementation-->
+ <!-- Home implementation -->
+ <implementation id="ClientDanceHomeImplementation">
+ <name>ClientDanceHomeImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+ <artifact>ServerDanceArtifact1</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_ClientDanceHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2WithFTTest/ClientModule/ClientDanceHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance2WithFTTest.ClientModule.SessionClientDanceHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="ClientDanceImplementation">
+ <name>ClientDanceImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+ <artifact>ServerDanceArtifact1</artifact>
+ </implementation>
+
+
+ <!-- Test Driver implementation-->
+ <!-- Home implementation -->
+ <implementation id="TestDriverHomeImplementation">
+ <name>TestDriverHomeImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_TestDriverHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2WithFTTest/DriverModule/TestDriverHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance2WithFTTest.DriverModule.SessionTestDriverHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="TestDriverImplementation">
+ <name>TestDriverImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+ </implementation>
+
+ <!-- Instances declarations -->
+
+ <!-- Server Dance instances-->
+ <instance id="ServerDanceHome1">
+ <name>ServerDanceHome1</name>
+ <node>Host1</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>ServerDanceHomeImplementation</implementation>
+
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDanceProcess1@CcmDance2WithFTApplication</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="ServerDance1">
+ <name>ServerDance1</name>
+ <node>Host1</node>
+ <source/>
+ <implementation>ServerDanceImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDanceHome1</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDance1</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- FAULT_TOLERANT GROUP NAME-->
+ <name>cdmw.config.FaultToleranceGroupName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDanceFT</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooStruct-->
+ <name>fooStruct</name>
+ <value>
+ <type>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>FooStruct</name>
+ <typeId>IDL:acme.com/CcmDance2WithFTTest/FooStruct:1.0</typeId>
+ <member>
+ <name>fooString</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ </member>
+ </struct>
+ </type>
+ <value>
+ <member>
+ <name>fooString</name>
+ <value>
+ <string>hello</string>
+ </value>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <value>
+ <long>250</long>
+ </value>
+ </member>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooEnum-->
+ <name>fooEnum</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>FooEnum</name>
+ <typeId>IDL:acme.com/CcmDance2WithFTTest/FooEnum:1.0</typeId>
+ <member>A</member>
+ <member>B</member>
+ <member>C</member>
+ </enum>
+ </type>
+ <value>
+ <enum>B</enum>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooStructSeq-->
+ <name>fooStructSeq</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>FooStruct</name>
+ <typeId>IDL:acme.com/CcmDance2WithFTTest/FooStruct:1.0</typeId>
+ <member>
+ <name>fooString</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ </member>
+ </struct>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <member>
+ <name>fooString</name>
+ <value>
+ <string>hello1</string>
+ </value>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <value>
+ <long>123</long>
+ </value>
+ </member>
+ </element>
+ <element>
+ <member>
+ <name>fooString</name>
+ <value>
+ <string>hello2</string>
+ </value>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <value>
+ <long>456</long>
+ </value>
+ </member>
+ </element>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooEnumSeq-->
+ <name>fooEnumSeq</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>FooEnum</name>
+ <typeId>IDL:acme.com/CcmDance2WithFTTest/FooEnum:1.0</typeId>
+ <member>A</member>
+ <member>B</member>
+ <member>C</member>
+ </enum>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <enum>A</enum>
+ </element>
+ <element>
+ <enum>C</enum>
+ </element>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedClientHostname1-->
+ <name>expectedClientHostname1</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4x.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedClientHostname2-->
+ <name>expectedClientHostname2</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4y.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+
+ <!-- Client Dance instances-->
+ <instance id="ClientDanceHome1">
+ <name>ClientDanceHome1</name>
+ <node>Host1</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>ClientDanceHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceProcess1@CcmDance2WithFTApplication</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="ClientDance1">
+ <name>ClientDance1</name>
+ <node>Host1</node>
+ <source/>
+ <implementation>ClientDanceImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceHome1</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDance1</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: configuration-->
+ <name>configuration</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Client1</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedServerHostname-->
+ <name>expectedServerHostname</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4x.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <!-- Test Driver instances-->
+ <instance id="TestDriverHome">
+ <name>TestDriverHome</name>
+ <node>Host1</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>TestDriverHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceProcess1@CcmDance2WithFTApplication</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="TestDriver1">
+ <name>TestDriver1</name>
+ <node>Host1</node>
+ <source/>
+ <implementation>TestDriverImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>TestDriverHome</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>TestDriver1</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+
+
+
+ <!-- Connections declarations -->
+
+ <connection>
+ <name>client1_receptacle</name>
+ <internalEndpoint>
+ <portName>serverHostInfo</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::localhost:21869#CDMW__FaultToleranceDomain/ServerDanceFT</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>server_receptacle1</name>
+ <internalEndpoint>
+ <portName>clientHostInfo1</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ServerDance1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>clientHostInfo</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>server_receptacle2</name>
+ <internalEndpoint>
+ <portName>clientHostInfo2</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ServerDance1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaloc:iiop:1.2@rhel4y.prismtech.com:12345/%14%01%0f%00NUP%00%00%00%16%02%00%00%00%01%00%00%00RootPOA%00Host2%00CcmDance2_1/ClientDance2/clientHostInfo</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>client1_consumer_to_publishes</name>
+<!-- <internalEndpoint>
+ <portName>hostnamePublishes</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance>ServerDance1</instance>
+ </internalEndpoint> -->
+ <internalEndpoint>
+ <portName>hostnameResults</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::localhost:21869#CDMW__FaultToleranceDomain/ServerDanceFT</location>
+ <provider>false</provider>
+ <portName>hostnamePublishes</portName>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>client2_consumer_to_publishes</name>
+ <internalEndpoint>
+ <portName>hostnamePublishes</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance>ServerDance1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaloc:iiop:1.2@rhel4y.prismtech.com:12345/%14%01%0f%00NUP%00%00%00%16%02%00%00%00%01%00%00%00RootPOA%00Host2%00CcmDance2_1/ClientDance2/hostnameResults</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>server_consumer_to_emits1</name>
+ <internalEndpoint>
+ <portName>commandEmits</portName>
+ <provider>false</provider>
+ <kind>EventEmitter</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::localhost:21869#CDMW__FaultToleranceDomain/ServerDanceFT</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>client1_sayHello</name>
+ <internalEndpoint>
+ <portName>sayHello</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::localhost:21869#CDMW__FaultToleranceDomain/ServerDanceFT</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>testDriver_server</name>
+ <internalEndpoint>
+ <portName>server</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::localhost:21869#CDMW__FaultToleranceDomain/ServerDanceFT</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>testDriver_client1</name>
+ <internalEndpoint>
+ <portName>client1</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>testDriver_client2</name>
+ <internalEndpoint>
+ <portName>client2</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaloc:iiop:1.2@rhel4y.prismtech.com:12345/%14%01%0f%00NUP%00%00%00%16%02%00%00%00%01%00%00%00RootPOA%00Host2%00CcmDance2_1/ClientDance2/supports</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>testDriver_sayHello</name>
+ <internalEndpoint>
+ <portName>handshake</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::localhost:21869#CDMW__FaultToleranceDomain/ServerDanceFT</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+
+
+
+
+ <!-- Artifacts declarations -->
+ <artifact id="ServerDanceArtifact1">
+ <name>ServerDanceArtifact1</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance2_with_ft/c++/i686-pc-linux-gnu/libServerCcmDance2WithFTDemo.so</location>
+ <execParameter>
+ <name>repid</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2WithFTTest/EventTypeModule/Command:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>factory_entrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createCommandFactory</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="ServerDanceArtifact2">
+ <name>ServerDanceArtifact2</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance2_with_ft/c++/i686-pc-linux-gnu/libServerCcmDance2WithFTDemo.so</location>
+ <execParameter>
+ <name>repid</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>DL:acme.com/CcmDance2WithFTTest/FooValueType:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>factory_entrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createFooValueTypeFactory</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="ClientDanceArtifact">
+ <name>ClientDanceArtifact</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance2_with_ft/c++/i686-pc-linux-gnu/libClientCcmDance2WithFTDemo.so</location>
+ <execParameter>
+ <name>repid</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2WithFTTest/EventTypeModule/HostnameResult:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>factory_entrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createHostnameResultFactory</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance4-host2.cdp b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance4-host2.cdp
new file mode 100644
index 00000000000..a61170a7ed0
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/CcmDance4-host2.cdp
@@ -0,0 +1,941 @@
+<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>CCmDance2_1</label>
+ <UUID>CcmDance2_1</UUID>
+
+ <realizes></realizes>
+
+ <!-- Implementations declarations -->
+
+ <!-- Server Dance implementation-->
+ <!-- Home implementation -->
+ <implementation id="ServerDanceHomeImplementation">
+ <name>ServerDanceHomeImplementation</name>
+ <source/>
+ <artifact>ServerDanceArtifact1</artifact>
+ <artifact>ServerDanceArtifact2</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_ServerDanceHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2WithFTTest/ServerModule/ServerDanceHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance2WithFTTest.ServerModule.FTSessionServerDanceHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- FAULT_TOLERANCE_REPLICATION_STYLE -->
+ <name>cdmw.config.FaultToleranceReplicationStyle</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>FTReplicationStyleValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/FTReplicationStyleValue:1.0</typeId>
+ <member>STATELSESS</member>
+ <member>COLD_PASSIVE</member>
+ <member>WARM_PASSIVE</member>
+ <member>ACTIVE</member>
+ <member>ACTIVE_WITH_VOTING</member>
+ </enum>
+ </type>
+ <value>
+ <enum>WARM_PASSIVE</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="ServerDanceImplementation">
+ <name>ServerDanceImplementation</name>
+ <source/>
+ <artifact>ServerDanceArtifact1</artifact>
+ <artifact>ServerDanceArtifact2</artifact>
+ </implementation>
+
+
+
+ <!-- Client Dance implementation-->
+ <!-- Home implementation -->
+ <implementation id="ClientDanceHomeImplementation">
+ <name>ClientDanceHomeImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+ <artifact>ServerDanceArtifact1</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_ClientDanceHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2WithFTTest/ClientModule/ClientDanceHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance2WithFTTest.ClientModule.SessionClientDanceHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="ClientDanceImplementation">
+ <name>ClientDanceImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+ <artifact>ServerDanceArtifact1</artifact>
+ </implementation>
+
+
+ <!-- Test Driver implementation-->
+ <!-- Home implementation -->
+ <implementation id="TestDriverHomeImplementation">
+ <name>TestDriverHomeImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_TestDriverHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2WithFTTest/DriverModule/TestDriverHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance2WithFTTest.DriverModule.SessionTestDriverHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="TestDriverImplementation">
+ <name>TestDriverImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+ </implementation>
+
+
+
+
+
+
+ <!-- Instances declarations -->
+
+ <!-- Server Dance instances-->
+ <instance id="ServerDanceHome2">
+ <name>ServerDanceHome2</name>
+ <node>Host2</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>ServerDanceHomeImplementation</implementation>
+
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDanceProcess2@CcmDance2WithFTApplication</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="ServerDance2">
+ <name>ServerDance2</name>
+ <node>Host2</node>
+ <source/>
+ <implementation>ServerDanceImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDanceHome2</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDance2</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- FAULT_TOLERANT GROUP NAME-->
+ <name>cdmw.config.FaultToleranceGroupName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDanceFT</string>
+ </value>
+ </value>
+ </configProperty>
+
+
+ <configProperty>
+ <!-- Attribute: fooStruct-->
+ <name>fooStruct</name>
+ <value>
+ <type>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>FooStruct</name>
+ <typeId>IDL:acme.com/CcmDance2WithFTTest/FooStruct:1.0</typeId>
+ <member>
+ <name>fooString</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ </member>
+ </struct>
+ </type>
+ <value>
+ <member>
+ <name>fooString</name>
+ <value>
+ <string>hello</string>
+ </value>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <value>
+ <long>250</long>
+ </value>
+ </member>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooEnum-->
+ <name>fooEnum</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>FooEnum</name>
+ <typeId>IDL:acme.com/CcmDance2WithFTTest/FooEnum:1.0</typeId>
+ <member>A</member>
+ <member>B</member>
+ <member>C</member>
+ </enum>
+ </type>
+ <value>
+ <enum>B</enum>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooStructSeq-->
+ <name>fooStructSeq</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>FooStruct</name>
+ <typeId>IDL:acme.com/CcmDance2WithFTTest/FooStruct:1.0</typeId>
+ <member>
+ <name>fooString</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ </member>
+ </struct>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <member>
+ <name>fooString</name>
+ <value>
+ <string>hello1</string>
+ </value>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <value>
+ <long>123</long>
+ </value>
+ </member>
+ </element>
+ <element>
+ <member>
+ <name>fooString</name>
+ <value>
+ <string>hello2</string>
+ </value>
+ </member>
+ <member>
+ <name>fooLong</name>
+ <value>
+ <long>456</long>
+ </value>
+ </member>
+ </element>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: fooEnumSeq-->
+ <name>fooEnumSeq</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>FooEnum</name>
+ <typeId>IDL:acme.com/CcmDance2WithFTTest/FooEnum:1.0</typeId>
+ <member>A</member>
+ <member>B</member>
+ <member>C</member>
+ </enum>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <enum>A</enum>
+ </element>
+ <element>
+ <enum>C</enum>
+ </element>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedClientHostname1-->
+ <name>expectedClientHostname1</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4x.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedClientHostname2-->
+ <name>expectedClientHostname2</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4y.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+
+ <!-- Client Dance instances-->
+ <instance id="ClientDanceHome2">
+ <name>ClientDanceHome2</name>
+ <node>Host2</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>ClientDanceHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceProcess2@CcmDance2WithFTApplication</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="ClientDance2">
+ <name>ClientDance2</name>
+ <node>Host2</node>
+ <source/>
+ <implementation>ClientDanceImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceHome2</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDance2</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: configuration-->
+ <name>configuration</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Client2</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedServerHostname-->
+ <name>expectedServerHostname</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4y.prismtech.com</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <!-- Connections declarations -->
+ <connection>
+ <name>client2_receptacle</name>
+ <internalEndpoint>
+ <portName>serverHostInfo</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::localhost:21869#CDMW__FaultToleranceDomain/ServerDanceFT</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>server_receptacle1</name>
+ <internalEndpoint>
+ <portName>clientHostInfo1</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ServerDance2</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaloc:iiop:1.2@rhel4x.prismtech.com:12345/%14%01%0f%00NUP%00%00%00%16%02%00%00%00%01%00%00%00RootPOA%00Host1%00CcmDance2_1/ClientDance1/clientHostInfo</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+
+ <connection>
+ <name>server_receptacle2</name>
+ <internalEndpoint>
+ <portName>clientHostInfo2</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ServerDance2</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>clientHostInfo</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client1_consumer_to_publishes</name>
+ <internalEndpoint>
+ <portName>hostnamePublishes</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance>ServerDance2</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaloc:iiop:1.2@rhel4x.prismtech.com:12345/%14%01%0f%00NUP%00%00%00%16%02%00%00%00%01%00%00%00RootPOA%00Host1%00CcmDance2_1/ClientDance1/hostnameResults</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>client2_consumer_to_publishes</name>
+ <internalEndpoint>
+ <portName>hostnamePublishes</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance>ServerDance2</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>hostnameResults</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>server_consumer_to_emits2</name>
+ <internalEndpoint>
+ <portName>commandEmits</portName>
+ <provider>false</provider>
+ <kind>EventEmitter</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::localhost:21869#CDMW__FaultToleranceDomain/ServerDanceFT</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>client2_sayHello</name>
+ <internalEndpoint>
+ <portName>sayHello</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <externalReference>
+ <location>corbaname::localhost:21869#CDMW__FaultToleranceDomain/ServerDanceFT</location>
+ <provider>true</provider>
+ <portName/>
+ <supportedType/>
+ </externalReference>
+ </connection>
+
+ <connection>
+ <name>testDriver_client2</name>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ </connection>
+
+
+ <!-- Artifacts declarations -->
+ <!-- Artifacts declarations -->
+ <artifact id="ServerDanceArtifact1">
+ <name>ServerDanceArtifact1</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance2_with_ft/c++/i686-pc-linux-gnu/libServerCcmDance2WithFTDemo.so</location>
+ <execParameter>
+ <name>repid</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2WithFTTest/EventTypeModule/Command:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>factory_entrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createCommandFactory</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="ServerDanceArtifact2">
+ <name>ServerDanceArtifact2</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance2_with_ft/c++/i686-pc-linux-gnu/libServerCcmDance2WithFTDemo.so</location>
+ <execParameter>
+ <name>repid</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>DL:acme.com/CcmDance2WithFTTest/FooValueType:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>factory_entrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createFooValueTypeFactory</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="ClientDanceArtifact">
+ <name>ClientDanceArtifact</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance2_with_ft/c++/i686-pc-linux-gnu/libClientCcmDance2WithFTDemo.so</location>
+ <execParameter>
+ <name>repid</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance2WithFTTest/EventTypeModule/HostnameResult:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>factory_entrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>createHostnameResultFactory</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/DeploymentPlanDump/DeploymentPlanDump.mpc b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/DeploymentPlanDump.mpc
new file mode 100644
index 00000000000..e87a25474f9
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/DeploymentPlanDump.mpc
@@ -0,0 +1,9 @@
+// $Id$
+project : dance, taoexe, xerces, aceexe, ciao_config_handlers, dance_logger {
+ exename = DeploymentPlanDump
+
+ Source_Files {
+ test.cpp
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/DeploymentPlanDump/NewCcmDance1.cdp b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/NewCcmDance1.cdp
new file mode 100644
index 00000000000..946ee91d2b1
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/NewCcmDance1.cdp
@@ -0,0 +1,1063 @@
+<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>CCmDance1</label>
+ <UUID>CcmDance1</UUID>
+
+ <realizes></realizes>
+
+ <!-- Implementations declarations -->
+
+ <!-- Server Dance implementation-->
+ <!-- Home implementation -->
+ <implementation id="ServerDanceHomeImplementation">
+ <name>ServerDanceHomeImplementation</name>
+ <source/>
+ <artifact>ServerDanceArtifact</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_ServerDanceHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance1Test/ServerModule/ServerDanceHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance1Test.ServerModule.SessionServerDanceHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+<!-- <execParameter> -->
+ <!-- VALUETYPE_FACTORY_DEPENDENCIES -->
+<!-- <name>cdmw.config.ValuetypeFactoryDependencies</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>ValuetypeFactoryDescription</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ValuetypeFactoryDescription:1.0</typeId>
+ <member>
+ <name>repid</name>
+ <type>
+ <kind>tk_alias</kind>
+ <alias>
+ <name>RepositoryId</name>
+ <typeId>IDL:omg.org/CORBA/RepositoryId</typeId>
+ <elementType>
+ <kind>tk_string</kind>
+ </elementType>
+ </alias>
+ </type>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ </struct>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <member>
+ <name>repid</name>
+ <value>
+ <string>IDL:acme.com/Example/SaySomethingElse:1.0</string>
+ </value>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <value>
+ <string>createSaySomethingElseFactory</string>
+ </value>
+ </member>
+ </element>
+ </value>
+ </value>
+ </execParameter> -->
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="ServerDanceImplementation">
+ <name>ServerDanceImplementation</name>
+ <source/>
+ <artifact>ServerDanceArtifact</artifact>
+ </implementation>
+
+
+
+ <!-- Client Dance implementation-->
+ <!-- Home implementation -->
+ <implementation id="ClientDanceHomeImplementation">
+ <name>ClientDanceHomeImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_ClientDanceHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance1Test/ClientModule/ClientDanceHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance1Test.ClientModule.SessionClientDanceHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <!-- <execParameter> -->
+ <!-- VALUETYPE_FACTORY_DEPENDENCIES -->
+ <!-- <name>cdmw.config.ValuetypeFactoryDependencies</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>ValuetypeFactoryDescription</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ValuetypeFactoryDescription:1.0</typeId>
+ <member>
+ <name>repid</name>
+ <type>
+ <kind>tk_alias</kind>
+ <alias>
+ <name>RepositoryId</name>
+ <typeId>IDL:omg.org/CORBA/RepositoryId</typeId>
+ <elementType>
+ <kind>tk_string</kind>
+ </elementType>
+ </alias>
+ </type>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ </struct>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <member>
+ <name>repid</name>
+ <value>
+ <string>IDL:acme.com/Example/SaySomethingElse:1.0</string>
+ </value>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <value>
+ <string>createSaySomethingElseFactory</string>
+ </value>
+ </member>
+ </element>
+ </value>
+ </value>
+ </execParameter> -->
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="ClientDanceImplementation">
+ <name>ClientDanceImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+ </implementation>
+
+
+ <!-- Test Driver implementation-->
+ <!-- Home implementation -->
+ <implementation id="TestDriverHomeImplementation">
+ <name>TestDriverHomeImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CCM_TestDriverHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance1Test/DriverModule/TestDriverHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance1Test.DriverModule.SessionTestDriverHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <!-- <execParameter> -->
+ <!-- VALUETYPE_FACTORY_DEPENDENCIES -->
+ <!-- <name>cdmw.config.ValuetypeFactoryDependencies</name>
+ <value>
+ <type>
+ <kind>tk_sequence</kind>
+ <sequence>
+ <elementType>
+ <kind>tk_struct</kind>
+ <struct>
+ <name>ValuetypeFactoryDescription</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ValuetypeFactoryDescription:1.0</typeId>
+ <member>
+ <name>repid</name>
+ <type>
+ <kind>tk_alias</kind>
+ <alias>
+ <name>RepositoryId</name>
+ <typeId>IDL:omg.org/CORBA/RepositoryId</typeId>
+ <elementType>
+ <kind>tk_string</kind>
+ </elementType>
+ </alias>
+ </type>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ </member>
+ </struct>
+ </elementType>
+ </sequence>
+ </type>
+ <value>
+ <element>
+ <member>
+ <name>repid</name>
+ <value>
+ <string>IDL:acme.com/Example/SaySomethingElse:1.0</string>
+ </value>
+ </member>
+ <member>
+ <name>factory_entrypoint</name>
+ <value>
+ <string>createSaySomethingElseFactory</string>
+ </value>
+ </member>
+ </element>
+ </value>
+ </value>
+ </execParameter> -->
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="TestDriverImplementation">
+ <name>TestDriverImplementation</name>
+ <source/>
+ <artifact>ClientDanceArtifact</artifact>
+ </implementation>
+
+
+
+
+
+
+
+
+
+
+ <!-- Instances declarations -->
+
+ <!-- Server Dance instances-->
+ <instance id="ServerDanceHome">
+ <name>ServerDanceHome</name>
+ <node>MyHost</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>ServerDanceHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDanceProcess@CcmDance1Application</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="ServerDance">
+ <name>ServerDance</name>
+ <node>MyHost</node>
+ <source/>
+ <implementation>ServerDanceImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDanceHome</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ServerDance</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedClientHostname1-->
+ <name>expectedClientHostname1</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4x</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedClientHostname2-->
+ <name>expectedClientHostname2</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4x</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+
+ <!-- Client Dance instances-->
+ <instance id="ClientDanceHome">
+ <name>ClientDanceHome</name>
+ <node>MyHost</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>ClientDanceHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceProcess@CcmDance1Application</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="ClientDance1">
+ <name>ClientDance1</name>
+ <node>MyHost</node>
+ <source/>
+ <implementation>ClientDanceImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceHome</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDance1</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: configuration-->
+ <name>configuration</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Client1</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedServerHostname-->
+ <name>expectedServerHostname</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4x</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+ <instance id="ClientDance2">
+ <name>ClientDance2</name>
+ <node>MyHost</node>
+ <source/>
+ <implementation>ClientDanceImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceHome</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDance2</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: configuration-->
+ <name>configuration</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Client2</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- Attribute: expectedServerHostname-->
+ <name>expectedServerHostname</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>rhel4x</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+ <!-- Test Driver instances-->
+ <instance id="TestDriverHome">
+ <name>TestDriverHome</name>
+ <node>MyHost</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>TestDriverHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>ClientDanceProcess@CcmDance1Application</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="TestDriver1">
+ <name>TestDriver1</name>
+ <node>MyHost</node>
+ <source/>
+ <implementation>TestDriverImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>TestDriverHome</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>TestDriver1</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+
+
+
+
+ <!-- Connections declarations -->
+
+ <connection>
+ <name>client1_receptacle</name>
+ <internalEndpoint>
+ <portName>serverHostInfo</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>serverHostInfo1</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client2_receptacle</name>
+ <internalEndpoint>
+ <portName>serverHostInfo</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>serverHostInfo2</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>server_receptacle1</name>
+ <internalEndpoint>
+ <portName>clientHostInfo1</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>clientHostInfo</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>server_receptacle2</name>
+ <internalEndpoint>
+ <portName>clientHostInfo2</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>clientHostInfo</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client1_consumer_to_publishes</name>
+ <internalEndpoint>
+ <portName>hostnamePublishes</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>hostnameResults</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client2_consumer_to_publishes</name>
+ <internalEndpoint>
+ <portName>hostnamePublishes</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>hostnameResults</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>server_consumer_to_emits1</name>
+ <internalEndpoint>
+ <portName>commandEmits</portName>
+ <provider>false</provider>
+ <kind>EventEmitter</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>commands</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>server_consumer_to_emits2</name>
+ <internalEndpoint>
+ <portName>commandEmits</portName>
+ <provider>false</provider>
+ <kind>EventEmitter</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>commands</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client1_sayHello</name>
+ <internalEndpoint>
+ <portName>sayHello</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>client2_sayHello</name>
+ <internalEndpoint>
+ <portName>sayHello</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>testDriver_server</name>
+ <internalEndpoint>
+ <portName>server</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>testDriver_client1</name>
+ <internalEndpoint>
+ <portName>client1</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance1</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>testDriver_client2</name>
+ <internalEndpoint>
+ <portName>client2</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ClientDance2</instance>
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>testDriver_sayHello</name>
+ <internalEndpoint>
+ <portName>handshake</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance>TestDriver1</instance>
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>supports</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance>ServerDance</instance>
+ </internalEndpoint>
+ </connection>
+
+
+
+
+
+ <!-- Artifacts declarations -->
+ <artifact id="ServerDanceArtifact">
+ <name>ServerDanceArtifact</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance1/c++/i686-pc-linux-gnu/libServerCcmDance1Demo.so</location>
+ </artifact>
+
+ <artifact id="ClientDanceArtifact">
+ <name>ClientDanceArtifact</name>
+ <source/>
+ <node/>
+ <location>/home/sl/install/ofccm_v0/demos/demo_dance1/c++/i686-pc-linux-gnu/libClientCcmDance1Demo.so</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/DeploymentPlanDump/test.cpp b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/test.cpp
new file mode 100644
index 00000000000..fc3e99a981f
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/DeploymentPlanDump/test.cpp
@@ -0,0 +1,36 @@
+// $Id$
+#include "tools/Config_Handlers/DnC_Dump.h"
+#include "tools/Config_Handlers/XML_File_Intf.h"
+#include "DAnCE/Logger/Log_Macros.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR * argv[])
+{
+ try
+ {
+ if (argc < 1)
+ {
+ DANCE_ERROR((LM_ERROR,
+ ACE_TEXT ("[%M] Incorrect count of arguments. ")
+ ACE_TEXT ("Path to deployment plan has not been specified.\n")));
+ return 1;
+ }
+ CIAO::Config_Handlers::XML_File_Intf file (argv[1]);
+ file.add_search_path (ACE_TEXT ("CIAO_ROOT"), ACE_TEXT ("/docs/schema/"));
+ file.add_search_path (ACE_TEXT ("TAO_ROOT"), ACE_TEXT ("/docs/schema/"));
+ Deployment::DeploymentPlan * plan = file.release_plan();
+ Deployment::DnC_Dump::dump (*plan);
+ delete plan;
+ }
+ catch (const CORBA::Exception& ex)
+ {
+ ex._tao_print_exception ("DAnCE_DeploymentPlanDump::main\n");
+ return -1;
+ }
+ catch (...)
+ {
+ DANCE_ERROR((LM_ERROR, ACE_TEXT ("[%M] Unexpected exception\n")));
+ return 1;
+ }
+
+ return 0;
+}
diff --git a/modules/CIAO/DAnCE/tests/DeploymentPlanTestReferences/DeploymentPlanTestReferences.mpc b/modules/CIAO/DAnCE/tests/DeploymentPlanTestReferences/DeploymentPlanTestReferences.mpc
new file mode 100644
index 00000000000..50d8831bfbd
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/DeploymentPlanTestReferences/DeploymentPlanTestReferences.mpc
@@ -0,0 +1,9 @@
+// $Id$
+project : dance, taolib, xerces, ciao_config_handlers, dance_logger {
+ exename = DeploymentPlanTestReferences
+
+ Source_Files {
+ test.cpp
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/DeploymentPlanTestReferences/test.cpp b/modules/CIAO/DAnCE/tests/DeploymentPlanTestReferences/test.cpp
new file mode 100644
index 00000000000..92930bb3fdf
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/DeploymentPlanTestReferences/test.cpp
@@ -0,0 +1,52 @@
+// $Id$
+#include "ace/Auto_Ptr.h"
+#include "tools/Config_Handlers/DnC_Dump.h"
+#include "tools/Config_Handlers/XML_File_Intf.h"
+#include "DAnCE/Logger/Log_Macros.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR * argv[])
+{
+ try
+ {
+ if (argc < 1)
+ {
+ DANCE_ERROR((LM_ERROR, ACE_TEXT ("[%M] Incorrect count of arguments. Path to deployment plan has not been specified.\n")));
+ return 1;
+ }
+ //parsing plan
+ CIAO::Config_Handlers::XML_File_Intf file (argv[1]);
+ file.add_search_path (ACE_TEXT ("CIAO_ROOT"), ACE_TEXT ("/docs/schema/"));
+ file.add_search_path (ACE_TEXT ("TAO_ROOT"), ACE_TEXT ("/docs/schema/"));
+ auto_ptr<Deployment::DeploymentPlan> plan (file.release_plan());
+
+ //check instance references to corresponding implementations
+ for ( ::CORBA::ULong i = 0; i < plan->instance.length(); i++)
+ {
+ if (plan->instance[i].implementationRef > plan->implementation.length() - 1)
+ {
+ DANCE_ERROR((LM_ERROR, ACE_TEXT ("[%M] incorrect implementationRef in instance %C.\n"), plan->instance[i].name.in()));
+ return 1;
+ }
+ }
+
+ //check artifact reference for implementations of Home objects
+ for ( ::CORBA::ULong i = 0; i < plan->implementation.length(); i++)
+ {
+ if (plan->implementation[i].artifactRef.length() > 0)
+ {
+ if (plan->implementation[i].artifactRef[0] > plan->artifact.length() - 1)
+ {
+ DANCE_ERROR((LM_ERROR, ACE_TEXT ("[%M] incorrect artifactRef in the implementation %C.\n"), plan->implementation[i].name.in()));
+ return 1;
+ }
+ }
+ }
+ }
+ catch (...)
+ {
+ DANCE_ERROR((LM_ERROR, ACE_TEXT ("[%M] Unexpected exception")));
+ return 1;
+ }
+
+ return 0;
+}
diff --git a/modules/CIAO/DAnCE/tests/DeploymentTest1/DeploymentTest1.mpc b/modules/CIAO/DAnCE/tests/DeploymentTest1/DeploymentTest1.mpc
new file mode 100644
index 00000000000..3f2c7da54bb
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/DeploymentTest1/DeploymentTest1.mpc
@@ -0,0 +1,9 @@
+// $Id$
+project : dance, xerces, ciao_config_handlers, dance_logger, dance_domainapplication_stub, dance_executionmanager_stub {
+ exename = DeploymentTest1
+
+ Source_Files {
+ test.cpp
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/DeploymentTest1/test.cpp b/modules/CIAO/DAnCE/tests/DeploymentTest1/test.cpp
new file mode 100644
index 00000000000..10da6525e46
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/DeploymentTest1/test.cpp
@@ -0,0 +1,67 @@
+// $Id$
+#include "ace/Auto_Ptr.h"
+#include "DAnCE/Deployment/Deployment_DeploymentPlanC.h"
+#include "DAnCE/Deployment/Deployment_ExecutionManagerC.h"
+#include "DAnCE/Deployment/Deployment_DomainApplicationManagerC.h"
+#include "DAnCE/Deployment/Deployment_DomainApplicationC.h"
+#include "DAnCE/Deployment/Deployment_NodeManagerC.h"
+#include "DAnCE/Deployment/Deployment_NodeApplicationManagerC.h"
+#include "DAnCE/Logger/Log_Macros.h"
+#include "tools/Config_Handlers/DnC_Dump.h"
+#include "tools/Config_Handlers/XML_File_Intf.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR * argv[])
+{
+ try
+ {
+ CIAO::Config_Handlers::XML_File_Intf file (argv[1]);
+ file.add_search_path (ACE_TEXT ("CIAO_ROOT"), ACE_TEXT ("/docs/schema/"));
+ file.add_search_path (ACE_TEXT ("TAO_ROOT"), ACE_TEXT ("/docs/schema/"));
+ auto_ptr<Deployment::DeploymentPlan> pplan (file.release_plan());
+
+ DANCE_DEBUG((LM_DEBUG, "[%M] Test starts.\n"));
+ // Initialize orb
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
+ const char * ior = "file://execution_manager.ior";
+
+ CORBA::Object_var obj = orb->string_to_object (ior);
+ if (CORBA::is_nil (obj. in()))
+ {
+ throw 0;
+ }
+
+ Deployment::ExecutionManager_var em = Deployment::ExecutionManager::_narrow (obj);
+ if (CORBA::is_nil (em.in ()))
+ {
+ throw 0;
+ }
+ DANCE_DEBUG((LM_DEBUG, ACE_TEXT ("[%M] preparePlan\n")));
+ Deployment::DomainApplicationManager_var dam = em->preparePlan (*pplan, Deployment::ResourceCommitmentManager::_nil());
+ DANCE_DEBUG((LM_DEBUG, ACE_TEXT ("[%M] startLaunch\n")));
+ //call startLaunch
+ Deployment::Properties dp;
+ Deployment::Connections_var dc;
+ Deployment::Application_var na = dam->startLaunch (dp, dc.out());
+ Deployment::DomainApplication_var da = Deployment::DomainApplication::_narrow (na);
+ if (CORBA::is_nil (da.in ()))
+ {
+ DANCE_DEBUG((LM_DEBUG, ACE_TEXT ("[%M] narrow fails\n")));
+ }
+ DANCE_DEBUG((LM_DEBUG, ACE_TEXT ("[%M] finishLaunch\n")));
+ da->finishLaunch (dc.in(), true);
+ DANCE_DEBUG((LM_DEBUG, ACE_TEXT ("[%M] Test succeded!\n")));
+
+ }
+ catch (const CORBA::Exception &e)
+ {
+ e._tao_print_exception ("DeploymentTest1::main\t\n");
+ DANCE_ERROR((LM_ERROR, ACE_TEXT ("[%M] Uncaught CORBA exception\n")));
+ return 1;
+ }
+ catch (...)
+ {
+ return 1;
+ }
+
+ return 0;
+}
diff --git a/modules/CIAO/DAnCE/tests/MocksTest/MockObjectHome.cpp b/modules/CIAO/DAnCE/tests/MocksTest/MockObjectHome.cpp
new file mode 100644
index 00000000000..4b28594ba85
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/MocksTest/MockObjectHome.cpp
@@ -0,0 +1,19 @@
+// $Id$
+#include "MockObjectHome.h"
+
+::Components::CCMObject_ptr
+MockObjectHome::create_component_with_config_values (
+ const ::Components::ConfigValues & config
+)
+ {
+ return MockHome_Impl::create_component_with_config_values (config);
+ }
+
+extern "C" MocksTest_Export MockHome_Impl *create_MockHome (void);
+
+MockHome_Impl*create_MockHome (void)
+ {
+ MockHome_Impl* home = 0;
+ ACE_NEW_RETURN (home, MockObjectHome (), 0);
+ return home;
+ }
diff --git a/modules/CIAO/DAnCE/tests/MocksTest/MockObjectHome.h b/modules/CIAO/DAnCE/tests/MocksTest/MockObjectHome.h
new file mode 100644
index 00000000000..ad037096ba7
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/MocksTest/MockObjectHome.h
@@ -0,0 +1,24 @@
+// $Id$
+#ifndef MOCKOBJECTHOME_H_
+#define MOCKOBJECTHOME_H_
+
+#include "MocksTest_Export.h"
+#include "Mocks/MockHome_Impl.h"
+
+class MocksTest_Export MockObjectHome : public MockHome_Impl
+ {
+ public:
+ MockObjectHome()
+ {};
+ virtual ~MockObjectHome()
+ {};
+
+ virtual ::Components::CCMObject_ptr create_component_with_config_values (
+ const ::Components::ConfigValues & config
+ );
+
+ protected:
+ private:
+ };
+
+#endif /*MOCKOBJECTHOME_H_*/
diff --git a/modules/CIAO/DAnCE/tests/MocksTest/MockTest.cdp b/modules/CIAO/DAnCE/tests/MocksTest/MockTest.cdp
new file mode 100644
index 00000000000..f3478812063
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/MocksTest/MockTest.cdp
@@ -0,0 +1,196 @@
+<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>MockTest</label>
+ <UUID>MockTest</UUID>
+
+ <realizes></realizes>
+
+ <!-- Implementations declarations -->
+
+ <!-- Mock object implementation-->
+ <!-- Home implementation -->
+ <implementation id="MockObjectHomeImplementation">
+ <name>MockObjectHomeImplementation</name>
+ <source/>
+ <artifact>MockObjectArtifact</artifact>
+
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>home factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_MockHome</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- COMPONENT_KIND -->
+ <name>cdmw.config.ComponentKind</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ComponentKindValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ComponentKindValue:1.0</typeId>
+ <member>SERVICE</member>
+ <member>SESSION</member>
+ <member>PROCESS</member>
+ <member>ENTITY</member>
+ <member>UNCLASSIFIED</member>
+ </enum>
+ </type>
+ <value>
+ <enum>SESSION</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- SERVANT_LIFETIME -->
+ <name>cdmw.config.ServantLifeTime</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ServantLifeTimeValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ServantLifetimeValue:1.0</typeId>
+ <member>COMPONENT_LIFETIME</member>
+ <member>METHOD_LIFETIME</member>
+ <member>TRANSACTION_LIFETIME</member>
+ <member>CONTAINER_LIFETIME</member>
+ </enum>
+ </type>
+ <value>
+ <enum>CONTAINER_LIFETIME</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- THREADING_POLICY -->
+ <name>cdmw.config.ThreadingPolicy</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>ThreadingPolicyValue</name>
+ <typeId>IDL:thalesgroup.com/CdmwDeployment/ThreadingPolicyValue:1.0</typeId>
+ <member>SERIALIZE</member>
+ <member>MULTITHREAD</member>
+ </enum>
+ </type>
+ <value>
+ <enum>MULTITHREAD</enum>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_REPOSITORY_ID -->
+ <name>cdmw.config.HomeRepositoryId</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>IDL:acme.com/CcmDance1Test/ServerModule/ServerDanceHome:1.0</string>
+ </value>
+ </value>
+ </execParameter>
+
+ <execParameter>
+ <!-- HOME_SERVANT_CLASSNAME -->
+ <name>cdmw.config.HomeServantClassName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Cdmw.CCM.CIF.CdmwCcmDance1Test.ServerModule.SessionServerDanceHome_impl</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <!-- Component implementation -->
+ <implementation id="MockObjectImplementation">
+ <name>MockObjectImplementation</name>
+ <source/>
+ <artifact>MockObjectArtifact</artifact>
+ </implementation>
+
+
+
+
+ <!-- Instances declarations -->
+
+ <!-- MockObjectHome instances-->
+ <instance id="MockObjectHome">
+ <name>MockObjectHome</name>
+ <node>MyHost</node>
+ <!-- hostname -->
+ <source/>
+ <implementation>MockObjectHomeImplementation</implementation>
+ <configProperty>
+ <!-- PROCESS_DESTINATION -->
+ <name>cdmw.config.ProcessDestination</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>MockTest</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance id="MockObject">
+ <name>MockObject</name>
+ <node>MyHost</node>
+ <source/>
+ <implementation>MockObjectImplementation</implementation>
+
+ <configProperty>
+ <!-- HOME -->
+ <name>cdmw.component_home</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>MockObjectHome</string>
+ </value>
+ </value>
+ </configProperty>
+
+ <configProperty>
+ <!-- COMPONENT_NAME -->
+ <name>cdmw.config.ComponentName</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>MockObject</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <!-- Artifacts declarations -->
+ <artifact id="MockObjectArtifact">
+ <name>MockObjectArtifact</name>
+ <source/>
+ <node/>
+ <location>./libMockObject.so</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/modules/CIAO/DAnCE/tests/MocksTest/MockTest.mpc b/modules/CIAO/DAnCE/tests/MocksTest/MockTest.mpc
new file mode 100644
index 00000000000..2de6e7bf904
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/MocksTest/MockTest.mpc
@@ -0,0 +1,28 @@
+// -*- MPC -*-
+// $Id$
+
+project(*MockTest): dance, taoserver, naming, dance_mocks {
+ requires += ofccm
+ exename = MockTest
+ after += MockObject
+
+ Source_Files {
+ MocksTest.cpp
+ }
+
+}
+
+project(*MockObject): dance_mocks{
+ requires += ofccm
+ sharedname = MockObject
+ dynamicflags = MOCKTEST_BUILD_DLL
+
+ Source_Files {
+ MockObjectHome.cpp
+ }
+
+ Header_Files {
+ MockObjectHome.h
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/MocksTest/MocksTest.cpp b/modules/CIAO/DAnCE/tests/MocksTest/MocksTest.cpp
new file mode 100644
index 00000000000..fc0779ea96c
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/MocksTest/MocksTest.cpp
@@ -0,0 +1,37 @@
+// $Id$
+#include "orbsvcs/orbsvcs/CosNamingC.h"
+#include "Mocks/ComponentServer_Impl.h"
+#include "tao/ORB.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR* argv[])
+ {
+
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
+
+ CORBA::Object_var obj = orb->resolve_initial_references ("RootPOA");
+ PortableServer::POA_var poa = PortableServer::POA::_narrow (obj.in ());
+ PortableServer::POAManager_var poa_manager = poa->the_POAManager ();
+ poa_manager->activate ();
+
+ obj = orb->resolve_initial_references ("NameService");
+ CosNaming::NamingContext_var naming = CosNaming::NamingContext::_narrow (obj.in ());
+
+ ComponentServer_Impl* comp_server = 0;
+
+ ACE_NEW_THROW_EX (comp_server,
+ ComponentServer_Impl (orb.in (), poa.in ()),
+ CORBA::NO_MEMORY());
+
+ PortableServer::ObjectId_var oid = poa->activate_object (comp_server);
+ obj = poa->id_to_reference (oid.in ());
+ CdmwCcmComponentServer::ComponentServer_var server = CdmwCcmComponentServer::ComponentServer::_narrow (obj.in ());
+
+ CosNaming::Name name(1);
+ name.length(1);
+ name[0].id = CORBA::string_dup("MockTest");
+ name[0].kind = CORBA::string_dup("ComponentServer");
+ naming->bind (name, server.in ());
+
+ orb->run ();
+ return 0;
+ }
diff --git a/modules/CIAO/DAnCE/tests/MocksTest/MocksTest_Export.h b/modules/CIAO/DAnCE/tests/MocksTest/MocksTest_Export.h
new file mode 100644
index 00000000000..984e865bf1f
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/MocksTest/MocksTest_Export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl MocksTest
+// ------------------------------
+#ifndef MOCKSTEST_EXPORT_H
+#define MOCKSTEST_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (MOCKSTEST_HAS_DLL)
+# define MOCKSTEST_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && MOCKSTEST_HAS_DLL */
+
+#if !defined (MOCKSTEST_HAS_DLL)
+# define MOCKSTEST_HAS_DLL 1
+#endif /* ! MOCKSTEST_HAS_DLL */
+
+#if defined (MOCKSTEST_HAS_DLL) && (MOCKSTEST_HAS_DLL == 1)
+# if defined (MOCKSTEST_BUILD_DLL)
+# define MocksTest_Export ACE_Proper_Export_Flag
+# define MOCKSTEST_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define MOCKSTEST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* MOCKSTEST_BUILD_DLL */
+# define MocksTest_Export ACE_Proper_Import_Flag
+# define MOCKSTEST_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define MOCKSTEST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* MOCKSTEST_BUILD_DLL */
+#else /* MOCKSTEST_HAS_DLL == 1 */
+# define MocksTest_Export
+# define MOCKSTEST_SINGLETON_DECLARATION(T)
+# define MOCKSTEST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* MOCKSTEST_HAS_DLL == 1 */
+
+// Set MOCKSTEST_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (MOCKSTEST_NTRACE)
+# if (ACE_NTRACE == 1)
+# define MOCKSTEST_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define MOCKSTEST_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !MOCKSTEST_NTRACE */
+
+#if (MOCKSTEST_NTRACE == 1)
+# define MOCKSTEST_TRACE(X)
+#else /* (MOCKSTEST_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define MOCKSTEST_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (MOCKSTEST_NTRACE == 1) */
+
+#endif /* MOCKSTEST_EXPORT_H */
+
+// End of auto generated file.
diff --git a/modules/CIAO/DAnCE/tests/MocksTest/plCommand.In b/modules/CIAO/DAnCE/tests/MocksTest/plCommand.In
new file mode 100644
index 00000000000..ca7b0873bab
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/MocksTest/plCommand.In
@@ -0,0 +1,5 @@
+I
+am
+the
+chatter
+quit
diff --git a/modules/CIAO/DAnCE/tests/MocksTest/run_test.pl b/modules/CIAO/DAnCE/tests/MocksTest/run_test.pl
new file mode 100755
index 00000000000..5ecaae833c6
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/MocksTest/run_test.pl
@@ -0,0 +1,97 @@
+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::Run_Test;
+
+#delete IOR files
+if (-e em.ior) {
+ unlink "em.ior"
+}
+if (-e ns.ior) {
+ unlink "ns.ior"
+}
+
+$ns_status = 0;
+$mt_status = 0;
+$pl_status = 0;
+$em_status = 0;
+
+if (PerlACE::is_vxworks_test()) {
+ $ns = new PerlACE::ProcessVX ("$ENV{'ACE_ROOT'}/TAO/orbsvcs/Naming_Service/Naming_Service", "-o ns.ior");
+}
+else {
+ $ns = new PerlACE::Process ("$ENV{'ACE_ROOT'}/TAO/orbsvcs/Naming_Service/Naming_Service", "-o ns.ior");
+}
+
+$ns_status = $ns->Spawn();
+sleep 10;
+
+#read NameService IOR
+$data_file = "ns.ior";
+open(DAT, $data_file) || die("ERROR: Could not open file!");
+$ior = <DAT>;
+close(DAT);
+
+if (PerlACE::is_vxworks_test()) {
+ $mt = new PerlACE::ProcessVX ("./MockTest", "-ORBInitRef NameService=file://ns.ior");
+}
+else {
+ $mt = new PerlACE::Process ("./MockTest", "-ORBInitRef NameService=file://ns.ior");
+}
+
+$mt_status = $mt->Spawn();
+sleep 10;
+
+if (PerlACE::is_vxworks_test()) {
+ $em = new PerlACE::ProcessVX ("$ENV{'ACE_ROOT'}/bin/dance", "--log-level 1 -eem.ior --node-mgr MyHost -ORBListenEndpoints iiop://localhost:12345 -ORBInitRef ProcessDestinationNC=file://ns.ior");
+ $pl = new PerlACE::ProcessVX ("$ENV{'ACE_ROOT'}/bin/dance", "--log-level 1 -x MockTest.cdp -k file://em.ior");
+}
+else {
+ $em = new PerlACE::Process ("$ENV{'ACE_ROOT'}/bin/dance", "--log-level 1 -eem.ior --node-mgr MyHost -ORBListenEndpoints iiop://localhost:12345 -ORBInitRef ProcessDestinationNC=file://ns.ior");
+#open (OLD_STDIN, "<STDIN");
+#open (STDIN, "")
+ $pl = new PerlACE::Process ("$ENV{'ACE_ROOT'}/bin/dance", "--log-level 1 -x MockTest.cdp -k file://em.ior");
+}
+
+$em_status = $em->Spawn();
+sleep 30;
+#print STDIN "c\n";
+#open (OLD_STDIN, "<STDIN");
+#open (kid, "|-");
+open (STDIN, "<./plCommand.In");
+$pl_status = $pl->Spawn();
+sleep 10;
+#print kid "c\n";
+
+#print STDIN "c\n";
+sleep 10;
+
+
+$pl_status = $pl->Kill();
+close (STDIN);
+$em_status = $em->Kill();
+
+$ns_status = $ns->Kill();
+
+$mt_status = $mt->Kill();
+
+#delete IOR files
+if (-e em.ior) {
+ unlink "em.ior"
+}
+if (-e ns.ior) {
+ unlink "ns.ior"
+}
+
+if ($pl_status != 0)
+{
+ print "\n ERROR: test returned $pl_status \n";
+}
+
+exit $pl_status;
+
diff --git a/modules/CIAO/DAnCE/tests/NameServiceTest/Dummy.idl b/modules/CIAO/DAnCE/tests/NameServiceTest/Dummy.idl
new file mode 100644
index 00000000000..1f0edee59cd
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/NameServiceTest/Dummy.idl
@@ -0,0 +1,14 @@
+// $Id$
+
+#ifndef DUMMY_IDL
+#define DUMMY_IDL
+
+module NameServiceTest
+{
+ interface Dummy {
+ string sayHello();
+ };
+};
+
+#endif /* DUMMY_IDL */
+
diff --git a/modules/CIAO/DAnCE/tests/NameServiceTest/DummyImpl.cpp b/modules/CIAO/DAnCE/tests/NameServiceTest/DummyImpl.cpp
new file mode 100644
index 00000000000..4fe5dea9b16
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/NameServiceTest/DummyImpl.cpp
@@ -0,0 +1,14 @@
+// $Id$
+#include "DummyImpl.h"
+
+namespace NameServiceTest
+ {
+
+ char * DummyImpl::sayHello (
+ )
+ {
+ return CORBA::string_dup (this->helloSentence);
+ }
+
+ } // namespace ObjectLocatorTest
+
diff --git a/modules/CIAO/DAnCE/tests/NameServiceTest/DummyImpl.h b/modules/CIAO/DAnCE/tests/NameServiceTest/DummyImpl.h
new file mode 100644
index 00000000000..7b54d8b1386
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/NameServiceTest/DummyImpl.h
@@ -0,0 +1,25 @@
+// $Id$
+#ifndef DUMMYIMPL_H_
+#define DUMMYIMPL_H_
+
+#include "DummyS.h"
+
+namespace NameServiceTest
+ {
+
+ class DummyImpl
+ : public virtual POA_NameServiceTest::Dummy
+ {
+ public:
+ DummyImpl() : helloSentence ("A dummy hello sentence.") {};
+
+ virtual char * sayHello (
+ );
+
+ private:
+ const char * helloSentence;
+ };
+
+ } // namespace POA_ObjectLocatorTest
+
+#endif /*DUMMYIMPL_H_*/
diff --git a/modules/CIAO/DAnCE/tests/NameServiceTest/NameServiceTest.mpc b/modules/CIAO/DAnCE/tests/NameServiceTest/NameServiceTest.mpc
new file mode 100644
index 00000000000..64068565ed3
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/NameServiceTest/NameServiceTest.mpc
@@ -0,0 +1,30 @@
+// $Id$
+
+project(*idl): ciaoidldefaults {
+ IDL_Files {
+ Dummy.idl
+ }
+ custom_only = 1
+}
+
+project (*NameServiceTestServer): dance, taoserver, iortable, naming_serv, dance_logger {
+ after += *idl
+ IDL_Files {
+ }
+ Source_Files {
+ srv_main.cpp
+ DummyC.cpp
+ DummyS.cpp
+ DummyImpl.cpp
+ }
+}
+
+project (NameServiceTestClient): dance, taoclient, naming, dance_logger {
+ after += *idl
+ IDL_Files {
+ }
+ Source_Files {
+ clt_main.cpp
+ DummyC.cpp
+ }
+}
diff --git a/modules/CIAO/DAnCE/tests/NameServiceTest/RegistrationPath.h b/modules/CIAO/DAnCE/tests/NameServiceTest/RegistrationPath.h
new file mode 100644
index 00000000000..4a6ea64c651
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/NameServiceTest/RegistrationPath.h
@@ -0,0 +1,9 @@
+// $Id$
+#ifndef REGISTRATIONPATH_H_
+#define REGISTRATIONPATH_H_
+
+const char * app_name = "app1";
+const char * inst_name = "inst1";
+const char * port_name = "port1";
+
+#endif /*REGISTRATIONPATH_H_*/
diff --git a/modules/CIAO/DAnCE/tests/NameServiceTest/clt_main.cpp b/modules/CIAO/DAnCE/tests/NameServiceTest/clt_main.cpp
new file mode 100644
index 00000000000..fdccfc5b337
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/NameServiceTest/clt_main.cpp
@@ -0,0 +1,85 @@
+// $Id$
+#include "ace/String_Base.h"
+#include <orbsvcs/orbsvcs/CosNamingC.h>
+#include "DAnCE/Logger/Log_Macros.h"
+#include "RegistrationPath.h"
+#include "DummyC.h"
+
+using namespace NameServiceTest;
+
+
+int ACE_TMAIN (int argc, ACE_TCHAR * argv[])
+{
+ try
+ {
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
+
+ CORBA::Object_var naming_obj = orb->resolve_initial_references ("NameService");
+// CosNaming::NamingContext_var naming = CosNaming::NamingContext::_narrow(naming_obj.in());
+// CosNaming::Name name(1);
+//
+// name.length(1);
+//
+// name[0].id = CORBA::string_dup("Dummy");
+// name[0].kind = CORBA::string_dup("");
+//
+// CORBA::Object_ptr res_obj = naming->resolve(name);
+// if ( CORBA::is_nil(res_obj) )
+// {
+// DANCE_ERROR((LM_ERROR, "[%M] Failed to resolve object. The test failed.\n"));
+// return 1;
+// }
+// DANCE_DEBUG((LM_DEBUG, "[%M] resolve object : ok.\n"));
+//
+// Dummy_var res_dummy_obj = Dummy::_narrow(res_obj);
+// if ( CORBA::is_nil(res_dummy_obj) )
+// {
+// DANCE_ERROR((LM_ERROR, "[%M] Failed to narrow the resolved object to custom type. The test failed.\n"));
+// return 1;
+// }
+// DANCE_DEBUG((LM_DEBUG, "[%M] resolved object -> dummy : ok.\n"));
+//
+// DANCE_DEBUG((LM_DEBUG, "[%M] Dummy object returned : %s.", res_dummy_obj->sayHello()));
+// DANCE_DEBUG((LM_DEBUG, "[%M] The test succeeded."));
+ //glasgow.headquarters.eclipsesp.com:12345
+ ACE_CString url = "corbaname:rir:#app1.DeploymentPlan/Dummy";
+// url += app_name;
+// url += "/";
+// url += inst_name;
+// url += "/";
+// url += port_name;
+ DANCE_DEBUG((LM_DEBUG, "[%M] URL : %s\n", url.c_str()));
+
+ CORBA::Object_var obj = orb->string_to_object (url.c_str());
+ if (CORBA::is_nil (obj))
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] Failed to convert url to object. The test failed.\n"));
+ return 1;
+ }
+ DANCE_DEBUG((LM_DEBUG, "[%M] URL -> object : ok.\n"));
+
+ Dummy_var dummy_obj = Dummy::_narrow (obj);
+ if (CORBA::is_nil (dummy_obj))
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] Failed to narrow the object to custom type. The test failed.\n"));
+ return 1;
+ }
+ DANCE_DEBUG((LM_DEBUG, "[%M] object -> dummy : ok.\n"));
+
+ DANCE_DEBUG((LM_DEBUG, "[%M] Dummy object returned : %C.", dummy_obj->sayHello()));
+ DANCE_DEBUG((LM_DEBUG, "[%M] The test succeeded."));
+ return 0;
+ }
+ catch (const CORBA::Exception & e)
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] A CORBA exception \"%C\" (%C) was thrown. The test failed."
+ , e._name(), e._info().c_str()));
+ return 1;
+ }
+ catch (...)
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] An exception was thrown. The test failed."));
+ return 1;
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/NameServiceTest/run_test.pl b/modules/CIAO/DAnCE/tests/NameServiceTest/run_test.pl
new file mode 100755
index 00000000000..719974e5c50
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/NameServiceTest/run_test.pl
@@ -0,0 +1,73 @@
+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;
+
+$status = 0;
+$debug_level = '0';
+
+foreach $i (@ARGV) {
+ if ($i eq '-debug') {
+ $debug_level = '10';
+ }
+}
+
+my $server = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n";
+my $client = PerlACE::TestTarget::create_target (2) || die "Create target 2 failed\n";
+
+my $iorbase = "server.ior";
+my $server_iorfile = $server->LocalFile ($iorbase);
+my $client_iorfile = $client->LocalFile ($iorbase);
+$server->DeleteFile($iorbase);
+$client->DeleteFile($iorbase);
+
+$SV = $server->CreateProcess ("server", "-ORBdebuglevel $debug_level -o $server_iorfile");
+$CL = $client->CreateProcess ("client", "-k file://$client_iorfile");
+$server_status = $SV->Spawn ();
+
+if ($server_status != 0) {
+ print STDERR "ERROR: server returned $server_status\n";
+ exit 1;
+}
+
+if ($server->WaitForFileTimed ($iorbase,
+ $server->ProcessStartWaitInterval()) == -1) {
+ print STDERR "ERROR: cannot find file <$server_iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+if ($server->GetFile ($iorbase) == -1) {
+ print STDERR "ERROR: cannot retrieve file <$server_iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+if ($client->PutFile ($iorbase) == -1) {
+ print STDERR "ERROR: cannot set file <$client_iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+$client_status = $CL->SpawnWaitKill ($client->ProcessStartWaitInterval());
+
+if ($client_status != 0) {
+ print STDERR "ERROR: client returned $client_status\n";
+ $status = 1;
+}
+
+$server_status = $SV->WaitKill ($server->ProcessStopWaitInterval());
+
+if ($server_status != 0) {
+ print STDERR "ERROR: server returned $server_status\n";
+ $status = 1;
+}
+
+$server->DeleteFile($iorbase);
+$client->DeleteFile($iorbase);
+
+exit $status;
diff --git a/modules/CIAO/DAnCE/tests/NameServiceTest/srv_main.cpp b/modules/CIAO/DAnCE/tests/NameServiceTest/srv_main.cpp
new file mode 100644
index 00000000000..46531143c85
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/NameServiceTest/srv_main.cpp
@@ -0,0 +1,72 @@
+// $Id$
+#include "ace/OS_NS_stdio.h"
+#include <orbsvcs/orbsvcs/CosNamingC.h>
+#include <orbsvcs/orbsvcs/Naming/Naming_Loader.h>
+#include "DAnCE/Logger/Log_Macros.h"
+
+#include "DummyC.h"
+#include "DummyImpl.h"
+#include "RegistrationPath.h"
+
+using namespace NameServiceTest;
+
+int ACE_TMAIN (int argc, ACE_TCHAR * argv[])
+{
+ try
+ {
+ int argcm = argc + 2;
+ ACE_TCHAR ** argvm = new ACE_TCHAR* [argcm+1];
+ for (int i = 0; i < argc; ++i)
+ {
+ argvm[i] = argv[i];
+ }
+ ACE_TCHAR buf1[32];
+ ACE_OS::sprintf (buf1, ACE_TEXT("-ORBListenEndpoints"));
+ argvm[argcm-2] = buf1;
+ ACE_TCHAR buf2[32];
+ ACE_OS::sprintf (buf2, ACE_TEXT("iiop://:12345"));
+ argvm[argcm-1] = buf2;
+ argvm[argcm] = 0;
+
+ CORBA::ORB_var orb = CORBA::ORB_init (argcm, argvm);
+
+ CORBA::Object_var obj = orb->resolve_initial_references ("RootPOA");
+ PortableServer::POA_var root_poa = PortableServer::POA::_narrow (obj.in ());
+
+ PortableServer::POAManager_var poa_manager = root_poa->the_POAManager();
+ poa_manager->activate();
+
+ DummyImpl servant;
+
+ PortableServer::ObjectId_var id = root_poa->activate_object (&servant);
+
+ Dummy_var dummy_obj = Dummy::_narrow (root_poa->id_to_reference (id));//servant._this();
+
+ TAO_Naming_Loader loader;
+
+ CORBA::Object_var obj_tmp = loader.create_object (orb.in(), argcm, argvm);
+ CORBA::Object_var naming_obj = orb->resolve_initial_references ("NameService");
+ CosNaming::NamingContext_var naming = CosNaming::NamingContext::_narrow (naming_obj.in());
+
+ CosNaming::Name name (1);
+
+ name.length (1);
+
+ name[0].id = CORBA::string_dup (app_name);
+ name[0].kind = CORBA::string_dup ("DeploymentPlan");
+
+ CosNaming::NamingContext_var naming_app = naming->bind_new_context (name);
+
+ name[0].id = CORBA::string_dup ("Dummy");
+ name[0].kind = CORBA::string_dup ("");
+ naming_app->bind (name, dummy_obj.in());
+
+ orb->run();
+ }
+ catch (...)
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] An error has occured."));
+ }
+ return 0;
+}
+
diff --git a/modules/CIAO/DAnCE/tests/NodeApplicationManager-NodeApplication/NAM_NA.mpc b/modules/CIAO/DAnCE/tests/NodeApplicationManager-NodeApplication/NAM_NA.mpc
new file mode 100644
index 00000000000..e251d79392b
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/NodeApplicationManager-NodeApplication/NAM_NA.mpc
@@ -0,0 +1,8 @@
+// $Id$
+project : dance, dance_nodemanager_stub, dance_nodeapplication_stub, dance_logger {
+ exename = NodeApplicationManagerNodeApplicationTest
+
+ Source_Files {
+ test.cpp
+ }
+}
diff --git a/modules/CIAO/DAnCE/tests/NodeApplicationManager-NodeApplication/test.cpp b/modules/CIAO/DAnCE/tests/NodeApplicationManager-NodeApplication/test.cpp
new file mode 100644
index 00000000000..35791ab4a1e
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/NodeApplicationManager-NodeApplication/test.cpp
@@ -0,0 +1,48 @@
+// $Id$
+#include "DAnCE/Deployment/Deployment_NodeManagerC.h"
+#include "DAnCE/Deployment/Deployment_NodeApplicationC.h"
+#include "DAnCE/Logger/Log_Macros.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR * argv[])
+{
+ try
+ {
+ // Initialize orb
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
+ const char * ior = "file://node_manager.ior";
+ CORBA::Object_var obj = orb->string_to_object (ior);
+ if (CORBA::is_nil (obj))
+ {
+ throw 0;
+ }
+
+ Deployment::NodeManager_var nm = Deployment::NodeManager::_narrow (obj);
+ if (CORBA::is_nil (nm))
+ {
+ throw 0;
+ }
+
+ //get NodeApplicationManager
+ Deployment::DeploymentPlan plan;
+ Deployment::NodeApplicationManager_var nam;
+ nam = nm->preparePlan (plan, Deployment::ResourceCommitmentManager::_nil());
+
+ //call startLaunch
+ Deployment::Properties dp;
+ Deployment::Connections_var dc;
+ Deployment::Application_ptr app = nam->startLaunch (dp, dc.out());
+ Deployment::NodeApplication_var na = Deployment::NodeApplication::_narrow (app);
+ }
+ catch (const CORBA::Exception &e)
+ {
+ e._tao_print_exception ("DAnCE_NodeManager::main\t\n");
+ DANCE_ERROR((LM_ERROR, "[%M] Uncaught CORBA exception\n"));
+ return 1;
+ }
+ catch (...)
+ {
+ return 1;
+ }
+
+ return 0;
+}
diff --git a/modules/CIAO/DAnCE/tests/NodeManager-NodeApplicationManager/NodeManager-NodeApplicationManager.mpc b/modules/CIAO/DAnCE/tests/NodeManager-NodeApplicationManager/NodeManager-NodeApplicationManager.mpc
new file mode 100644
index 00000000000..44882ded9ff
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/NodeManager-NodeApplicationManager/NodeManager-NodeApplicationManager.mpc
@@ -0,0 +1,8 @@
+// $Id$
+project : dance_exe, dance_nodemanager_stub, dance_logger {
+ exename = NodeManagerNodeApplicationManagerTest
+
+ Source_Files {
+ test.cpp
+ }
+}
diff --git a/modules/CIAO/DAnCE/tests/NodeManager-NodeApplicationManager/test.cpp b/modules/CIAO/DAnCE/tests/NodeManager-NodeApplicationManager/test.cpp
new file mode 100644
index 00000000000..433b80fcc07
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/NodeManager-NodeApplicationManager/test.cpp
@@ -0,0 +1,43 @@
+// $Id$
+#include "DAnCE/Deployment/Deployment_NodeManagerC.h"
+#include "DAnCE/Logger/Log_Macros.h"
+
+int ACE_TMAIN (int argc, ACE_TCHAR * argv[])
+{
+ try
+ {
+ // Initialize orb
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
+ const char * ior = "file://node_manager.ior";
+ CORBA::Object_var obj = orb->string_to_object (ior);
+ if (CORBA::is_nil (obj))
+ {
+ throw 0;
+ }
+
+ Deployment::NodeManager_var nm = Deployment::NodeManager::_narrow (obj);
+ if (CORBA::is_nil (nm))
+ {
+ throw 0;
+ }
+
+ Deployment::DeploymentPlan plan;
+ Deployment::NodeApplicationManager_ptr nam_ptr =
+ nm->preparePlan (plan, Deployment::ResourceCommitmentManager::_nil());
+ DANCE_DEBUG((LM_DEBUG, "[%M] Plan prepared\n"));
+
+ nm->destroyManager (nam_ptr);
+ DANCE_DEBUG((LM_DEBUG, "[%M] NodeApplicationManager object destroyed\n"));
+ }
+ catch (const CORBA::Exception &)
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] Uncaught CORBA exception\n"));
+ return 1;
+ }
+ catch (...)
+ {
+ return 1;
+ }
+
+ return 0;
+}
diff --git a/modules/CIAO/DAnCE/tests/ObjectLocatorTest/Dummy.idl b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/Dummy.idl
new file mode 100644
index 00000000000..b91938cb4df
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/Dummy.idl
@@ -0,0 +1,13 @@
+// $Id$
+#ifndef DUMMY_IDL
+#define DUMMY_IDL
+
+module ObjectLocatorTest
+{
+ interface Dummy {
+ string sayHello();
+ };
+};
+
+#endif /* DUMMY_IDL */
+
diff --git a/modules/CIAO/DAnCE/tests/ObjectLocatorTest/DummyImpl.cpp b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/DummyImpl.cpp
new file mode 100644
index 00000000000..d62413d728a
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/DummyImpl.cpp
@@ -0,0 +1,13 @@
+// $Id$
+#include "DummyImpl.h"
+
+namespace ObjectLocatorTest
+ {
+
+ char * DummyImpl::sayHello (void)
+ {
+ return CORBA::string_dup (this->helloSentence);
+ }
+
+ } // namespace ObjectLocatorTest
+
diff --git a/modules/CIAO/DAnCE/tests/ObjectLocatorTest/DummyImpl.h b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/DummyImpl.h
new file mode 100644
index 00000000000..4ec404d93ea
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/DummyImpl.h
@@ -0,0 +1,22 @@
+// $Id$
+#ifndef DUMMYIMPL_H_
+#define DUMMYIMPL_H_
+
+#include "DummyS.h"
+
+namespace ObjectLocatorTest
+ {
+ class DummyImpl
+ : public virtual POA_ObjectLocatorTest::Dummy
+ {
+ public:
+ DummyImpl() : helloSentence ("A dummy hello sentence.") {};
+
+ virtual char * sayHello (void);
+
+ private:
+ const char * helloSentence;
+ };
+ } // namespace POA_ObjectLocatorTest
+
+#endif /*DUMMYIMPL_H_*/
diff --git a/modules/CIAO/DAnCE/tests/ObjectLocatorTest/ObjectLocatorTest.mpc b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/ObjectLocatorTest.mpc
new file mode 100644
index 00000000000..e17d3c335c1
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/ObjectLocatorTest.mpc
@@ -0,0 +1,35 @@
+// $Id$
+project(*idl): taoidldefaults {
+ IDL_Files {
+ Dummy.idl
+ }
+ custom_only = 1
+}
+
+project (*Server): avoids_minimum_corba, dance, taoserver, iortable, dance_logger, dance_redirectionservice {
+ after += *idl
+ exename = ObjectLocatorTestServer
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ srv_main.cpp
+ DummyC.cpp
+ DummyS.cpp
+ DummyImpl.cpp
+ }
+}
+
+project (*Client): avoids_minimum_corba, dance, taoclient, anytypecode, dance_logger, portableserver {
+ after += *idl
+ exename = ObjectLocatorTestClient
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ clt_main.cpp
+ DummyC.cpp
+ }
+}
diff --git a/modules/CIAO/DAnCE/tests/ObjectLocatorTest/RegistrationPath.h b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/RegistrationPath.h
new file mode 100644
index 00000000000..4a6ea64c651
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/RegistrationPath.h
@@ -0,0 +1,9 @@
+// $Id$
+#ifndef REGISTRATIONPATH_H_
+#define REGISTRATIONPATH_H_
+
+const char * app_name = "app1";
+const char * inst_name = "inst1";
+const char * port_name = "port1";
+
+#endif /*REGISTRATIONPATH_H_*/
diff --git a/modules/CIAO/DAnCE/tests/ObjectLocatorTest/clt_main.cpp b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/clt_main.cpp
new file mode 100644
index 00000000000..d2cca36e843
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/clt_main.cpp
@@ -0,0 +1,56 @@
+// $Id$
+#include "ace/String_Base.h"
+#include "DAnCE/Logger/Log_Macros.h"
+#include "RegistrationPath.h"
+#include "DummyC.h"
+
+using namespace ObjectLocatorTest;
+
+
+int ACE_TMAIN (int argc, ACE_TCHAR * argv[])
+{
+ try
+ {
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
+
+ ACE_CString url = "corbaloc:iiop:glasgow.headquarters.eclipsesp.com:12345/";
+ url += app_name;
+ url += "/";
+ url += inst_name;
+ url += "/";
+ url += port_name;
+ DANCE_DEBUG((LM_DEBUG, "[%M] URL : %s\n", url.c_str()));
+
+ CORBA::Object_var obj = orb->string_to_object (url.c_str());
+ if (CORBA::is_nil (obj))
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] Failed to convert url to object. The test failed.\n"));
+ return 1;
+ }
+ DANCE_DEBUG((LM_DEBUG, "[%M] URL -> object : ok.\n"));
+
+ Dummy_var dummy_obj = Dummy::_narrow (obj);
+ if (CORBA::is_nil (dummy_obj))
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] Failed to narrow the object to custom type. The test failed.\n"));
+ return 1;
+ }
+ DANCE_DEBUG((LM_DEBUG, "[%M] object -> dummy : ok.\n"));
+
+ DANCE_DEBUG((LM_DEBUG, "[%M] Dummy object returned : %s.", dummy_obj->sayHello()));
+ DANCE_DEBUG((LM_DEBUG, "[%M] The test succeeded."));
+ return 0;
+ }
+ catch (CORBA::Exception & e)
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] A CORBA exception \"%s\" (%s) was thrown. The test failed."
+ , e._name(), e._info().c_str()));
+ return 1;
+ }
+ catch (...)
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] An exception was thrown. The test failed."));
+ return 1;
+ }
+}
+
diff --git a/modules/CIAO/DAnCE/tests/ObjectLocatorTest/srv_main.cpp b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/srv_main.cpp
new file mode 100644
index 00000000000..ec031d59350
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/ObjectLocatorTest/srv_main.cpp
@@ -0,0 +1,55 @@
+// $Id$
+#include "ace/OS_NS_stdio.h"
+
+#include "DummyC.h"
+#include "DummyImpl.h"
+#include "RegistrationPath.h"
+#include "DAnCE/Logger/Log_Macros.h"
+#include "DAnCE/RedirectionService/CCMObjectLocator.h"
+
+using namespace ObjectLocatorTest;
+
+
+int ACE_TMAIN (int argc, ACE_TCHAR * argv[])
+{
+ try
+ {
+ int argcm = argc + 2;
+ ACE_TCHAR ** argvm = new ACE_TCHAR* [argcm+1];
+ for (int i = 0; i < argc; ++i)
+ {
+ argvm[i] = argv[i];
+ }
+ ACE_TCHAR buf1[32];
+ ACE_OS::sprintf (buf1, ACE_TEXT("-ORBListenEndpoints"));
+ argvm[argcm-2] = buf1;
+ ACE_TCHAR buf2[32];
+ ACE_OS::sprintf (buf2, ACE_TEXT("iiop://:12345"));
+ argvm[argcm-1] = buf2;
+ argvm[argcm] = 0;
+ CORBA::ORB_var orb = CORBA::ORB_init (argcm, argvm);
+
+ CORBA::Object_var obj = orb->resolve_initial_references ("RootPOA");
+ PortableServer::POA_var root_poa = PortableServer::POA::_narrow (obj.in ());
+
+ PortableServer::POAManager_var poa_manager = root_poa->the_POAManager();
+ poa_manager->activate();
+
+ DAnCE::CCMObjectLocator locator (orb.in(), root_poa.in(), "Dummy");
+
+ DummyImpl servant;
+
+ PortableServer::ObjectId_var id = root_poa->activate_object (&servant);
+ Dummy_var dummy_obj = Dummy::_narrow (root_poa->id_to_reference (id));//servant._this();
+
+ locator.register_object (app_name, inst_name, port_name, dummy_obj);
+
+ orb->run();
+ }
+ catch (...)
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] An error has occured."));
+ }
+ return 0;
+}
+
diff --git a/modules/CIAO/DAnCE/tests/RedirectionServiceTest/Dummy.idl b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/Dummy.idl
new file mode 100644
index 00000000000..5925a4ceeba
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/Dummy.idl
@@ -0,0 +1,13 @@
+// $Id$
+#ifndef DUMMY_IDL
+#define DUMMY_IDL
+
+module Test
+{
+ interface Dummy {
+ string sayHello();
+ };
+};
+
+#endif /* DUMMY_IDL */
+
diff --git a/modules/CIAO/DAnCE/tests/RedirectionServiceTest/DummyImpl.cpp b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/DummyImpl.cpp
new file mode 100644
index 00000000000..1ad8cec1ee8
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/DummyImpl.cpp
@@ -0,0 +1,14 @@
+// $Id$
+#include "DummyImpl.h"
+
+namespace Test
+ {
+
+ char * DummyImpl::sayHello (
+ )
+ {
+ return CORBA::string_dup (this->helloSentence);
+ }
+
+ } // namespace ObjectLocatorTest
+
diff --git a/modules/CIAO/DAnCE/tests/RedirectionServiceTest/DummyImpl.h b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/DummyImpl.h
new file mode 100644
index 00000000000..272611eedba
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/DummyImpl.h
@@ -0,0 +1,24 @@
+// $Id$
+#ifndef DUMMYIMPL_H_
+#define DUMMYIMPL_H_
+
+#include "DummyS.h"
+
+namespace Test
+ {
+ class DummyImpl
+ : public virtual POA_Test::Dummy
+ {
+ public:
+ DummyImpl() : helloSentence ("A dummy hello sentence.") {};
+
+ virtual char * sayHello (
+ );
+
+ private:
+ const char * helloSentence;
+ };
+
+ } // namespace POA_ObjectLocatorTest
+
+#endif /*DUMMYIMPL_H_*/
diff --git a/modules/CIAO/DAnCE/tests/RedirectionServiceTest/RedirectionServiceTest.mpc b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/RedirectionServiceTest.mpc
new file mode 100644
index 00000000000..08700809ca2
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/RedirectionServiceTest.mpc
@@ -0,0 +1,25 @@
+// $Id$
+project (RedirectionServiceTestServer): dance, taoserver, iortable, naming, dance_redirectionservice, dance_logger, naming_serv, avoids_minimum_corba {
+ exename = RedirectionServiceTestServer
+
+ IDL_Files {
+ Dummy.idl
+ }
+
+ Source_Files {
+ srv_main.cpp
+ DummyC.cpp
+ DummyS.cpp
+ DummyImpl.cpp
+ }
+}
+
+project (RedirectionServiceTestClient): dance, taoclient, naming, dance_logger, naming, portableserver, anytypecode, avoids_minimum_corba {
+ after = RedirectionServiceTestServer
+ exename = RedirectionServiceTestClient
+
+ Source_Files {
+ clt_main.cpp
+ DummyC.cpp
+ }
+}
diff --git a/modules/CIAO/DAnCE/tests/RedirectionServiceTest/RegistrationPath.h b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/RegistrationPath.h
new file mode 100644
index 00000000000..a470d19c36d
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/RegistrationPath.h
@@ -0,0 +1,11 @@
+// $Id$
+#ifndef REGISTRATIONPATH_H_
+#define REGISTRATIONPATH_H_
+#include "ace/SString.h"
+
+const ACE_CString node_name = "MyNode";
+const ACE_CString app_name = "app1";
+const ACE_CString inst_name = "inst1";
+const ACE_CString port_name = "port1";
+
+#endif /*REGISTRATIONPATH_H_*/
diff --git a/modules/CIAO/DAnCE/tests/RedirectionServiceTest/clt_main.cpp b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/clt_main.cpp
new file mode 100644
index 00000000000..84ecb82f476
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/clt_main.cpp
@@ -0,0 +1,110 @@
+// $Id$
+#include "ace/String_Base.h"
+#include <orbsvcs/orbsvcs/CosNamingC.h>
+#include "DAnCE/Logger/Log_Macros.h"
+#include "RegistrationPath.h"
+#include "DummyC.h"
+#include "ace/SString.h"
+
+using namespace Test;
+
+CORBA::ORB_var orb;
+CORBA::Object_var naming_obj;
+
+void inspect ()
+ {
+ CORBA::Object_var obj = orb->resolve_initial_references("NameService");
+ CosNaming::NamingContext_var naming = CosNaming::NamingContext::_narrow(obj.in());
+ CosNaming::BindingList_var bl;
+ CosNaming::BindingIterator_var bi;
+ //naming->list(10L, bl.out(), bi.out());
+ CosNaming::Name name(1);
+ name.length(2);
+ name[0].id = CORBA::string_dup("Host1");//CORBA::string_dup("CcmDance1Test");
+ name[1].id = CORBA::string_dup ("CcmDance2_1@Host1");
+ name[1].kind = CORBA::string_dup ("DeploymentPlan");
+ //name[2].id = CORBA::string_dup("ASSEMBLYANDDEPLOYMENT");
+ obj = naming->resolve(name);
+ DANCE_DEBUG((LM_DEBUG, "[%M] create_external_connections - After resolve\n"));
+ CosNaming::NamingContext_var CcmDance1Test = CosNaming::NamingContext::_narrow(obj.in());
+ CcmDance1Test->list(10L, bl.out(), bi.out());
+ bool exit = false;
+ while (!exit)
+ {
+ DANCE_DEBUG((LM_DEBUG, "[%M] create_external_connections - naming size is %u\n", bl->length()));
+ for ( size_t i = 0; i< bl->length(); i++ )
+ {
+ for ( size_t j = 0; j < (*bl)[i].binding_name.length(); j++ )
+ {
+ DANCE_DEBUG((LM_DEBUG, "create_external_connections - Binding name %s, binding kind %s, binding type %i\n"
+ , (*bl)[i].binding_name[j].id.in()
+ , (*bl)[i].binding_name[j].kind.in()
+ , (*bl)[i].binding_type));
+ }
+ }
+ if(!bi->next_n(10L, bl.out()))
+ {
+ exit = true;
+ }
+ }
+
+ }
+bool test (const ACE_CString& url)
+{
+ bool res = false;
+ try
+ {
+ DANCE_DEBUG((LM_DEBUG, "[%M] URL : %s\n", url.c_str()));
+
+ CORBA::Object_var obj = orb->string_to_object (url.c_str());
+ if (CORBA::is_nil (obj))
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] Failed to convert url to object. The test failed.\n"));
+ return 1;
+ }
+ DANCE_DEBUG((LM_DEBUG, "[%M] URL -> object : ok.\n"));
+
+ Dummy_var dummy_obj = Dummy::_narrow (obj);
+ if (CORBA::is_nil (dummy_obj))
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] Failed to narrow the object to custom type. The test failed.\n"));
+ return 1;
+ }
+ DANCE_DEBUG((LM_DEBUG, "[%M] object -> dummy : ok.\n"));
+
+ DANCE_DEBUG((LM_DEBUG, "[%M] Dummy object returned : %s.\n", dummy_obj->sayHello()));
+ DANCE_DEBUG((LM_DEBUG, "[%M] The test succeeded.\n"));
+ res = true;
+ }
+ catch (CORBA::Exception & e)
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] A CORBA exception \"%s\" (%s) was thrown. The test failed."
+ , e._name(), e._info().c_str()));
+ }
+ catch (...)
+ {
+ DANCE_ERROR((LM_ERROR, "[%M] An exception was thrown. The test failed.\n"));
+ }
+
+ return res;
+}
+
+
+int ACE_TMAIN (int argc, ACE_TCHAR * argv[])
+{
+ orb = CORBA::ORB_init (argc, argv);
+
+ //naming_obj = orb->resolve_initial_references("NameService");
+ //glasgow.headquarters.eclipsesp.com:12345
+ ACE_CString url = "corbaname::glasgow:12345#" + node_name + "/" + app_name + ".DeploymentPlan" + "/" + inst_name + "/" + port_name + ".Port";
+ test (url);
+ url = "corbaname::glasgow:12345#" + node_name + "/" + app_name + ".DeploymentPlan" + "/" + inst_name + ".Component";
+ test (url);
+ //node_name + "/" + %14%01%0f%00NUP%00%00%00%17%01%00%00%00%01%00%00%00RootPOA%00MyNode%00
+ url = "corbaloc:iiop:1.2@glasgow.headquarters.eclipsesp.com:12345/%14%01%0f%00NUP%00%00%00%17%01%00%00%00%01%00%00%00RootPOA%00MyNode%00" + app_name + "/" + inst_name + "/" + port_name;
+ test (url);
+ url = "corbaloc:iiop:1.2@glasgow.headquarters.eclipsesp.com:12345/%14%01%0f%00NUP%00%00%00%17%01%00%00%00%01%00%00%00RootPOA%00MyNode%00" + app_name + "/" + inst_name;
+ test (url);
+
+ return 0;
+}
diff --git a/modules/CIAO/DAnCE/tests/RedirectionServiceTest/srv_main.cpp b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/srv_main.cpp
new file mode 100644
index 00000000000..fa44d6b8b2f
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/RedirectionServiceTest/srv_main.cpp
@@ -0,0 +1,75 @@
+// $Id$
+#include "ace/OS_NS_stdio.h"
+#include "ace/Get_Opt.h"
+#include <orbsvcs/orbsvcs/Naming/Naming_Loader.h>
+#include "DAnCE/Logger/Log_Macros.h"
+#include "RedirectionService/RedirectionService.h"
+
+#include "DummyC.h"
+#include "DummyImpl.h"
+#include "RegistrationPath.h"
+
+using namespace Test;
+
+int ACE_TMAIN (int argc, ACE_TCHAR * argv[])
+{
+// try
+ {
+ int argcm = argc + 2;
+ ACE_TCHAR ** argvm = new ACE_TCHAR* [argcm+1];
+ for (int i = 0; i < argc; ++i)
+ {
+ argvm[i] = argv[i];
+ }
+ ACE_TCHAR buf1[32];
+ ACE_OS::sprintf (buf1, ACE_TEXT("-ORBListenEndpoints"));
+ argvm[argcm-2] = buf1;
+ ACE_TCHAR buf2[32];
+ ACE_OS::sprintf (buf2, ACE_TEXT("iiop://:12345"));
+ argvm[argcm-1] = buf2;
+ argvm[argcm] = 0;
+
+ CORBA::ORB_var orb = CORBA::ORB_init (argcm, argvm);
+
+ CORBA::Object_var obj = orb->resolve_initial_references ("RootPOA");
+ PortableServer::POA_var root_poa = PortableServer::POA::_narrow (obj.in ());
+
+ PortableServer::POAManager_var poa_manager = root_poa->the_POAManager();
+ poa_manager->activate();
+
+ DummyImpl servant;
+
+ PortableServer::ObjectId_var id = root_poa->activate_object (&servant);
+
+ Dummy_var dummy_obj = Dummy::_narrow (root_poa->id_to_reference (id));
+
+ TAO_Naming_Loader loader;
+
+ CORBA::Object_var obj_tmp = loader.create_object (orb.in(), argcm, argvm);
+ CORBA::Object_var naming_obj =
+ orb->resolve_initial_references ("NameService");
+ CosNaming::NamingContext_var naming =
+ CosNaming::NamingContext::_narrow (naming_obj.in());
+
+ DAnCE::RedirectionService redirection (orb.in(),
+ root_poa.in(),
+ naming.in(),
+ CosNaming::NamingContext::_nil(),
+ true,
+ true);
+
+ redirection.registration_start (node_name, app_name);
+ redirection.registration (node_name, app_name, inst_name, port_name, dummy_obj.in());
+ DANCE_DEBUG((LM_DEBUG, "[%M] Registration for port have finished.\n\n"));
+ redirection.registration (node_name, app_name, inst_name, dummy_obj.in());
+ DANCE_DEBUG((LM_DEBUG, "[%M] Registration for component have finished.\n\n"));
+ redirection.registration_finish (node_name, app_name);
+ orb->run();
+ }
+// catch (...)
+// {
+// DANCE_ERROR((LM_ERROR, "[%M] An error has occured."));
+// }
+ return 0;
+}
+
diff --git a/modules/CIAO/DAnCE/tests/scripts/BasicSP/basicNodeDaemon.pl b/modules/CIAO/DAnCE/tests/scripts/BasicSP/basicNodeDaemon.pl
new file mode 100755
index 00000000000..b5eea32ca38
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/scripts/BasicSP/basicNodeDaemon.pl
@@ -0,0 +1,62 @@
+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::Run_Test;
+
+$status = 0;
+$iorfile1 = PerlACE::LocalFile ("NodeApp1.ior");
+$iorfile2 = PerlACE::LocalFile ("NodeApp2.ior");
+$iorfile3 = PerlACE::LocalFile ("NodeApp3.ior");
+$iorfile4 = PerlACE::LocalFile ("NodeApp4.ior");
+$iorfile5 = PerlACE::LocalFile ("NodeApp5.ior");
+
+#for ($iter = 0; $iter <= $#ARGV; $iter++) {
+# if ($ARGV[$iter] eq "-h" || $ARGV[$iter] eq "-?") {
+# print "Run_Test Perl script for NodeApplicationTest \n\n";
+# print "run_test \n";
+# print "\n";
+# print "-h -- prints this information\n";
+# exit 0;
+# }
+#}
+
+
+unlink $iorfile1;
+unlink $iorfile2;
+unlink $iorfile3;
+unlink $iorfile4;
+unlink $iorfile5;
+
+$CIAO_ROOT=$ENV{'CIAO_ROOT'};
+
+$SV1 = new PerlACE::Process ("$DANCE_ROOT/bin/dance_node_manager",
+ "-ORBEndpoint iiop://localhost:10000 -s
+$CIAO_ROOT/DAnCE/NodeApplication/NodeApplication");
+
+$SV2 = new PerlACE::Process ("$DANCE_ROOT/bin/dance_node_manager",
+ "-ORBEndpoint iiop://localhost:20000 -s
+$CIAO_ROOT/DAnCE/NodeApplication/NodeApplication");
+
+$SV3 = new PerlACE::Process ("$DANCE_ROOT/bin/dance_node_manager",
+ "-ORBEndpoint iiop://localhost:30000 -s
+$CIAO_ROOT/DAnCE/NodeApplication/NodeApplication");
+
+$SV4 = new PerlACE::Process ("$DANCE_ROOT/bin/dance_node_manager",
+ "-ORBEndpoint iiop://localhost:40000 -s
+$CIAO_ROOT/DAnCE/NodeApplication/NodeApplication");
+
+$SV5 = new PerlACE::Process ("$DANCE_ROOT/bin/dance_node_manager",
+ "-ORBEndpoint iiop://localhost:50000 -s
+$CIAO_ROOT/DAnCE/NodeApplication/NodeApplication");
+$SV1->Spawn ();
+$SV2->Spawn ();
+$SV3->Spawn ();
+$SV4->Spawn ();
+$SV5->Spawn ();
+
+sleep (99999999999);
diff --git a/modules/CIAO/DAnCE/tests/scripts/BasicSP/basicsp.dat b/modules/CIAO/DAnCE/tests/scripts/BasicSP/basicsp.dat
new file mode 100644
index 00000000000..8bd5e6a72f6
--- /dev/null
+++ b/modules/CIAO/DAnCE/tests/scripts/BasicSP/basicsp.dat
@@ -0,0 +1,3 @@
+BMClosedED corbaloc:iiop:localhost:10000/NodeManager
+EC corbaloc:iiop:localhost:20000/NodeManager
+