add equals/hashcode to the Declare and Discharge described types to allow 
equality check with decoded transfer value using the EncodedAmqpValueMatcher


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/fe8768b3
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/fe8768b3
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/fe8768b3

Branch: refs/heads/master
Commit: fe8768b3e7c224133ba84eaf0dd263c184707c2b
Parents: 9d40af8
Author: Robert Gemmell <[email protected]>
Authored: Mon Nov 17 11:47:30 2014 +0000
Committer: Robert Gemmell <[email protected]>
Committed: Mon Nov 17 11:47:30 2014 +0000

----------------------------------------------------------------------
 .../test/testpeer/describedtypes/Declare.java   | 38 ++++++++++++++++++
 .../test/testpeer/describedtypes/Discharge.java | 38 ++++++++++++++++++
 .../describedtypes/generate-described-types.xsl | 41 +++++++++++++++++++-
 3 files changed, 116 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fe8768b3/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Declare.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Declare.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Declare.java
index b4e98b8..e9c16c8 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Declare.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Declare.java
@@ -21,6 +21,7 @@
 package org.apache.qpid.jms.test.testpeer.describedtypes;
 
 import org.apache.qpid.jms.test.testpeer.ListDescribedType;
+import org.apache.qpid.proton.amqp.DescribedType;
 import org.apache.qpid.proton.amqp.Symbol;
 import org.apache.qpid.proton.amqp.UnsignedLong;
 
@@ -57,5 +58,42 @@ public class Declare extends ListDescribedType
         return this;
     }
 
+    @Override
+    public boolean equals(Object obj)
+    {
+        if(obj == this)
+        {
+            return true;
+        }
+
+        if(!(obj instanceof DescribedType))
+        {
+            return false;
+        }
+
+        DescribedType d = (DescribedType) obj;
+        if(!(DESCRIPTOR_CODE.equals(d.getDescriptor()) || 
DESCRIPTOR_SYMBOL.equals(d.getDescriptor())))
+        {
+            return false;
+        }
+
+        Object described = getDescribed();
+        Object described2 = d.getDescribed();
+        if(described == null)
+        {
+            return described2 == null;
+        }
+        else {
+            return described.equals(described2);
+        }
+    }
+
+    @Override
+    public int hashCode()
+    {
+        //This is a hack, but we aren't going to hash lots of these test 
objects.
+        return 1;
+    }
+
 }
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fe8768b3/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Discharge.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Discharge.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Discharge.java
index e096426..6813684 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Discharge.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Discharge.java
@@ -21,6 +21,7 @@
 package org.apache.qpid.jms.test.testpeer.describedtypes;
 
 import org.apache.qpid.jms.test.testpeer.ListDescribedType;
+import org.apache.qpid.proton.amqp.DescribedType;
 import org.apache.qpid.proton.amqp.Symbol;
 import org.apache.qpid.proton.amqp.UnsignedLong;
 
@@ -64,5 +65,42 @@ public class Discharge extends ListDescribedType
         return this;
     }
 
+    @Override
+    public boolean equals(Object obj)
+    {
+        if(obj == this)
+        {
+            return true;
+        }
+
+        if(!(obj instanceof DescribedType))
+        {
+            return false;
+        }
+
+        DescribedType d = (DescribedType) obj;
+        if(!(DESCRIPTOR_CODE.equals(d.getDescriptor()) || 
DESCRIPTOR_SYMBOL.equals(d.getDescriptor())))
+        {
+            return false;
+        }
+
+        Object described = getDescribed();
+        Object described2 = d.getDescribed();
+        if(described == null)
+        {
+            return described2 == null;
+        }
+        else {
+            return described.equals(described2);
+        }
+    }
+
+    @Override
+    public int hashCode()
+    {
+        //This is a hack, but we aren't going to hash lots of these test 
objects.
+        return 1;
+    }
+
 }
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fe8768b3/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/generate-described-types.xsl
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/generate-described-types.xsl
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/generate-described-types.xsl
index 21b438f..502e1d0 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/generate-described-types.xsl
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/generate-described-types.xsl
@@ -61,7 +61,8 @@
   <xsl:value-of select="$license"/>
 package org.apache.qpid.jms.test.testpeer.describedtypes;
 
-import org.apache.qpid.jms.test.testpeer.ListDescribedType;
+import org.apache.qpid.jms.test.testpeer.ListDescribedType;<xsl:if test="@name 
= 'declare' or @name = 'discharge'">
+import org.apache.qpid.proton.amqp.DescribedType;</xsl:if>
 import org.apache.qpid.proton.amqp.Symbol;
 import org.apache.qpid.proton.amqp.UnsignedLong;
 
@@ -98,6 +99,44 @@ public class <xsl:value-of select="$classname"/> extends 
ListDescribedType
         return this;
     }
 </xsl:for-each>
+<xsl:if test="@name = 'declare' or @name = 'discharge'">
+    @Override
+    public boolean equals(Object obj)
+    {
+        if(obj == this)
+        {
+            return true;
+        }
+
+        if(!(obj instanceof DescribedType))
+        {
+            return false;
+        }
+
+        DescribedType d = (DescribedType) obj;
+        if(!(DESCRIPTOR_CODE.equals(d.getDescriptor()) || 
DESCRIPTOR_SYMBOL.equals(d.getDescriptor())))
+        {
+            return false;
+        }
+
+        Object described = getDescribed();
+        Object described2 = d.getDescribed();
+        if(described == null)
+        {
+            return described2 == null;
+        }
+        else {
+            return described.equals(described2);
+        }
+    }
+
+    @Override
+    public int hashCode()
+    {
+        //This is a hack, but we aren't going to hash lots of these test 
objects.
+        return 1;
+    }
+</xsl:if>
 }
 
 </exsl:document>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to