Author: antelder
Date: Tue Feb 17 16:48:32 2009
New Revision: 745140
URL: http://svn.apache.org/viewvc?rev=745140&view=rev
Log:
TUSCANY-2845: Change JMS binding so unchecked exceptions are returned as
RuntimeExceptions
Modified:
tuscany/branches/sca-java-1.x/itest/jms-nonscaclient-exceptions/src/test/java/org/apache/tuscany/sca/binding/jms/ExceptionsTestCase.java
tuscany/branches/sca-java-1.x/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/ExceptionsTestCase.java
tuscany/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java
Modified:
tuscany/branches/sca-java-1.x/itest/jms-nonscaclient-exceptions/src/test/java/org/apache/tuscany/sca/binding/jms/ExceptionsTestCase.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/itest/jms-nonscaclient-exceptions/src/test/java/org/apache/tuscany/sca/binding/jms/ExceptionsTestCase.java?rev=745140&r1=745139&r2=745140&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.x/itest/jms-nonscaclient-exceptions/src/test/java/org/apache/tuscany/sca/binding/jms/ExceptionsTestCase.java
(original)
+++
tuscany/branches/sca-java-1.x/itest/jms-nonscaclient-exceptions/src/test/java/org/apache/tuscany/sca/binding/jms/ExceptionsTestCase.java
Tue Feb 17 16:48:32 2009
@@ -42,7 +42,6 @@
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.osoa.sca.ServiceRuntimeException;
import org.xml.sax.SAXException;
/**
@@ -103,7 +102,9 @@
// FIXME: what should the response message be for unchecked exceptions
with wireFormat.textXML???
Object o = ((ObjectMessage)m).getObject();
- assertTrue(o instanceof ServiceRuntimeException);
+ assertTrue(o instanceof RuntimeException);
+
assertTrue("java.lang.RuntimeException".equals(o.getClass().getName()));
+ assertEquals("java.lang.RuntimeException: bla",
((RuntimeException)o).getMessage());
}
@Test
@@ -147,9 +148,9 @@
sendJMSObjectRequest("throwUnChecked");
Message m = receiveJMSResponse();
Object o = ((ObjectMessage)m).getObject();
- assertTrue(o instanceof ServiceRuntimeException);
- assertTrue(((ServiceRuntimeException)o).getCause() instanceof
RuntimeException);
- assertEquals("bla",
((ServiceRuntimeException)o).getCause().getMessage());
+ assertTrue(o instanceof RuntimeException);
+
assertTrue("java.lang.RuntimeException".equals(o.getClass().getName()));
+ assertEquals("java.lang.RuntimeException: bla",
((RuntimeException)o).getMessage());
}
@After
Modified:
tuscany/branches/sca-java-1.x/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/ExceptionsTestCase.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/ExceptionsTestCase.java?rev=745140&r1=745139&r2=745140&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.x/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/ExceptionsTestCase.java
(original)
+++
tuscany/branches/sca-java-1.x/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/ExceptionsTestCase.java
Tue Feb 17 16:48:32 2009
@@ -96,7 +96,7 @@
service.throwUnChecked();
fail();
} catch (Exception e) {
- assertEquals("bla", e.getCause().getCause().getMessage());
+ assertEquals("java.lang.RuntimeException: bla",
e.getCause().getMessage());
}
}
Modified:
tuscany/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java?rev=745140&r1=745139&r2=745140&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java
(original)
+++
tuscany/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java
Tue Feb 17 16:48:32 2009
@@ -109,9 +109,11 @@
try {
ObjectMessage message = session.createObjectMessage();
- if (o instanceof ServiceRuntimeException &&
((ServiceRuntimeException)o).getCause() instanceof InvocationTargetException) {
- message.setObject(o.getCause() );
+ String causeMsg;
+ if (o instanceof RuntimeException) {
+ message.setObject(new RuntimeException(o.getMessage()));
} else {
+ // for a checked exception return the checked exception
message.setObject(o);
}
message.setBooleanProperty(JMSBindingConstants.FAULT_PROPERTY,
true);