summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2010-02-23 16:14:43 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2010-02-23 16:14:43 +0000
commit72e09272f40d04c9045d4c6009e8508f9d80828f (patch)
tree4c1921136294531b029e9132ae494c962eb04dae
parentc2b1163eff64dbe49e7d907bb1ba62faf6079604 (diff)
downloadATCD-72e09272f40d04c9045d4c6009e8508f9d80828f.tar.gz
Tue Feb 23 16:13:24 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
-rw-r--r--CIAO/ChangeLog12
-rw-r--r--CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp68
-rwxr-xr-xCIAO/examples/Hello/descriptors/PlanLocality_DifferentProcesses.cdp2
-rwxr-xr-xCIAO/examples/Hello/descriptors/PlanLocality_SameProcess.cdp2
4 files changed, 58 insertions, 26 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog
index af10cd4930f..013234949fa 100644
--- a/CIAO/ChangeLog
+++ b/CIAO/ChangeLog
@@ -1,3 +1,15 @@
+Tue Feb 23 16:13:24 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp:
+
+ Bugfix for how connections are handled when there are two
+ internalEndpoints but it is _not_ a local conneciton.
+
+ * examples/Hello/descriptors/PlanLocality_DifferentProcesses.cdp:
+ * examples/Hello/descriptors/PlanLocality_SameProcess.cdp:
+
+ Corrected IOR file so test script finds controller.
+
Tue Feb 23 15:33:33 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
* DAnCE/tools/Convert_Plan/Convert_Plan.mpc:
diff --git a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
index 9b1bdabd753..b0f51acd845 100644
--- a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
+++ b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
@@ -1089,9 +1089,10 @@ NodeApplication_Impl::create_container (size_t server, size_t cont_idx)
}
DANCE_DEBUG (9, (LM_TRACE, DLINFO ACE_TEXT("NodeApplication_Impl::create_container - ")
- ACE_TEXT("Configuring %u components on container %u on server %u\n"),
- container.components.size (),
- server, cont_idx));
+ ACE_TEXT("Configuring %u components on container %u on server %u\n"),
+ container.components.size (),
+ server,
+ cont_idx));
// Configure components
for (size_t i = 0; i < container.components.size (); ++i)
@@ -1795,29 +1796,41 @@ NodeApplication_Impl::finishLaunch (const ::Deployment::Connections & providedRe
{
if (0 == conn.externalReference.length())
{
- if (conn.internalEndpoint.length () == 2 &&
+ if (conn.internalEndpoint.length () == 2 &&
(conn.internalEndpoint[1].kind == ::Deployment::MultiplexReceptacle ||
conn.internalEndpoint[1].kind == ::Deployment::SimplexReceptacle))
{
- obj = Components::CCMObject::
- _narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->ref.in ());
-
- ::Components::CCMObject_var facet =
- ::Components::CCMObject::_narrow (providedReference[i].endpoint[0].in ());
-
- ::Components::CCMObject_var recep =
- ::Components::CCMObject::_narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->ref.in ());
-
- ::CIAO::Deployment::Container_var cont =
- ::CIAO::Deployment::Container::_narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->container->ref.in ());
-
- this->connect_receptacle (conn,
- facet.in (),
- conn.internalEndpoint[0].portName.in (),
- obj.in (),
- conn.internalEndpoint[1].portName.in(),
- cont.in ());
- }
+ obj = Components::CCMObject::
+ _narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->ref.in ());
+
+ if (this->is_local_facet (conn))
+ {
+ ::Components::CCMObject_var facet =
+ ::Components::CCMObject::_narrow (providedReference[i].endpoint[0].in ());
+
+ ::Components::CCMObject_var recep =
+ ::Components::CCMObject::_narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->ref.in ());
+
+ ::CIAO::Deployment::Container_var cont =
+ ::CIAO::Deployment::Container::_narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->container->ref.in ());
+
+ this->connect_receptacle (conn,
+ facet.in (),
+ conn.internalEndpoint[0].portName.in (),
+ obj.in (),
+ conn.internalEndpoint[1].portName.in(),
+ cont.in ());
+ }
+ else
+ {
+ this->connect_receptacle (conn,
+ obj.in (),
+ "",
+ providedReference[i].endpoint[0].in(),
+ conn.internalEndpoint[1].portName.in(),
+ ::CIAO::Deployment::Container::_nil());
+ }
+ }
break;
}
CORBA::Object_var tmp =
@@ -1898,10 +1911,17 @@ NodeApplication_Impl::finishLaunch (const ::Deployment::Connections & providedRe
{
// What we should do with Cookie, returned from connect call???
DANCE_DEBUG (6, (LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - Set for receptacle\n")));
+ if (CORBA::is_nil (providedReference[i].endpoint[0].in ()))
+ {
+ DANCE_ERROR (1, (LM_ERROR, DLINFO ACE_TEXT ("NodeApplication_Impl::finishLaunch - ")
+ ACE_TEXT ("Reference provided from DomainApplication was nil.\n")));
+ throw 1;
+ }
+
::Components::CCMObject_var facet =
::Components::CCMObject::_narrow (providedReference[i].endpoint[0].in ());
- if (conn.internalEndpoint.length () == 2)
+ if (/*conn.internalEndpoint.length () == 2*/ this->is_local_facet (conn))
{
::CIAO::Deployment::Container_var cont =
::CIAO::Deployment::Container::_narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->container->ref.in ());
diff --git a/CIAO/examples/Hello/descriptors/PlanLocality_DifferentProcesses.cdp b/CIAO/examples/Hello/descriptors/PlanLocality_DifferentProcesses.cdp
index 83fcd9cfdb8..490c63a4bcc 100755
--- a/CIAO/examples/Hello/descriptors/PlanLocality_DifferentProcesses.cdp
+++ b/CIAO/examples/Hello/descriptors/PlanLocality_DifferentProcesses.cdp
@@ -135,7 +135,7 @@
<kind>tk_string</kind>
</type>
<value>
- <string>Hello_SenderImpl.ior</string>
+ <string>Sender.ior</string>
</value>
</value>
</configProperty>
diff --git a/CIAO/examples/Hello/descriptors/PlanLocality_SameProcess.cdp b/CIAO/examples/Hello/descriptors/PlanLocality_SameProcess.cdp
index 0c7503bbd52..b7759626348 100755
--- a/CIAO/examples/Hello/descriptors/PlanLocality_SameProcess.cdp
+++ b/CIAO/examples/Hello/descriptors/PlanLocality_SameProcess.cdp
@@ -135,7 +135,7 @@
<kind>tk_string</kind>
</type>
<value>
- <string>Hello_SenderImpl.ior</string>
+ <string>Sender.ior</string>
</value>
</value>
</configProperty>