Author: coheigea
Date: Thu Jun  9 09:39:15 2011
New Revision: 1133748

URL: http://svn.apache.org/viewvc?rev=1133748&view=rev
Log:
Added some more hashcode/equals methods to some token types.

Modified:
    
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SignatureConfirmation.java
    
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/Timestamp.java
    
webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/TimestampTest.java

Modified: 
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SignatureConfirmation.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SignatureConfirmation.java?rev=1133748&r1=1133747&r2=1133748&view=diff
==============================================================================
--- 
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SignatureConfirmation.java
 (original)
+++ 
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SignatureConfirmation.java
 Thu Jun  9 09:39:15 2011
@@ -19,6 +19,8 @@
 
 package org.apache.ws.security.message.token;
 
+import java.util.Arrays;
+
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.WSSecurityException;
 import org.apache.ws.security.util.DOM2Writer;
@@ -126,4 +128,26 @@ public class SignatureConfirmation {
         return signatureValue;
     }
     
+    @Override
+    public int hashCode() {
+        int result = 17;
+        if (signatureValue != null) {
+            result = 31 * result + Arrays.hashCode(signatureValue);
+        }
+        return result;
+    }
+    
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof SignatureConfirmation)) {
+            return false;
+        }
+        SignatureConfirmation signatureConfirmation = 
(SignatureConfirmation)object;
+        byte[] sigValue = signatureConfirmation.getSignatureValue();
+        if (!Arrays.equals(sigValue, getSignatureValue())) {
+            return false;
+        }
+        return true;
+    }
+    
 }

Modified: 
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/Timestamp.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/Timestamp.java?rev=1133748&r1=1133747&r2=1133748&view=diff
==============================================================================
--- 
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/Timestamp.java
 (original)
+++ 
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/Timestamp.java
 Thu Jun  9 09:39:15 2011
@@ -345,4 +345,40 @@ public class Timestamp {
     }
 
     
+    @Override
+    public int hashCode() {
+        int result = 17;
+        if (createdDate != null) {
+            result = 31 * result + createdDate.hashCode();
+        }
+        if (expiresDate != null) {
+            result = 31 * result + expiresDate.hashCode();
+        }
+        return result;
+    }
+    
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof Timestamp)) {
+            return false;
+        }
+        Timestamp timestamp = (Timestamp)object;
+        if (!compare(timestamp.getCreated(), getCreated())) {
+            return false;
+        }
+        if (!compare(timestamp.getExpires(), getExpires())) {
+            return false;
+        }
+        return true;
+    }
+    
+    private boolean compare(Date item1, Date item2) {
+        if (item1 == null && item2 != null) { 
+            return false;
+        } else if (item1 != null && !item1.equals(item2)) {
+            return false;
+        }
+        return true;
+    }
+    
 }

Modified: 
webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/TimestampTest.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/TimestampTest.java?rev=1133748&r1=1133747&r2=1133748&view=diff
==============================================================================
--- 
webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/TimestampTest.java
 (original)
+++ 
webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/TimestampTest.java
 Thu Jun  9 09:39:15 2011
@@ -74,6 +74,10 @@ public class TimestampTest extends org.j
         Timestamp receivedTimestamp = 
             (Timestamp)actionResult.get(WSSecurityEngineResult.TAG_TIMESTAMP);
         assertTrue(receivedTimestamp != null);
+        
+        Timestamp clone = new Timestamp(receivedTimestamp.getElement());
+        assertTrue(clone.equals(receivedTimestamp));
+        assertTrue(clone.hashCode() == receivedTimestamp.hashCode());
     }
     
     


Reply via email to