summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormcorino <mcorino@users.noreply.github.com>2011-04-09 17:53:42 +0000
committermcorino <mcorino@users.noreply.github.com>2011-04-09 17:53:42 +0000
commit6a37f2958678992758d74411587ae03124a7e91a (patch)
treee9a2a0150a2f19216a2279939099287759345faa
parent2b0efc29d0e3a06ac6a03c956a3bc6ba764edff9 (diff)
downloadATCD-6a37f2958678992758d74411587ae03124a7e91a.tar.gz
Sat Apr 9 17:47:00 UTC 2011 Martin Corino <mcorino@remedy.nl>
Merged changes from Remedy work branch.
-rw-r--r--CIAO/ChangeLog49
-rw-r--r--CIAO/connectors/dds4ccm/impl/ConditionManager.h2
-rw-r--r--CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver.idl2
-rw-r--r--CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.cpp132
-rw-r--r--CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.h4
-rw-r--r--CIAO/connectors/dds4ccm/tests/CoherentWriter/descriptors/Plan.cdp97
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLManyByMany/README26
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.cpp92
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h3
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLManyByMany/Sender/SL_ManyByMany_Sender_exec.cpp59
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/Plan.cdp22
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/USER_QOS_PROFILES.xml76
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/run_test.pl4
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.cpp27
-rw-r--r--CIAO/connectors/dds4ccm/tests/SLOneByOne/descriptors/Plan.cdp22
-rwxr-xr-xCIAO/tests/DAnCE/Progressive_Deployments/run_test.pl19
-rw-r--r--DAnCE/ChangeLog14
-rw-r--r--DAnCE/dance/DomainApplicationManager/Node_Locator.cpp2
18 files changed, 548 insertions, 104 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog
index da03272a4ba..ff4f394346a 100644
--- a/CIAO/ChangeLog
+++ b/CIAO/ChangeLog
@@ -1,3 +1,52 @@
+Sat Apr 9 17:47:00 UTC 2011 Martin Corino <mcorino@remedy.nl>
+
+ Merged changes from Remedy work branch.
+
+ === start changelog ===
+
+ Fri Apr 8 13:57:42 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/dds4ccm/tests/SLManyByMany/descriptors/Plan.cdp:
+ Alignment.
+
+ * connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.cpp:
+ * connectors/dds4ccm/tests/SLOneByOne/descriptors/Plan.cdp:
+ Added check on received sample during on_deletion. on_deletion should be invoked
+ with a valid key. Therefor changed the QOS settings.
+
+ Thu Apr 7 15:55:20 UTC 2011 Marijke Hengstmengel <mhengstmengel@remedy.nl>
+
+ * connectors/dds4ccm/tests/SLManyByMany/Sender/SL_ManyByMany_Sender_exec.cpp:
+ * connectors/dds4ccm/tests/SLManyByMany/descriptors/Plan.cdp:
+ * connectors/dds4ccm/tests/SLManyByMany/descriptors/run_test.pl:
+ * connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h:
+ * connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.cpp:
+ * connectors/dds4ccm/tests/SLManyByMany/descriptors/USER_QOS_PROFILES.xml:
+ * connectors/dds4ccm/tests/SLManyByMany/README:
+ Changed timing in test. Added extra check on key content in on_deletion. Therefore also added QoS file.
+
+
+
+ Thu Apr 7 12:26:20 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver.idl:
+ * connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.h:
+ * connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.cpp:
+ Using the getter as well to read samples from DDS.
+
+ * connectors/dds4ccm/tests/CoherentWriter/descriptors/Plan.cdp:
+ Rewritten in order to use the state and event connectors properly.
+
+ * tests/DAnCE/Progressive_Deployments/run_test.pl:
+ Optimized logging.
+
+ Thu Apr 7 12:15:19 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * connectors/dds4ccm/impl/ConditionManager.h:
+ Fixed doxygen warning
+
+ === end changelog ===
+
Sat Apr 9 11:39:26 UTC 2011 William R. Otte <wotte@dre.vanderbilt.edu>
* tests/DAnCE/Launch-Failures/Component/Launch_Failure.mpc:
diff --git a/CIAO/connectors/dds4ccm/impl/ConditionManager.h b/CIAO/connectors/dds4ccm/impl/ConditionManager.h
index 6f74aedbf1a..c8451b6f579 100644
--- a/CIAO/connectors/dds4ccm/impl/ConditionManager.h
+++ b/CIAO/connectors/dds4ccm/impl/ConditionManager.h
@@ -187,7 +187,7 @@ namespace CIAO
*
* Internal getter for the DataReader.
* If the internal dds_entity is not set before this method
- * is called, a ::CORBA::BAD_INV_ORDER exception is thrown.
+ * is called, a CORBA::BAD_INV_ORDER exception is thrown.
*
*/
::DDS::DataReader_ptr dds_entity (void);
diff --git a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver.idl b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver.idl
index 08a5cf09eb0..52d4c12a8cb 100644
--- a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver.idl
+++ b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver.idl
@@ -15,7 +15,7 @@ module CoherentWrite_Test
{
component Receiver
{
- port CoherentWriteTestConnector::DDS_Read info_out;
+ port CoherentWriteTestConnector::DDS_Get info_out;
provides CoherentWriteStarter reader_start;
uses CoherentWriteRestarter writer_restart;
diff --git a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.cpp b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.cpp
index b834c542218..48fd54e6059 100644
--- a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.cpp
+++ b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.cpp
@@ -51,7 +51,16 @@ namespace CIAO_CoherentWrite_Test_Receiver_Impl
{
ACE_DEBUG ((LM_DEBUG, "Checking if last sample "
"is available in DDS...\n"));
- if (this->callback_.check_last ())
+ // Use get_many for every even number. In that case, don't check whether
+ // the last sample has arrived since the samples are read by then (the
+ // getter only reads unread samples).
+ if (this->run_ % 2 == 1)
+ {
+ // Odd number so check if the last sample is available in DDS.
+ if (this->callback_.check_last ())
+ this->callback_.run (this->run_);
+ }
+ else
this->callback_.run (this->run_);
return 0;
}
@@ -192,17 +201,98 @@ namespace CIAO_CoherentWrite_Test_Receiver_Impl
}
void
+ Receiver_exec_i::check_iters (const char * test,
+ const CoherentWriteTestSeq& coherentwrite_info_seq)
+ {
+ for (CORBA::ULong it = 0; it < coherentwrite_info_seq.length (); ++it)
+ {
+ if (coherentwrite_info_seq[it].iteration > this->last_iter_)
+ {
+ if (coherentwrite_info_seq[it].iteration == ++this->last_iter_)
+ {
+ ACE_DEBUG ((LM_DEBUG, "%C ALL OK: ", test));
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR, "%C ALL ERROR: ", test));
+ }
+ ACE_DEBUG ((LM_DEBUG, "expected: <%u> - "
+ "received <%d>\n",
+ this->last_iter_,
+ coherentwrite_info_seq[it].iteration));
+ }
+ }
+ if (this->run_ < this->nr_runs () + 1)
+ {
+ ::CoherentWriteRestarter_var restarter =
+ this->ciao_context_->get_connection_writer_restart ();
+ if (!::CORBA::is_nil (restarter.in ()))
+ restarter->restart_write ();
+ else
+ ACE_ERROR ((LM_ERROR, "Receiver_exec_i::get_all - "
+ "Unable to restart the writer "
+ "since the restarter is nil.\n"));
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, "Finished: wait for shutdown\n"));
+ }
+ }
+
+ void
+ Receiver_exec_i::get_all (void)
+ {
+ try
+ {
+ ::CoherentWriteTestConnector::Getter_var getter =
+ this->ciao_context_->get_connection_info_out_fresh_data ();
+
+ if (::CORBA::is_nil (getter.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "Receiver_exec_i::get_all - "
+ "Unable to get samples since "
+ "getter is nil.\n"));
+ return;
+ }
+ DDS::Duration_t to;
+ to.sec = 5;
+ to.nanosec = 0;
+ getter->time_out (to);
+
+ CoherentWriteTestSeq coherentwrite_info_seq;
+ ::CCM_DDS::ReadInfoSeq readinfo_seq;
+ getter->get_many (coherentwrite_info_seq, readinfo_seq);
+
+ this->check_iters ("GET", coherentwrite_info_seq);
+ }
+ catch (const CCM_DDS::NonExistent& ex)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: GET ALL: ")
+ ACE_TEXT ("caught NonExistent exception\n")));
+ }
+ catch (const CCM_DDS::InternalError& ex)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: GET ALL: ")
+ ACE_TEXT ("caught InternalError exception: retval <%u>\n"),
+ ex.error_code));
+ }
+ catch (const ::CORBA::Exception& ex)
+ {
+ ex._tao_print_exception ("ERROR: GET ALL: ");
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ERROR: Receiver_exec_i::get_all : Exception caught\n")));
+ }
+ }
+
+ void
Receiver_exec_i::read_all (void)
{
try
{
::CoherentWriteTestConnector::Reader_var reader =
this->ciao_context_->get_connection_info_out_data ();
- CoherentWriteRestarter_var restarter =
- this->ciao_context_->get_connection_writer_restart ();
- if (::CORBA::is_nil (reader.in ()) ||
- ::CORBA::is_nil (restarter.in ()))
+ if (::CORBA::is_nil (reader.in ()))
{
ACE_ERROR ((LM_ERROR, "Receiver_exec_i::read_all - "
"Unable to read since reader or "
@@ -214,32 +304,7 @@ namespace CIAO_CoherentWrite_Test_Receiver_Impl
::CCM_DDS::ReadInfoSeq readinfo_seq;
reader->read_all (coherentwrite_info_seq, readinfo_seq);
- for (CORBA::ULong it = 0; it < coherentwrite_info_seq.length (); ++it)
- {
- if (coherentwrite_info_seq[it].iteration > this->last_iter_)
- {
- if (coherentwrite_info_seq[it].iteration == ++this->last_iter_)
- {
- ACE_DEBUG ((LM_DEBUG, "OK: "));
- }
- else
- {
- ACE_ERROR ((LM_ERROR, "ERROR: "));
- }
- ACE_DEBUG ((LM_DEBUG, "expected: <%u> - "
- "received <%d>\n",
- this->last_iter_,
- coherentwrite_info_seq[it].iteration));
- }
- }
- if (this->run_ < this->nr_runs () + 1)
- {
- restarter->restart_write ();
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "Finished: wait for shutdown\n"));
- }
+ this->check_iters ("READ", coherentwrite_info_seq);
}
catch (const CCM_DDS::NonExistent& ex)
{
@@ -293,7 +358,10 @@ namespace CIAO_CoherentWrite_Test_Receiver_Impl
"Starting run number <%d>\n",
run));
this->run_ = run;
- read_all ();
+ if (this->run_ % 2 == 1)
+ this->read_all ();
+ else
+ this->get_all ();
}
::CORBA::UShort
diff --git a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.h
index 3a5231ed465..be797696480 100644
--- a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.h
+++ b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.h
@@ -190,6 +190,10 @@ namespace CIAO_CoherentWrite_Test_Receiver_Impl
read_action_Generator *ticker_;
+ void check_iters (const char * test,
+ const CoherentWriteTestSeq& coherentwrite_info_seq);
+
+ void get_all (void);
void read_all (void);
//@}
diff --git a/CIAO/connectors/dds4ccm/tests/CoherentWriter/descriptors/Plan.cdp b/CIAO/connectors/dds4ccm/tests/CoherentWriter/descriptors/Plan.cdp
index 7b27c761106..bd78b9fb47f 100644
--- a/CIAO/connectors/dds4ccm/tests/CoherentWriter/descriptors/Plan.cdp
+++ b/CIAO/connectors/dds4ccm/tests/CoherentWriter/descriptors/Plan.cdp
@@ -59,8 +59,60 @@
</execParameter>
</implementation>
- <implementation xmi:id="CoherentWrite_Test_ConnectorComponentImplementation">
- <name>CoherentWrite_Test_ConnectorComponentImplementation</name>
+ <implementation xmi:id="CoherentWrite_Test_StateConnectorImplementation">
+ <name>CoherentWrite_Test_StateConnectorImplementation</name>
+ <source/>
+ <artifact xmi:idref="CoherentWrite_Test_Connector_ExecArtifact" />
+ <artifact xmi:idref="CoherentWrite_Test_Connector_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CoherentWriteTestConnector_DDS_State_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CoherentWriteTestConnector_DDS_State_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>CoherentWrite_Test_Connector_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>CoherentWrite_Test_Connector_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="CoherentWrite_Test_EventConnectorImplementation">
+ <name>CoherentWrite_Test_EventConnectorImplementation</name>
<source/>
<artifact xmi:idref="CoherentWrite_Test_Connector_ExecArtifact" />
<artifact xmi:idref="CoherentWrite_Test_Connector_SvntArtifact" />
@@ -110,6 +162,7 @@
</value>
</execParameter>
</implementation>
+
<implementation xmi:id="SenderComponentImplementation">
<name>SenderComponentImplementation</name>
<source/>
@@ -161,6 +214,7 @@
</value>
</execParameter>
</implementation>
+
<instance xmi:id="ReceiverComponentInstance">
<name>ReceiverComponent</name>
<node>ReceiverNode</node>
@@ -179,12 +233,13 @@
</value>
</configProperty>
</instance>
- <instance xmi:id="CoherentWrite_Test_ConnectorComponentInstance">
+
+ <instance xmi:id="CoherentWrite_Test_SenderConnectorInstance">
<name>CoherentWrite_Test_ConnectorComponent</name>
<node>SenderNode</node>
<!-- hostname -->
<source/>
- <implementation xmi:idref="CoherentWrite_Test_ConnectorComponentImplementation" />
+ <implementation xmi:idref="CoherentWrite_Test_EventConnectorImplementation" />
<configProperty>
<name>qos_profile</name>
<value>
@@ -208,12 +263,13 @@
</value>
</configProperty>
</instance>
- <instance xmi:id="CoherentWrite_Test_ConnectorComponentInstance2">
- <name>CoherentWrite_Test_ConnectorComponent2</name>
+
+ <instance xmi:id="CoherentWrite_Test_ReceiverConnectorInstance">
+ <name>CoherentWrite_Test_ReceiverConnector</name>
<node>ReceiverNode</node>
<!-- hostname -->
<source/>
- <implementation xmi:idref="CoherentWrite_Test_ConnectorComponentImplementation" />
+ <implementation xmi:idref="CoherentWrite_Test_StateConnectorImplementation" />
<configProperty>
<name>qos_profile</name>
<value>
@@ -237,6 +293,7 @@
</value>
</configProperty>
</instance>
+
<instance xmi:id="SenderComponentInstance">
<name>SenderComponent</name>
<node>SenderNode</node>
@@ -269,10 +326,30 @@
<instance xmi:idref="ReceiverComponentInstance" />
</internalEndpoint>
<internalEndpoint>
- <portName>push_consumer_data</portName>
+ <portName>pull_observer_data</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="CoherentWrite_Test_ReceiverConnectorInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>info_out_fresh_data</name>
+ <deployRequirement>
+ <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name>
+ <resourceType>Local_Interface</resourceType>
+ </deployRequirement>
+ <internalEndpoint>
+ <portName>info_out_fresh_data</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="ReceiverComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>pull_observer_fresh_data</portName>
<provider>true</provider>
<kind>Facet</kind>
- <instance xmi:idref="CoherentWrite_Test_ConnectorComponentInstance2" />
+ <instance xmi:idref="CoherentWrite_Test_ReceiverConnectorInstance" />
</internalEndpoint>
</connection>
@@ -292,7 +369,7 @@
<portName>supplier_data</portName>
<provider>true</provider>
<kind>Facet</kind>
- <instance xmi:idref="CoherentWrite_Test_ConnectorComponentInstance" />
+ <instance xmi:idref="CoherentWrite_Test_SenderConnectorInstance" />
</internalEndpoint>
</connection>
diff --git a/CIAO/connectors/dds4ccm/tests/SLManyByMany/README b/CIAO/connectors/dds4ccm/tests/SLManyByMany/README
new file mode 100644
index 00000000000..b7cacabe8ed
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/SLManyByMany/README
@@ -0,0 +1,26 @@
+# $Id$
+
+This is a test for the StateListener when the StateListenerControl is in the MANY_BY_MANY mode.
+
+The test uses the Updater to sent samples.
+With a create_one ( 1 sample) and create_many (3 samples) of the Updater,
+the on_creation must be triggered ( 4 times 1 sample).
+
+With a delete_one ( 1 sample) and a delete_many (3 samples) of the Updater,
+ the on_deletion must betriggered( 4 times 1 sample).
+
+With update_one ( 1 sample) and update_many (3 samples) of the Updater,
+ the on_many_updates must ideal be triggered 2 times (1 and 3 samples),
+but it is possible through timing problems that the 3 samples are nor received at one time.
+
+Because of the MANY_BY_MANY mode, the on_one_update must not be triggered,
+even if the Updater does a update_one.
+
+In on_deletion, the returning dataum.key is tested . The key shouldn't be empty, but have a valid value
+because of the <serialize_key_with_dispose> and <propagate_dispose_of_unregistered_instances> settings in the QoS .
+
+
+Beccause the StateListener performs a get, a read_all of a Reader shouldn't receive any samples
+after the Statelistener has received his triggers.
+
+
diff --git a/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.cpp b/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.cpp
index 1f77b91bd01..f748a6ced92 100644
--- a/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.cpp
+++ b/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.cpp
@@ -33,6 +33,7 @@
#define ON_CREATION_EXPECTED 4
#define ON_MANY_EXPECTED 4
+#define ON_MANY_TRIGGERED 2
#define ON_DELETION_EXPECTED 4
#define ON_READER_EXPECTED 0
@@ -67,6 +68,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
Atomic_Long &no_operation,
Atomic_Long &on_creation,
Atomic_Long &on_many_update,
+ Atomic_Long &on_many_upd_trigger,
Atomic_Long &on_deletion,
Atomic_Bool &create_data,
Atomic_Bool &update_data)
@@ -75,6 +77,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
, no_operation_ (no_operation)
, on_creation_ (on_creation)
, on_many_update_ (on_many_update)
+ , on_many_upd_trigger_ (on_many_upd_trigger)
, on_deletion_ (on_deletion)
, create_data_ (create_data)
, update_data_ (update_data)
@@ -120,16 +123,25 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
info_out_data_listener_exec_i::on_many_updates (const ::TestTopicSeq & data,
const ::CCM_DDS::ReadInfoSeq & infos)
{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("on_many_update triggered,")
+ ACE_TEXT (" received sequence of ")
+ ACE_TEXT ("<%u> samples\n"),
+ infos.length()));
+ //number of times this is triggered
+ this->on_many_upd_trigger_ ++;
+
+ //number of total samples received
this->on_many_update_ += infos.length();
for(CORBA::ULong i = 0; i < infos.length(); ++i)
{
if (infos[i].instance_status != CCM_DDS::INSTANCE_UPDATED)
{
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: did not receive the expected ")
- ACE_TEXT ("info.instance_status ")
- ACE_TEXT ("'CCM_DDS::INSTANCE_UPDATED' ")
- ACE_TEXT ("with operation 'on_many_updates' ")
- ACE_TEXT ("from StateListener in Receiver\n")
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ERROR: did not receive the expected ")
+ ACE_TEXT ("info.instance_status ")
+ ACE_TEXT ("'CCM_DDS::INSTANCE_UPDATED' ")
+ ACE_TEXT ("with operation 'on_many_updates' ")
+ ACE_TEXT ("from StateListener in Receiver\n")
));
}
@@ -141,8 +153,8 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
}
for (CORBA::ULong i = 0; i < data.length(); ++i)
{
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("on_many_updates info : ")
- ACE_TEXT ("Number <%d> : received TestTopic_info ")
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("on_many_updates info : Number <%d> :")
+ ACE_TEXT (" received TestTopic_info ")
ACE_TEXT ("for <%C> at %u\n"),
i,
data[i].key.in (),
@@ -161,15 +173,35 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
{
if (info.instance_status != CCM_DDS::INSTANCE_DELETED)
{
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: did not receive the expected info.instance_status ")
- ACE_TEXT ("'CCM_DDS::INSTANCE_DELETED'")
- ACE_TEXT (" with operation 'on_deletion' from StateListener in Receiver\n")
- ));
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ERROR: did not receive the expected ")
+ ACE_TEXT ("info.instance_status ")
+ ACE_TEXT ("'CCM_DDS::INSTANCE_DELETED' with operation ")
+ ACE_TEXT ("'on_deletion' from StateListener in Receiver\n")
+ ));
}
- if (!datum.key.in() == 0 && info.instance_status == CCM_DDS::INSTANCE_DELETED)
+ else
{
- ++this->on_deletion_;
+ // Because of the settings <serialize_key_with_dispose> and
+ // <propagate_dispose_of_unregistered_instances> in the QoS , we expect
+ // an existing datum.key
+ if ((ACE_OS::strncmp (datum.key.in(), "KEY", 3) == 0 ) ||
+ (ACE_OS::strncmp (datum.key.in(), "many", 4) == 0 ))
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Statelistener:on_deletion : ")
+ ACE_TEXT ("Received datum for <%C> \n"),
+ datum.key.in ()));
+ ++this->on_deletion_;
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ERROR Statelistener:on_deletion : did not ")
+ ACE_TEXT ("receive the expected datum, received <%C>")
+ ACE_TEXT (", expected <KEY_.> or <many_.>\n"),
+ datum.key.in ()));
+ }
}
}
@@ -212,6 +244,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
: no_operation_ (0)
, on_creation_ (0)
, on_many_update_ (0)
+ , on_many_upd_trigger_ (0)
, on_deletion_ (0)
, create_data_ (false)
, update_data_ (false)
@@ -263,7 +296,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
}
try
{
- TestTopicSeq TestTopic_infos;
+ TestTopicSeq TestTopic_infos;
::CCM_DDS::ReadInfoSeq readinfoseq;
reader->read_all (TestTopic_infos, readinfoseq);
this->reader_data_ += TestTopic_infos.length ();
@@ -305,6 +338,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
this->no_operation_,
this->on_creation_,
this->on_many_update_,
+ this->on_many_upd_trigger_,
this->on_deletion_,
this->create_data_,
this->update_data_),
@@ -375,8 +409,10 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
lc->mode (::CCM_DDS::MANY_BY_MANY);
if (this->reactor ()->schedule_timer (this->ticker_,
0,
- ACE_Time_Value(3, 0),
- ACE_Time_Value(3, 0)) == -1)
+ ACE_Time_Value(18, 0),
+ ACE_Time_Value(1, 0)) == -1)
+ // ACE_Time_Value(1, 0),
+ // ACE_Time_Value(1, 0)) == -1)
{
ACE_ERROR ((LM_INFO, "Receiver_exec_i::ccm_activate - "
"ERROR: Unable to schedule timer!\n"));
@@ -441,6 +477,24 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
));
}
+ if(this->on_many_upd_trigger_.value () < ON_MANY_TRIGGERED)
+ {
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: didn't trigger the expected ")
+ ACE_TEXT ("number of 'on_many_update': ")
+ ACE_TEXT ("expected minimum <%d> - received <%d>\n"),
+ ON_MANY_TRIGGERED,
+ this->on_many_upd_trigger_.value ()
+ ));
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("OK: did trigger the minimum expected ")
+ ACE_TEXT ("number of 'on_many_update': ")
+ ACE_TEXT ("expected <%d> - received <%d>\n"),
+ ON_MANY_TRIGGERED,
+ this->on_many_upd_trigger_.value ()
+ ));
+ }
if(this->on_many_update_.value () != ON_MANY_EXPECTED)
{
ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: didn't receive the expected ")
@@ -454,9 +508,11 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
{
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("OK: did receive the expected ")
ACE_TEXT ("number of 'on_many_update' samples: ")
- ACE_TEXT ("expected <%d> - received <%d>\n"),
+ ACE_TEXT ("expected <%d> - received <%d>,")
+ ACE_TEXT ("on_many_update triggered at <%d> times.\n"),
ON_MANY_EXPECTED,
- this->on_many_update_.value ()
+ this->on_many_update_.value (),
+ ON_MANY_TRIGGERED
));
}
diff --git a/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h
index aed8f79ae84..5674cabf36d 100644
--- a/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h
+++ b/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h
@@ -81,6 +81,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
Atomic_Long &no_operation,
Atomic_Long &on_creation,
Atomic_Long &on_many_update,
+ Atomic_Long &on_many_upd_trigger,
Atomic_Long &on_deletion,
Atomic_Bool &create_data,
Atomic_Bool &update_data);
@@ -111,6 +112,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
Atomic_Long &no_operation_;
Atomic_Long &on_creation_;
Atomic_Long &on_many_update_;
+ Atomic_Long &on_many_upd_trigger_;
Atomic_Long &on_deletion_;
Atomic_Bool &create_data_;
Atomic_Bool &update_data_;
@@ -203,6 +205,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl
Atomic_Long no_operation_;
Atomic_Long on_creation_;
Atomic_Long on_many_update_;
+ Atomic_Long on_many_upd_trigger_;
Atomic_Long on_deletion_;
Atomic_Bool create_data_;
Atomic_Bool update_data_;
diff --git a/CIAO/connectors/dds4ccm/tests/SLManyByMany/Sender/SL_ManyByMany_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/SLManyByMany/Sender/SL_ManyByMany_Sender_exec.cpp
index c2541560c0b..c9ec998d3e2 100644
--- a/CIAO/connectors/dds4ccm/tests/SLManyByMany/Sender/SL_ManyByMany_Sender_exec.cpp
+++ b/CIAO/connectors/dds4ccm/tests/SLManyByMany/Sender/SL_ManyByMany_Sender_exec.cpp
@@ -101,20 +101,23 @@ namespace CIAO_SL_ManyByMany_Sender_Impl
return false;
}
updater->create_one (i);
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("SL_ManyByMany: create_one with instance key <%C>\n"),
- i.key.in ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("SL_ManyByMany: create_one with instance key ")
+ ACE_TEXT (" <%C>\n"),
+ i.key.in ()));
}
catch (const CCM_DDS::AlreadyCreated &)
{
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("Unexpected exception: ")
- ACE_TEXT ("AlreadyCreated with test updater create_one <%C>.\n"),
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Unexpected exception: AlreadyCreated ")
+ ACE_TEXT ("with test updater create_one <%C>.\n"),
i.key.in ()));
return false;
}
catch (const CCM_DDS::InternalError& )
{
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("Internal Error while create_one for <%C>.\n"),
- i.key.in ()));
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Internal Error while create_one for <%C>.\n"),
+ i.key.in ()));
return false;
}
return true;
@@ -137,19 +140,23 @@ namespace CIAO_SL_ManyByMany_Sender_Impl
}
i.x++;
updater->update_one (i, DDS::HANDLE_NIL);
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Updater: update_one with already existing instance with DDS::HANDLE_NIL, key <%C>\n"),
- i.key.in ()));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("Updater: update_one with already existing ")
+ ACE_TEXT ("instance with DDS::HANDLE_NIL, key <%C>\n"),
+ i.key.in ()));
}
catch (const CCM_DDS::NonExistent &)
{
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("Unexpected exception: NonExistent with test updater update_one <%C>.\n"),
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Unexpected exception: NonExistent ")
+ ACE_TEXT ("with test updater update_one <%C>.\n"),
i.key.in ()));
return false;
}
catch (const CCM_DDS::InternalError& )
{
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("Internal Error while update_one for <%C>.\n"),
- i.key.in ()));
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Internal Error while update_one for <%C>.\n"),
+ i.key.in ()));
return false;
}
return true;
@@ -170,20 +177,24 @@ namespace CIAO_SL_ManyByMany_Sender_Impl
"ERROR: Updater seems nil\n"));
return false;
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Updater: delete_one with registered instance with DDS::HANDLE_NIL, key <%C>\n"),
- i.key.in ()));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Updater: delete_one with registered ")
+ ACE_TEXT ("instance with DDS::HANDLE_NIL, ")
+ ACE_TEXT ("key <%C>\n"),
+ i.key.in ()));
updater->delete_one(i, DDS::HANDLE_NIL);
}
catch (const CCM_DDS::NonExistent &)
{
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("Unexpected exception: NonExistent with test updater delete_one <%C>.\n"),
- i.key.in ()));
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Unexpected exception: NonExistent ")
+ ACE_TEXT ("with test updater delete_one <%C>.\n"),
+ i.key.in ()));
return false;
}
catch (const CCM_DDS::InternalError& )
{
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("Internal Error while delete_one for <%C>.\n"),
- i.key.in ()));
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Internal Error while delete_one for <%C>.\n"),
+ i.key.in ()));
return false;
}
return true;
@@ -237,13 +248,15 @@ namespace CIAO_SL_ManyByMany_Sender_Impl
"ERROR: Updater seems nil\n"));
return false;
}
- for(CORBA::ULong i = 0; i < this->topic_seq_many_.length(); i++)
+ for(CORBA::ULong i = 0; i < this->topic_seq_many_.length(); i++)
{
this->topic_seq_many_[i].x= i+ 10;
}
updater->update_many (this->topic_seq_many_);
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("update_many : written <%u> samples\n"),
this->topic_seq_many_.length ()));
+ updater->is_coherent_write (false);
+
}
catch (const CCM_DDS::NonExistent& )
{
@@ -279,14 +292,16 @@ namespace CIAO_SL_ManyByMany_Sender_Impl
}
catch (const CCM_DDS::NonExistent& )
{
- ACE_ERROR ((LM_ERROR, ACE_TEXT ("Unexpected exception: NonExistent with test updater delete_many\n")));
+ ACE_ERROR ((LM_ERROR, ACE_TEXT ("Unexpected exception: NonExistent ")
+ ACE_TEXT ("with test updater delete_many\n")));
return false;
}
catch (const CCM_DDS::InternalError& ex)
{
ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: Internal Error ")
- ACE_TEXT ("with test updater delete_many: index <%d> - retval <%d>\n"),
- ex.index, ex.error_code));
+ ACE_TEXT ("with test updater delete_many:")
+ ACE_TEXT ("index <%d> - retval <%d>\n"),
+ ex.index, ex.error_code));
return false;
}
@@ -375,7 +390,7 @@ namespace CIAO_SL_ManyByMany_Sender_Impl
void
Sender_exec_i::start (void)
{
- long sec = 3L;
+ long sec = 2L;
long const usec = 0L;
if (this->reactor ()->schedule_timer (
this->ticker_,
diff --git a/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/Plan.cdp b/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/Plan.cdp
index bee09a6c97c..0238211ad98 100644
--- a/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/Plan.cdp
+++ b/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/Plan.cdp
@@ -186,6 +186,17 @@
</value>
</value>
</configProperty>
+ <configProperty>
+ <name>qos_profile</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SlMbM_Library#SlMbM_Profile</string>
+ </value>
+ </value>
+ </configProperty>
</instance>
<instance xmi:id="SL_ManyByMany_ConnectorComponentInstance2">
<name>SL_ManyByMany_ConnectorComponent2</name>
@@ -204,6 +215,17 @@
</value>
</value>
</configProperty>
+ <configProperty>
+ <name>qos_profile</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SlMbM_Library#SlMbM_Profile</string>
+ </value>
+ </value>
+ </configProperty>
</instance>
<instance xmi:id="SenderComponentInstance">
<name>SenderComponent</name>
diff --git a/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/USER_QOS_PROFILES.xml b/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/USER_QOS_PROFILES.xml
new file mode 100644
index 00000000000..0985f8d04e5
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/USER_QOS_PROFILES.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Description
+XML QoS Profile
+
+The QoS configuration of the DDS entities in the generated example is
+loaded from this file.
+
+This file is used only when it is in the current working directory
+or when the enviroment variable
+NDDS_QOS_PROFILES is defined and points to this file.
+
+For more information about XML QoS Profiles see Chapter 15 in the
+RTI Data Distribution Service user manual.
+-->
+<dds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="c:/ndds/ndds.4.5d/scripts/../resource/rtiddsgen/../qos_profiles_4.5d/schema/rti_dds_qos_profiles.xsd" version="4.5d">
+ <!-- QoS Library containing the QoS profile used in the generated example.
+
+ A QoS library is a named set of QoS profiles.
+ -->
+ <qos_library name="SlMbM_Library">
+ <!-- QoS profile used to configure reliable communication between the DataWriter
+ and DataReader created in the example code.
+
+ A QoS profile groups a set of related QoS.
+ -->
+ <qos_profile name="SlMbM_Profile" is_default_qos="true">
+ <!-- QoS used to configure the data writer created in the example code -->
+ <datawriter_qos>
+ <reliability>
+ <kind>RELIABLE_RELIABILITY_QOS</kind>
+ <max_blocking_time>
+ <sec>10</sec>
+ <nanosec>0</nanosec>
+ </max_blocking_time>
+ </reliability>
+ <history>
+ <kind>KEEP_ALL_HISTORY_QOS</kind>
+ </history>
+ <resource_limits>
+ <max_instances>4</max_instances>
+ <initial_instances>4</initial_instances>
+ <max_samples>25</max_samples>
+ <initial_samples>10</initial_samples>
+ <max_samples_per_instance>5</max_samples_per_instance>
+ </resource_limits>
+ <protocol>
+ <rtps_reliable_writer>
+ <max_heartbeat_retries>10</max_heartbeat_retries>
+ </rtps_reliable_writer>
+ <serialize_key_with_dispose>BOOLEAN_TRUE</serialize_key_with_dispose>
+ </protocol>
+ </datawriter_qos>
+ <!-- QoS used to configure the data reader created in the example code -->
+ <datareader_qos>
+ <reliability>
+ <kind>RELIABLE_RELIABILITY_QOS</kind>
+ </reliability>
+ <history>
+ <kind>KEEP_ALL_HISTORY_QOS</kind>
+ </history>
+ <resource_limits>
+ <max_instances>4</max_instances>
+ <initial_instances>4</initial_instances>
+ <max_samples>25</max_samples>
+ <initial_samples>10</initial_samples>
+ <max_samples_per_instance>5</max_samples_per_instance>
+ </resource_limits>
+ <protocol>
+ <propagate_dispose_of_unregistered_instances>BOOLEAN_TRUE</propagate_dispose_of_unregistered_instances>
+ </protocol>
+ </datareader_qos>
+ </qos_profile>
+ </qos_library>
+</dds>
diff --git a/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/run_test.pl
index cdc95da3df3..acc2fa5c0ee 100755
--- a/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/SLManyByMany/descriptors/run_test.pl
@@ -218,8 +218,8 @@ for ($i = 0; $i < $nr_daemon; ++$i) {
}
}
-print "Sleeping 20 seconds to allow task to complete\n";
-sleep (20);
+print "Sleeping 30 seconds to allow task to complete\n";
+sleep (30);
# Invoke executor - stop the application -.
print "Invoking executor - stop the application -\n";
diff --git a/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.cpp b/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.cpp
index 7334aca3cfc..0daa3a26fef 100644
--- a/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.cpp
+++ b/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.cpp
@@ -126,15 +126,28 @@ namespace CIAO_SL_OneByOne_Receiver_Impl
ACE_TEXT ("from StateListener in Receiver\n")));
}
- if (!datum.key.in() == 0 &&
- info.instance_status == CCM_DDS::INSTANCE_DELETED)
+ else
{
- ++this->on_deletion_;
+ // Because of the settings <serialize_key_with_dispose> and
+ // <propagate_dispose_of_unregistered_instances> in the QoS , we expect
+ // an existing datum.key
+ if ((ACE_OS::strncmp (datum.key.in(), "KEY", 3) == 0 ) ||
+ (ACE_OS::strncmp (datum.key.in(), "many", 4) == 0 ))
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Statelistener:on_deletion : ")
+ ACE_TEXT ("Received datum for <%C> \n"),
+ datum.key.in ()));
+ ++this->on_deletion_;
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ERROR Statelistener:on_deletion : did not ")
+ ACE_TEXT ("receive the expected datum, received <%C>")
+ ACE_TEXT (", expected <KEY_.> or <many_.>\n"),
+ datum.key.in ()));
+ }
}
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("StateListener_exec_i::on_deletion - ")
- ACE_TEXT ("Received sample: key <%C> - iteration <%d>\n"),
- datum.key.in (),
- datum.x));
}
/**
diff --git a/CIAO/connectors/dds4ccm/tests/SLOneByOne/descriptors/Plan.cdp b/CIAO/connectors/dds4ccm/tests/SLOneByOne/descriptors/Plan.cdp
index 4e797b1bf0f..fda7618e870 100644
--- a/CIAO/connectors/dds4ccm/tests/SLOneByOne/descriptors/Plan.cdp
+++ b/CIAO/connectors/dds4ccm/tests/SLOneByOne/descriptors/Plan.cdp
@@ -186,6 +186,17 @@
</value>
</value>
</configProperty>
+ <configProperty>
+ <name>qos_profile</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SlObO_Library#SlObO_Profile</string>
+ </value>
+ </value>
+ </configProperty>
</instance>
<instance xmi:id="SL_OneByOne_ConnectorComponentInstance2">
<name>SL_OneByOne_ConnectorComponent2</name>
@@ -204,6 +215,17 @@
</value>
</value>
</configProperty>
+ <configProperty>
+ <name>qos_profile</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>SlObO_Library#SlObO_Profile</string>
+ </value>
+ </value>
+ </configProperty>
</instance>
<instance xmi:id="SenderComponentInstance">
<name>SenderComponent</name>
diff --git a/CIAO/tests/DAnCE/Progressive_Deployments/run_test.pl b/CIAO/tests/DAnCE/Progressive_Deployments/run_test.pl
index 90418d4f183..2cec7141f26 100755
--- a/CIAO/tests/DAnCE/Progressive_Deployments/run_test.pl
+++ b/CIAO/tests/DAnCE/Progressive_Deployments/run_test.pl
@@ -26,7 +26,6 @@ $nr_daemon = 2;
$status = 0;
$dat_file = "NodeManagerMap.cdd";
-$cdp_file = "DeploymentPlan.cdp";
# ior files other than daemon
$ior_nsbase = "ns.ior";
@@ -179,7 +178,7 @@ if ($status != 0) {
$daemons_running = 1;
# Invoke execution manager.
-print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n";
+print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile --cdd $dat_file\n";
$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
"-e$ior_emfile --cdd $dat_file");
$EM->Spawn ();
@@ -197,17 +196,17 @@ $em_running = 1;
# Invoke executor - start the application -.
print "Invoking executor - launch the application -\n";
-print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile -l\n";
+print "Start dance_plan_launcher.exe with -x Plan_A.cpd -k file://$ior_emfile -l\n";
$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
"-x Plan_A.cdp -k file://$ior_emfile -l");
$E->SpawnWaitKill (2*$tg_executor->ProcessStartWaitInterval ());
-print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile -l\n";
+print "Start dance_plan_launcher.exe with -x Plan_B.cpd -k file://$ior_emfile -l\n";
$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
"-x Plan_B.cdp -k file://$ior_emfile -l");
$E->SpawnWaitKill (2*$tg_executor->ProcessStartWaitInterval ());
-print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile -l\n";
+print "Start dance_plan_launcher.exe with -x Plan_C.cpd -k file://$ior_emfile -l\n";
$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
"-x Plan_C.cdp -k file://$ior_emfile -l");
$E->SpawnWaitKill (2*$tg_executor->ProcessStartWaitInterval ());
@@ -223,19 +222,19 @@ for ($i = 0; $i < $nr_daemon; ++$i) {
# Invoke executor - stop the application -.
print "Invoking executor - stop the application -\n";
-print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file -s\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x Plan_C.cdp -s\n";
$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
- "-k file://$ior_emfile -x Plan_A.cdp -s");
+ "-k file://$ior_emfile -x Plan_C.cdp -s");
$E->SpawnWaitKill ($tg_executor->ProcessStopWaitInterval ());
-print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file -s\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x Plan_B.cdp -s\n";
$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
"-k file://$ior_emfile -x Plan_B.cdp -s");
$E->SpawnWaitKill ($tg_executor->ProcessStopWaitInterval ());
-print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file -s\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x Plan_A.cdp -s\n";
$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
- "-k file://$ior_emfile -x Plan_C.cdp -s");
+ "-k file://$ior_emfile -x Plan_A.cdp -s");
$E->SpawnWaitKill ($tg_executor->ProcessStopWaitInterval ());
print "Executor returned.\n";
diff --git a/DAnCE/ChangeLog b/DAnCE/ChangeLog
index 37fb2721d28..78ca5cd5ed7 100644
--- a/DAnCE/ChangeLog
+++ b/DAnCE/ChangeLog
@@ -1,3 +1,17 @@
+Sat Apr 9 17:47:00 UTC 2011 Martin Corino <mcorino@remedy.nl>
+
+ Merged changes from Remedy work branch.
+
+ === start changelog ===
+
+ Thu Apr 7 12:24:30 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * dance/DomainApplicationManager/Node_Locator.cpp:
+ Removed comma after DLINFO in a log message. Therefor the message
+ will be logged properly.
+
+ === end changelog ===
+
Sat Apr 9 11:36:47 UTC 2011 William R. Otte <wotte@dre.vanderbilt.edu>
* dance/LocalityManager/Daemon/Locality_Manager_Impl.cpp:
diff --git a/DAnCE/dance/DomainApplicationManager/Node_Locator.cpp b/DAnCE/dance/DomainApplicationManager/Node_Locator.cpp
index 5d03d39b5e7..d5464526888 100644
--- a/DAnCE/dance/DomainApplicationManager/Node_Locator.cpp
+++ b/DAnCE/dance/DomainApplicationManager/Node_Locator.cpp
@@ -217,7 +217,7 @@ namespace DAnCE
resources[i].resourceType[k]) == 0)
{
DANCE_DEBUG (DANCE_LOG_EVENT_TRACE,
- (LM_TRACE, DLINFO,
+ (LM_TRACE, DLINFO
ACE_TEXT("Node_Locator::get_resource_value - ")
ACE_TEXT("Found resource for type '%C'\n"),
type));