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());
}