summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2011-04-10 19:42:43 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2011-04-10 19:42:43 +0000
commit1a408b7a13cf54da32c6fe9f5a0ff1fbd45bcdc3 (patch)
treea4abc07d94e14ab6c0794aa62d89d181840e5b5d
parent62f510aa440dc27433930a248be6eeecd310be5a (diff)
downloadATCD-1a408b7a13cf54da32c6fe9f5a0ff1fbd45bcdc3.tar.gz
Sun Apr 10 19:41:34 UTC 2011 William R. Otte <wotte@dre.vanderbilt.edu>
* tests/DAnCE/Launch-Failures/Component/Launch_Failure.mpc: * tests/DAnCE/Launch-Failures/Component/Launch_Failure_exec.cpp: * tests/DAnCE/Launch-Failures/Interceptors: * tests/DAnCE/Launch-Failures/Interceptors/Interceptors.mpc: * tests/DAnCE/Launch-Failures/Interceptors/Selective_Error.h: * tests/DAnCE/Launch-Failures/Interceptors/Selective_Error.cpp: * tests/DAnCE/Launch-Failures/Interceptors/Selective_Error_Export.h: * tests/DAnCE/Launch-Failures/descriptors/LocalDestEndpointFailure.cdp: * tests/DAnCE/Launch-Failures/descriptors/LocalFacetConnectionDifferentLMs.cdp: * tests/DAnCE/Launch-Failures/descriptors/LocalNilFacetConnection.cdp: * tests/DAnCE/Launch-Failures/descriptors/LocalSourceEndpointFailure.cdp: * tests/DAnCE/Launch-Failures/descriptors/besteffort.localityconfig: Expanded testing.
-rw-r--r--CIAO/ChangeLog17
-rw-r--r--CIAO/tests/DAnCE/Launch-Failures/Component/Launch_Failure.mpc4
-rw-r--r--CIAO/tests/DAnCE/Launch-Failures/Component/Launch_Failure_exec.cpp10
-rw-r--r--CIAO/tests/DAnCE/Launch-Failures/Interceptors/Interceptors.mpc12
-rw-r--r--CIAO/tests/DAnCE/Launch-Failures/Interceptors/Selective_Error.cpp161
-rw-r--r--CIAO/tests/DAnCE/Launch-Failures/Interceptors/Selective_Error.h78
-rw-r--r--CIAO/tests/DAnCE/Launch-Failures/Interceptors/Selective_Error_Export.h58
-rw-r--r--CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalDestEndpointFailure.cdp180
-rw-r--r--CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalFacetConnectionDifferentLMs.cdp181
-rw-r--r--CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalNilFacetConnection.cdp140
-rw-r--r--CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalSourceEndpointFailure.cdp181
-rw-r--r--CIAO/tests/DAnCE/Launch-Failures/descriptors/besteffort.localityconfig3
12 files changed, 1022 insertions, 3 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog
index 9274f534c8b..7dc7cc7fab3 100644
--- a/CIAO/ChangeLog
+++ b/CIAO/ChangeLog
@@ -1,3 +1,20 @@
+Sun Apr 10 19:41:34 UTC 2011 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * tests/DAnCE/Launch-Failures/Component/Launch_Failure.mpc:
+ * tests/DAnCE/Launch-Failures/Component/Launch_Failure_exec.cpp:
+ * tests/DAnCE/Launch-Failures/Interceptors:
+ * tests/DAnCE/Launch-Failures/Interceptors/Interceptors.mpc:
+ * tests/DAnCE/Launch-Failures/Interceptors/Selective_Error.h:
+ * tests/DAnCE/Launch-Failures/Interceptors/Selective_Error.cpp:
+ * tests/DAnCE/Launch-Failures/Interceptors/Selective_Error_Export.h:
+ * tests/DAnCE/Launch-Failures/descriptors/LocalDestEndpointFailure.cdp:
+ * tests/DAnCE/Launch-Failures/descriptors/LocalFacetConnectionDifferentLMs.cdp:
+ * tests/DAnCE/Launch-Failures/descriptors/LocalNilFacetConnection.cdp:
+ * tests/DAnCE/Launch-Failures/descriptors/LocalSourceEndpointFailure.cdp:
+ * tests/DAnCE/Launch-Failures/descriptors/besteffort.localityconfig:
+
+ Expanded testing.
+
Sun Apr 10 17:51:42 UTC 2011 William R. Otte <wotte@dre.vanderbilt.edu>
* ciao/Base/CIAO_Exceptions.idl:
diff --git a/CIAO/tests/DAnCE/Launch-Failures/Component/Launch_Failure.mpc b/CIAO/tests/DAnCE/Launch-Failures/Component/Launch_Failure.mpc
index edfcf8fba76..589149bb0b7 100644
--- a/CIAO/tests/DAnCE/Launch-Failures/Component/Launch_Failure.mpc
+++ b/CIAO/tests/DAnCE/Launch-Failures/Component/Launch_Failure.mpc
@@ -89,7 +89,7 @@ project(Launch_Failure_exec) : ciao_executor {
libs += Launch_Failure_stub Launch_Failure_lem_stub
libout = ../lib
- libpaths += ../lib ../lib_sub
+ libpaths += ../lib ../lib_stub
dynamicflags += LAUNCH_FAILURE_EXEC_BUILD_DLL
@@ -116,7 +116,7 @@ project(Launch_Failure_svnt) : ciao_servant {
libs += Launch_Failure_stub Launch_Failure_lem_stub
libout = ../lib
- libpaths += ../lib ../lib_sub
+ libpaths += ../lib ../lib_stub
dynamicflags += LAUNCH_FAILURE_SVNT_BUILD_DLL
diff --git a/CIAO/tests/DAnCE/Launch-Failures/Component/Launch_Failure_exec.cpp b/CIAO/tests/DAnCE/Launch-Failures/Component/Launch_Failure_exec.cpp
index c4cf60b2a48..f7774c6545e 100644
--- a/CIAO/tests/DAnCE/Launch-Failures/Component/Launch_Failure_exec.cpp
+++ b/CIAO/tests/DAnCE/Launch-Failures/Component/Launch_Failure_exec.cpp
@@ -106,6 +106,11 @@ namespace CIAO_Launch_Failure_Impl
throw 1;
}
+ if (this->failure_reason_ == ::NIL_FACET_REFERENCE)
+ {
+ return 0;
+ }
+
if ( ::CORBA::is_nil (this->ciao_remote_out_.in ()))
{
remote_out_exec_i *tmp = 0;
@@ -131,6 +136,11 @@ namespace CIAO_Launch_Failure_Impl
throw 1;
}
+ if (this->failure_reason_ == ::NIL_FACET_REFERENCE)
+ {
+ return 0;
+ }
+
if ( ::CORBA::is_nil (this->ciao_local_out_.in ()))
{
local_out_exec_i *tmp = 0;
diff --git a/CIAO/tests/DAnCE/Launch-Failures/Interceptors/Interceptors.mpc b/CIAO/tests/DAnCE/Launch-Failures/Interceptors/Interceptors.mpc
new file mode 100644
index 00000000000..83c169adf2e
--- /dev/null
+++ b/CIAO/tests/DAnCE/Launch-Failures/Interceptors/Interceptors.mpc
@@ -0,0 +1,12 @@
+project (Launch_Failure_Interceptors) : dance_skel, dance_lib, dance_logger {
+ dynamicflags += SELECTIVE_ERROR_BUILD_DLL
+ libout = ../lib
+
+ Source_Files {
+ Selective_Error.cpp
+ }
+
+ Header_Files {
+ Selective_Error.h
+ }
+} \ No newline at end of file
diff --git a/CIAO/tests/DAnCE/Launch-Failures/Interceptors/Selective_Error.cpp b/CIAO/tests/DAnCE/Launch-Failures/Interceptors/Selective_Error.cpp
new file mode 100644
index 00000000000..ec8724970c6
--- /dev/null
+++ b/CIAO/tests/DAnCE/Launch-Failures/Interceptors/Selective_Error.cpp
@@ -0,0 +1,161 @@
+// $Id$
+
+#include "Selective_Error.h"
+#include "dance/Deployment/Deployment_StartErrorC.h"
+#include "dance/DAnCE_PropertiesC.h"
+#include "dance/DAnCE_Utility.h"
+#include "dance/Logger/Log_Macros.h"
+
+namespace DAnCE
+{
+ // Implementation skeleton constructor
+ Selective_Error::Selective_Error (void)
+ {
+ }
+
+ // Implementation skeleton destructor
+ Selective_Error::~Selective_Error (void)
+ {
+ }
+
+ void
+ Selective_Error::configure (const ::Deployment::Properties & )
+ {
+
+ }
+
+ void
+ Selective_Error::post_install (const ::Deployment::DeploymentPlan &plan,
+ ::CORBA::ULong index,
+ const ::CORBA::Any &,
+ const ::CORBA::Any &exception)
+ {
+ if (exception.type() != ::CORBA::_tc_null)
+ {
+ std::string result;
+ DAnCE::Utility::stringify_exception_from_any (exception,
+ result);
+ DANCE_ERROR (DANCE_LOG_NONFATAL_ERROR,
+ (LM_ERROR, DLINFO
+ ACE_TEXT ("Selective_Error::post_install - ")
+ ACE_TEXT ("Received exception while installing instance ")
+ ACE_TEXT ("<%C>:<%C>\n"),
+ plan.instance[index].name.in (),
+ result.c_str ()));
+
+ }
+ }
+
+ void
+ Selective_Error::post_connect (const ::Deployment::DeploymentPlan &plan,
+ ::CORBA::ULong connection,
+ const ::CORBA::Any &exception)
+ {
+ if (exception.type() != ::CORBA::_tc_null)
+ {
+ std::string result;
+ DAnCE::Utility::stringify_exception_from_any (exception,
+ result);
+ DANCE_ERROR (DANCE_LOG_NONFATAL_ERROR,
+ (LM_ERROR, DLINFO
+ ACE_TEXT ("Selective_Error::post_install - ")
+ ACE_TEXT ("Received exception while establishing connection ")
+ ACE_TEXT ("<%C>:<%C>\n"),
+ plan.connection[connection].name.in (),
+ result.c_str ()));
+ DAnCE::Utility::throw_exception_from_any (exception);
+ }
+ }
+
+ void
+ Selective_Error::post_configured (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong index,
+ const ::CORBA::Any &exception )
+ {
+ if (exception.type() != ::CORBA::_tc_null)
+ {
+ std::string result;
+ DAnCE::Utility::stringify_exception_from_any (exception,
+ result);
+ DANCE_ERROR (DANCE_LOG_NONFATAL_ERROR,
+ (LM_ERROR, DLINFO
+ ACE_TEXT ("Selective_Error::post_install - ")
+ ACE_TEXT ("Received exception while completing configuration of ")
+ ACE_TEXT ("instance <%C>:<%C>\n"),
+ plan.instance[index].name.in (),
+ result.c_str ()));
+ }
+ }
+
+
+ void
+ Selective_Error::post_activate (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong index,
+ const ::CORBA::Any & exception)
+ {
+ if (exception.type() != ::CORBA::_tc_null)
+ {
+ std::string result;
+ DAnCE::Utility::stringify_exception_from_any (exception,
+ result);
+ DANCE_ERROR (DANCE_LOG_NONFATAL_ERROR,
+ (LM_ERROR, DLINFO
+ ACE_TEXT ("Selective_Error::post_install - ")
+ ACE_TEXT ("Received exception while activating instance ")
+ ACE_TEXT ("<%C>:<%C>\n"),
+ plan.instance[index].name.in (),
+ result.c_str ()));
+ }
+ }
+
+
+ void
+ Selective_Error::post_passivate (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong index,
+ const ::CORBA::Any & exception)
+ {
+ if (exception.type() != ::CORBA::_tc_null)
+ {
+ std::string result;
+ DAnCE::Utility::stringify_exception_from_any (exception,
+ result);
+ DANCE_ERROR (DANCE_LOG_NONFATAL_ERROR,
+ (LM_ERROR, DLINFO
+ ACE_TEXT ("Selective_Error::post_install - ")
+ ACE_TEXT ("Received exception while passivating instance ")
+ ACE_TEXT ("<%C>:<%C>\n"),
+ plan.instance[index].name.in (),
+ result.c_str ()));
+ }
+ }
+
+
+ void
+ Selective_Error::post_remove (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong index,
+ const ::CORBA::Any & exception)
+ {
+ if (exception.type() != ::CORBA::_tc_null)
+ {
+ std::string result;
+ DAnCE::Utility::stringify_exception_from_any (exception,
+ result);
+ DANCE_ERROR (DANCE_LOG_NONFATAL_ERROR,
+ (LM_ERROR, DLINFO
+ ACE_TEXT ("Selective_Error::post_install - ")
+ ACE_TEXT ("Received exception while removing instance ")
+ ACE_TEXT ("<%C>:<%C>\n"),
+ plan.instance[index].name.in (),
+ result.c_str ()));
+ }
+ }
+ }
+
+extern "C"
+{
+ ::DAnCE::DeploymentInterceptor_ptr
+ create_DAnCE_Selective_Error (void)
+ {
+ return new DAnCE::Selective_Error ();
+ }
+}
diff --git a/CIAO/tests/DAnCE/Launch-Failures/Interceptors/Selective_Error.h b/CIAO/tests/DAnCE/Launch-Failures/Interceptors/Selective_Error.h
new file mode 100644
index 00000000000..036325f4463
--- /dev/null
+++ b/CIAO/tests/DAnCE/Launch-Failures/Interceptors/Selective_Error.h
@@ -0,0 +1,78 @@
+// $Id$
+/**
+ * @file Selective_Error.h
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Interceptors which implement a selective error handling mechanism.
+ */
+
+#ifndef LAUNCHERROR_INTERCEPTORS_H
+#define LAUNCHERROR_INTERCEPTORS_H
+
+#include "dance/DAnCE_DeploymentInterceptors_Base_Impl.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/LocalObject.h"
+#include "Selective_Error_Export.h"
+
+namespace DAnCE
+{
+ class Selective_Error_Export Selective_Error
+ : public virtual DAnCE::DeploymentInterceptor_Base
+ {
+ public:
+ // Constructor
+
+ Selective_Error (void);
+
+ // Destructor
+ virtual ~Selective_Error (void);
+
+ virtual
+ void post_install (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong index,
+ const ::CORBA::Any & reference,
+ const ::CORBA::Any & exception_thrown);
+
+ virtual
+ void post_connect (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong connectionRef,
+ const ::CORBA::Any & exceptionThrown);
+
+
+ virtual
+ void post_configured (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any & exception_thrown);
+
+ virtual
+ void post_activate (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any & exception_thrown);
+
+ virtual
+ void post_passivate (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any & exception_thrown);
+
+ virtual
+ void post_remove (const ::Deployment::DeploymentPlan & plan,
+ ::CORBA::ULong instanceRef,
+ const ::CORBA::Any & exception_thrown);
+ virtual
+ void configure(const Deployment::Properties&);
+
+ private:
+ };
+}
+
+extern "C"
+{
+ ::DAnCE::DeploymentInterceptor_ptr
+ Selective_Error_Export create_DAnCE_Selective_Error (void);
+}
+
+#endif
diff --git a/CIAO/tests/DAnCE/Launch-Failures/Interceptors/Selective_Error_Export.h b/CIAO/tests/DAnCE/Launch-Failures/Interceptors/Selective_Error_Export.h
new file mode 100644
index 00000000000..fe3c2762cce
--- /dev/null
+++ b/CIAO/tests/DAnCE/Launch-Failures/Interceptors/Selective_Error_Export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl Selective_Error
+// ------------------------------
+#ifndef SELECTIVE_ERROR_EXPORT_H
+#define SELECTIVE_ERROR_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (SELECTIVE_ERROR_HAS_DLL)
+# define SELECTIVE_ERROR_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && SELECTIVE_ERROR_HAS_DLL */
+
+#if !defined (SELECTIVE_ERROR_HAS_DLL)
+# define SELECTIVE_ERROR_HAS_DLL 1
+#endif /* ! SELECTIVE_ERROR_HAS_DLL */
+
+#if defined (SELECTIVE_ERROR_HAS_DLL) && (SELECTIVE_ERROR_HAS_DLL == 1)
+# if defined (SELECTIVE_ERROR_BUILD_DLL)
+# define Selective_Error_Export ACE_Proper_Export_Flag
+# define SELECTIVE_ERROR_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define SELECTIVE_ERROR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* SELECTIVE_ERROR_BUILD_DLL */
+# define Selective_Error_Export ACE_Proper_Import_Flag
+# define SELECTIVE_ERROR_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define SELECTIVE_ERROR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* SELECTIVE_ERROR_BUILD_DLL */
+#else /* SELECTIVE_ERROR_HAS_DLL == 1 */
+# define Selective_Error_Export
+# define SELECTIVE_ERROR_SINGLETON_DECLARATION(T)
+# define SELECTIVE_ERROR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* SELECTIVE_ERROR_HAS_DLL == 1 */
+
+// Set SELECTIVE_ERROR_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (SELECTIVE_ERROR_NTRACE)
+# if (ACE_NTRACE == 1)
+# define SELECTIVE_ERROR_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define SELECTIVE_ERROR_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !SELECTIVE_ERROR_NTRACE */
+
+#if (SELECTIVE_ERROR_NTRACE == 1)
+# define SELECTIVE_ERROR_TRACE(X)
+#else /* (SELECTIVE_ERROR_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define SELECTIVE_ERROR_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (SELECTIVE_ERROR_NTRACE == 1) */
+
+#endif /* SELECTIVE_ERROR_EXPORT_H */
+
+// End of auto generated file.
diff --git a/CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalDestEndpointFailure.cdp b/CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalDestEndpointFailure.cdp
new file mode 100644
index 00000000000..61d99d52b22
--- /dev/null
+++ b/CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalDestEndpointFailure.cdp
@@ -0,0 +1,180 @@
+<!-- $Id$ -->
+<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 -->
+
+ <implementation xmi:id="CompSvrImpl">
+ <name>CompSvr</name>
+ <source />
+ <artifact xmi:idref="CompSvrArt" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.DAnCE.LocalityManager</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <!-- Server Dance implementation-->
+ <implementation xmi:id="Launch_FailureComponentImplementation">
+ <name>Launch_FailureComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Launch_Failure_ExecArtifact" />
+ <artifact xmi:idref="Launch_Failure_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Launch_Failure_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Launch_Failure_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Launch_Failure_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Launch_Failure_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <instance xmi:id="CompSvrInst">
+ <name>ComponentServerInstance</name>
+ <node>NodeOne</node>
+ <source />
+ <implementation xmi:idref="CompSvrImpl" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.LocalityArguments</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>--plugin-config besteffort.localityconfig</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="Launch_FailureComponentInstanceOne">
+ <name>Launch_FailureComponent_One</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Launch_FailureComponentImplementation" />
+ <configProperty>
+ <name>failure_reason</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>Failure_Reason</name>
+ <typeId>IDL:Failure_Reason:1.0</typeId>
+ <member>NO_ERROR</member>
+ <member>ATTRIBUTE_EXCEPTION</member>
+ <member>NIL_FACET_REFERENCE</member>
+ <member>FACET_REFERENCE_EXCEPTION</member>
+ </enum>
+ </type>
+ <value>
+ <enum>ATTRIBUTE_EXCEPTION</enum>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="Launch_FailureComponentInstanceTwo">
+ <name>Launch_FailureComponent_Two</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Launch_FailureComponentImplementation" />
+ </instance>
+
+ <connection>
+ <name>FailureTwo_Connection</name>
+ <deployRequirement>
+ <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name>
+ <resourceType>Local_Interface</resourceType>
+ </deployRequirement>
+ <internalEndpoint>
+ <portName>local_out</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Launch_FailureComponentInstanceTwo" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>local_in</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Launch_FailureComponentInstanceOne" />
+ </internalEndpoint>
+ </connection>
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="CompSvrArt">
+ <name>CompoSvrArtifactName</name>
+ <source />
+ <node />
+ <location>dance_locality_manager</location>
+ </artifact>
+ <artifact xmi:id="Launch_Failure_ExecArtifact">
+ <name>Launch_Failure_exec</name>
+ <source/>
+ <node/>
+ <location>Launch_Failure_exec</location>
+ </artifact>
+ <artifact xmi:id="Launch_Failure_SvntArtifact">
+ <name>Launch_Failure_svnt</name>
+ <source/>
+ <node/>
+ <location>Launch_Failure_svnt</location>
+ </artifact>
+
+ <localityConstraint>
+ <constraint>SameProcess</constraint>
+ <constrainedInstance xmi:idref="CompSvrInst" />
+ <constrainedInstance xmi:idref="Launch_FailureComponentInstanceOne" />
+ </localityConstraint>
+
+ </Deployment:DeploymentPlan>
diff --git a/CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalFacetConnectionDifferentLMs.cdp b/CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalFacetConnectionDifferentLMs.cdp
new file mode 100644
index 00000000000..d9a2f9dad36
--- /dev/null
+++ b/CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalFacetConnectionDifferentLMs.cdp
@@ -0,0 +1,181 @@
+<!-- $Id$ -->
+<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 -->
+
+ <implementation xmi:id="CompSvrImpl">
+ <name>CompSvr</name>
+ <source />
+ <artifact xmi:idref="CompSvrArt" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.DAnCE.LocalityManager</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <!-- Server Dance implementation-->
+ <implementation xmi:id="Launch_FailureComponentImplementation">
+ <name>Launch_FailureComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Launch_Failure_ExecArtifact" />
+ <artifact xmi:idref="Launch_Failure_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Launch_Failure_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Launch_Failure_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Launch_Failure_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Launch_Failure_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <instance xmi:id="CompSvrInst">
+ <name>ComponentServerInstance</name>
+ <node>NodeOne</node>
+ <source />
+ <implementation xmi:idref="CompSvrImpl" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.LocalityArguments</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string></string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="Launch_FailureComponentInstanceOne">
+ <name>Launch_FailureComponent_One</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Launch_FailureComponentImplementation" />
+ <configProperty>
+ <name>failure_reason</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>Failure_Reason</name>
+ <typeId>IDL:Failure_Reason:1.0</typeId>
+ <member>NO_ERROR</member>
+ <member>ATTRIBUTE_EXCEPTION</member>
+ <member>NIL_FACET_REFERENCE</member>
+ <member>FACET_REFERENCE_EXCEPTION</member>
+ </enum>
+ </type>
+ <value>
+ <enum>NO_ERROR</enum>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="Launch_FailureComponentInstanceTwo">
+ <name>Launch_FailureComponent_Two</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Launch_FailureComponentImplementation" />
+ </instance>
+
+ <connection>
+ <name>FailureOne_Connection</name>
+ <deployRequirement>
+ <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name>
+ <resourceType>Local_Interface</resourceType>
+ </deployRequirement>
+ <internalEndpoint>
+ <portName>local_out</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Launch_FailureComponentInstanceOne" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>local_in</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Launch_FailureComponentInstanceTwo" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="CompSvrArt">
+ <name>CompoSvrArtifactName</name>
+ <source />
+ <node />
+ <location>dance_locality_manager</location>
+ </artifact>
+ <artifact xmi:id="Launch_Failure_ExecArtifact">
+ <name>Launch_Failure_exec</name>
+ <source/>
+ <node/>
+ <location>Launch_Failure_exec</location>
+ </artifact>
+ <artifact xmi:id="Launch_Failure_SvntArtifact">
+ <name>Launch_Failure_svnt</name>
+ <source/>
+ <node/>
+ <location>Launch_Failure_svnt</location>
+ </artifact>
+
+ <localityConstraint>
+ <constraint>SameProcess</constraint>
+ <constrainedInstance xmi:idref="CompSvrInst" />
+ <constrainedInstance xmi:idref="Launch_FailureComponentInstanceOne" />
+ </localityConstraint>
+
+ </Deployment:DeploymentPlan>
diff --git a/CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalNilFacetConnection.cdp b/CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalNilFacetConnection.cdp
new file mode 100644
index 00000000000..c1f4ac83630
--- /dev/null
+++ b/CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalNilFacetConnection.cdp
@@ -0,0 +1,140 @@
+<!-- $Id$ -->
+<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="Launch_FailureComponentImplementation">
+ <name>Launch_FailureComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Launch_Failure_ExecArtifact" />
+ <artifact xmi:idref="Launch_Failure_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Launch_Failure_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Launch_Failure_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Launch_Failure_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Launch_Failure_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <instance xmi:id="Launch_FailureComponentInstanceOne">
+ <name>Launch_FailureComponent_One</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Launch_FailureComponentImplementation" />
+ <configProperty>
+ <name>failure_reason</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>Failure_Reason</name>
+ <typeId>IDL:Failure_Reason:1.0</typeId>
+ <member>NO_ERROR</member>
+ <member>ATTRIBUTE_EXCEPTION</member>
+ <member>NIL_FACET_REFERENCE</member>
+ <member>FACET_REFERENCE_EXCEPTION</member>
+ </enum>
+ </type>
+ <value>
+ <enum>NIL_FACET_REFERENCE</enum>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="Launch_FailureComponentInstanceTwo">
+ <name>Launch_FailureComponent_Two</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Launch_FailureComponentImplementation" />
+ </instance>
+
+ <connection>
+ <name>FailureOne_Connection</name>
+ <deployRequirement>
+ <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name>
+ <resourceType>Local_Interface</resourceType>
+ </deployRequirement>
+ <internalEndpoint>
+ <portName>local_out</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Launch_FailureComponentInstanceOne" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>local_in</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Launch_FailureComponentInstanceTwo" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="CompSvrArt">
+ <name>CompoSvrArtifactName</name>
+ <source />
+ <node />
+ <location>dance_locality_manager</location>
+ </artifact>
+ <artifact xmi:id="Launch_Failure_ExecArtifact">
+ <name>Launch_Failure_exec</name>
+ <source/>
+ <node/>
+ <location>Launch_Failure_exec</location>
+ </artifact>
+ <artifact xmi:id="Launch_Failure_SvntArtifact">
+ <name>Launch_Failure_svnt</name>
+ <source/>
+ <node/>
+ <location>Launch_Failure_svnt</location>
+ </artifact>
+
+ </Deployment:DeploymentPlan>
diff --git a/CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalSourceEndpointFailure.cdp b/CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalSourceEndpointFailure.cdp
new file mode 100644
index 00000000000..625010025c8
--- /dev/null
+++ b/CIAO/tests/DAnCE/Launch-Failures/descriptors/LocalSourceEndpointFailure.cdp
@@ -0,0 +1,181 @@
+<!-- $Id$ -->
+<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 -->
+
+ <implementation xmi:id="CompSvrImpl">
+ <name>CompSvr</name>
+ <source />
+ <artifact xmi:idref="CompSvrArt" />
+ <execParameter>
+ <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>edu.vanderbilt.dre.DAnCE.LocalityManager</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <!-- Server Dance implementation-->
+ <implementation xmi:id="Launch_FailureComponentImplementation">
+ <name>Launch_FailureComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="Launch_Failure_ExecArtifact" />
+ <artifact xmi:idref="Launch_Failure_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see §10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Launch_Failure_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_Launch_Failure_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Launch_Failure_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>Launch_Failure_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <instance xmi:id="CompSvrInst">
+ <name>ComponentServerInstance</name>
+ <node>NodeOne</node>
+ <source />
+ <implementation xmi:idref="CompSvrImpl" />
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.LocalityArguments</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>--plugin-config besteffort.localityconfig</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="Launch_FailureComponentInstanceOne">
+ <name>Launch_FailureComponent_One</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Launch_FailureComponentImplementation" />
+ <configProperty>
+ <name>failure_reason</name>
+ <value>
+ <type>
+ <kind>tk_enum</kind>
+ <enum>
+ <name>Failure_Reason</name>
+ <typeId>IDL:Failure_Reason:1.0</typeId>
+ <member>NO_ERROR</member>
+ <member>ATTRIBUTE_EXCEPTION</member>
+ <member>NIL_FACET_REFERENCE</member>
+ <member>FACET_REFERENCE_EXCEPTION</member>
+ </enum>
+ </type>
+ <value>
+ <enum>ATTRIBUTE_EXCEPTION</enum>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <instance xmi:id="Launch_FailureComponentInstanceTwo">
+ <name>Launch_FailureComponent_Two</name>
+ <node>NodeOne</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="Launch_FailureComponentImplementation" />
+ </instance>
+
+ <connection>
+ <name>FailureOne_Connection</name>
+ <deployRequirement>
+ <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name>
+ <resourceType>Local_Interface</resourceType>
+ </deployRequirement>
+ <internalEndpoint>
+ <portName>local_out</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Launch_FailureComponentInstanceOne" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>local_in</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Launch_FailureComponentInstanceTwo" />
+ </internalEndpoint>
+ </connection>
+
+ <!-- Artifacts declarations -->
+ <artifact xmi:id="CompSvrArt">
+ <name>CompoSvrArtifactName</name>
+ <source />
+ <node />
+ <location>dance_locality_manager</location>
+ </artifact>
+ <artifact xmi:id="Launch_Failure_ExecArtifact">
+ <name>Launch_Failure_exec</name>
+ <source/>
+ <node/>
+ <location>Launch_Failure_exec</location>
+ </artifact>
+ <artifact xmi:id="Launch_Failure_SvntArtifact">
+ <name>Launch_Failure_svnt</name>
+ <source/>
+ <node/>
+ <location>Launch_Failure_svnt</location>
+ </artifact>
+
+ <localityConstraint>
+ <constraint>SameProcess</constraint>
+ <constrainedInstance xmi:idref="CompSvrInst" />
+ <constrainedInstance xmi:idref="Launch_FailureComponentInstanceOne" />
+ </localityConstraint>
+
+ </Deployment:DeploymentPlan>
diff --git a/CIAO/tests/DAnCE/Launch-Failures/descriptors/besteffort.localityconfig b/CIAO/tests/DAnCE/Launch-Failures/descriptors/besteffort.localityconfig
index 685c561bfbe..01a482f24c7 100644
--- a/CIAO/tests/DAnCE/Launch-Failures/descriptors/besteffort.localityconfig
+++ b/CIAO/tests/DAnCE/Launch-Failures/descriptors/besteffort.localityconfig
@@ -3,5 +3,6 @@ edu.vanderbilt.dre.DAnCE.InstanceHandler CIAO_Deployment_Handlers create_Home_Ha
edu.vanderbilt.dre.DAnCE.InstanceHandler CIAO_Deployment_Handlers create_Component_Handler
edu.vanderbilt.dre.DAnCE.InstanceHandler CIAO_Deployment_Handlers create_Homed_Component_Handler
edu.vanderbilt.dre.DAnCE.DeploymentInterceptor CIAO_Deployment_Interceptors create_CIAO_StoreReferences
-edu.vanderbilt.dre.DAnCE.DeploymentInterceptor DAnCE_Error_Interceptors create_DAnCE_Best_Effort
+edu.vanderbilt.dre.DAnCE.DeploymentInterceptor Launch_Failure_Interceptors create_DAnCE_Selective_Error
+