summaryrefslogtreecommitdiffstats
path: root/branches
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-05-18 13:04:58 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-05-18 13:04:58 +0000
commit2a4ba4104ce5394c1ae94e46041d0581b4c5c3cb (patch)
tree529f31f1b0052af5dd47c140b260146cbcf472d5 /branches
parent3b27436fa6a06d72e755f7f30f2a0dbcf1a185f4 (diff)
TUSCANY-3030 if the fault exception mapper is null try getting it from the registry before returning the fault unmapped. This takes care of the case there the mapper is null just because the JavaRuntimeModuleActivator is started before the DatabindingModuleActivator
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@775933 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches')
-rw-r--r--branches/sca-java-1.5/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/branches/sca-java-1.5/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java b/branches/sca-java-1.5/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java
index 7e441e43b3..d94166588b 100644
--- a/branches/sca-java-1.5/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java
+++ b/branches/sca-java-1.5/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java
@@ -556,7 +556,14 @@ public class MediatorImpl implements Mediator {
public Object copyFault(Object fault, Operation operation) {
if (faultExceptionMapper == null) {
- return fault;
+ // try to get the fault exception mapper again. It sometime null depending on what order the
+ // JavaRuntimeModuleActivator and DatabindingModuleActivator are started
+ this.faultExceptionMapper =
+ registry.getExtensionPoint(UtilityExtensionPoint.class).getUtility(FaultExceptionMapper.class);
+
+ if (faultExceptionMapper == null) {
+ return fault;
+ }
}
for (DataType et : operation.getFaultTypes()) {
if (et.getPhysical().isInstance(fault)) {