You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2013/09/27 14:13:53 UTC
svn commit: r1526864 - in /qpid/trunk/qpid/java:
amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java
amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java
Author: rgodfrey
Date: Fri Sep 27 12:13:53 2013
New Revision: 1526864
URL: http://svn.apache.org/r1526864
Log:
QPID-5182 : The details of custom error-conditions are not being preserved up to the Error object
Modified:
qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java
qpid/trunk/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java
Modified: qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java?rev=1526864&r1=1526863&r2=1526864&view=diff
==============================================================================
--- qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java (original)
+++ qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java Fri Sep 27 12:13:53 2013
@@ -306,7 +306,14 @@ public class MessageProducerImpl impleme
if (action.getOutcome() instanceof Rejected)
{
Error err = ((Rejected) action.getOutcome()).getError();
- throw new MessageRejectedException(err.getDescription(), err.getCondition().toString());
+ if(err != null)
+ {
+ throw new MessageRejectedException(err.getDescription(), err.getCondition().toString());
+ }
+ else
+ {
+ throw new MessageRejectedException("Message was rejected: " + action.getOutcome());
+ }
}
else
{
Modified: qpid/trunk/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java?rev=1526864&r1=1526863&r2=1526864&view=diff
==============================================================================
--- qpid/trunk/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java (original)
+++ qpid/trunk/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java Fri Sep 27 12:13:53 2013
@@ -86,6 +86,10 @@ public class ErrorConstructor extends De
if(condition == null)
{
condition = TransactionErrors.valueOf(val);
+ if(condition == null)
+ {
+ condition = new UnknownErrorCondition((Symbol)val);
+ }
}
}
}
@@ -166,4 +170,52 @@ public class ErrorConstructor extends De
}
+ private static final class UnknownErrorCondition implements ErrorCondition
+ {
+ private final Symbol _value;
+
+ public UnknownErrorCondition(final Symbol value)
+ {
+ _value = value;
+ }
+
+ public Symbol getValue()
+ {
+ return _value;
+ }
+
+ @Override
+ public boolean equals(final Object o)
+ {
+ if (this == o)
+ {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass())
+ {
+ return false;
+ }
+
+ final UnknownErrorCondition that = (UnknownErrorCondition) o;
+
+ if (!_value.equals(that._value))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return _value.hashCode();
+ }
+
+ @Override
+ public String toString()
+ {
+ return _value.toString();
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org