Code review request for 7041252 Use j.u.Objects.equals in security classes

Joe Darcy joe.darcy at oracle.com
Tue Jun 14 19:28:55 PDT 2011


Hello.

Please review this change to replace use of private two-argument equals 
methods with the platform Objects.equals method introduced in JDK 7:

    7041252 Use j.u.Objects.equals in security classes
    http://cr.openjdk.java.net/~darcy/7041252.0/

Patch below.

I ran the java/security and sun/security tests with this patch and they 
all pass except for sun/security/pkcs11/KeyAgreement/TestDH.java.  
However, that test also fails for me on a build without this change.

Thanks,

-Joe

--- old/src/share/classes/sun/security/tools/KeyTool.java    2011-06-14 
18:20:09.000000000 -0700
+++ new/src/share/classes/sun/security/tools/KeyTool.java    2011-06-14 
18:20:09.000000000 -0700
@@ -4193,15 +4193,11 @@
         return "Pair[" + fst + "," + snd + "]";
     }
 
-    private static boolean equals(Object x, Object y) {
-        return (x == null && y == null) || (x != null && x.equals(y));
-    }
-
     public boolean equals(Object other) {
         return
             other instanceof Pair &&
-            equals(fst, ((Pair)other).fst) &&
-            equals(snd, ((Pair)other).snd);
+            Objects.equals(fst, ((Pair)other).fst) &&
+            Objects.equals(snd, ((Pair)other).snd);
     }
 
     public int hashCode() {
--- old/src/share/classes/sun/security/x509/DistributionPoint.java    
2011-06-14 18:20:10.000000000 -0700
+++ new/src/share/classes/sun/security/x509/DistributionPoint.java    
2011-06-14 18:20:10.000000000 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights 
reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights 
reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -319,13 +319,6 @@
     }
 
     /**
-     * Utility function for a.equals(b) where both a and b may be null.
-     */
-    private static boolean equals(Object a, Object b) {
-        return (a == null) ? (b == null) : a.equals(b);
-    }
-
-    /**
      * Compare an object to this DistributionPoint for equality.
      *
      * @param obj Object to be compared to this
@@ -340,9 +333,9 @@
         }
         DistributionPoint other = (DistributionPoint)obj;
 
-        boolean equal = equals(this.fullName, other.fullName)
-                     && equals(this.relativeName, other.relativeName)
-                     && equals(this.crlIssuer, other.crlIssuer)
+        boolean equal = Objects.equals(this.fullName, other.fullName)
+                     && Objects.equals(this.relativeName, 
other.relativeName)
+                     && Objects.equals(this.crlIssuer, other.crlIssuer)
                      && Arrays.equals(this.reasonFlags, other.reasonFlags);
         return equal;
     }
--- 
old/src/share/classes/sun/security/x509/DistributionPointName.java    
2011-06-14 18:20:11.000000000 -0700
+++ 
new/src/share/classes/sun/security/x509/DistributionPointName.java    
2011-06-14 18:20:10.000000000 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights 
reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -201,8 +201,8 @@
         }
         DistributionPointName other = (DistributionPointName)obj;
 
-        return equals(this.fullName, other.fullName) &&
-               equals(this.relativeName, other.relativeName);
+        return Objects.equals(this.fullName, other.fullName) &&
+               Objects.equals(this.relativeName, other.relativeName);
     }
 
     /**
@@ -239,11 +239,4 @@
 
         return sb.toString();
     }
-
-    /*
-     * Utility function for a.equals(b) where both a and b may be null.
-     */
-    private static boolean equals(Object a, Object b) {
-        return (a == null) ? (b == null) : a.equals(b);
-    }
 }




More information about the security-dev mailing list