src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SubjectName.java

Print this page

        

@@ -1,24 +1,26 @@
 /*
  * reserved comment block
  * DO NOT REMOVE OR ALTER!
  */
-/*
- * Copyright  1999-2004 The Apache Software Foundation.
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 package com.sun.org.apache.xml.internal.security.keys.content.x509;
 
 import java.security.cert.X509Certificate;
 

@@ -28,15 +30,13 @@
 import com.sun.org.apache.xml.internal.security.utils.SignatureElementProxy;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
 /**
- *
- * @author $Author: mullan $
+ * @author $Author: coheigea $
  */
-public class XMLX509SubjectName extends SignatureElementProxy
-        implements XMLX509DataContent {
+public class XMLX509SubjectName extends SignatureElementProxy implements XMLX509DataContent {
 
    /**
     * Constructor X509SubjectName
     *
     * @param element

@@ -53,11 +53,10 @@
     *
     * @param doc
     * @param X509SubjectNameString
     */
    public XMLX509SubjectName(Document doc, String X509SubjectNameString) {
-
       super(doc);
 
       this.addText(X509SubjectNameString);
    }
 

@@ -66,12 +65,11 @@
     *
     * @param doc
     * @param x509certificate
     */
    public XMLX509SubjectName(Document doc, X509Certificate x509certificate) {
-      this(doc,
-           RFC2253Parser.normalize(x509certificate.getSubjectDN().getName()));
+        this(doc, x509certificate.getSubjectX500Principal().getName());
    }
 
    /**
     * Method getSubjectName
     *

@@ -82,25 +80,27 @@
       return RFC2253Parser.normalize(this.getTextFromTextChild());
    }
 
     /** @inheritDoc */
     public boolean equals(Object obj) {
-        if (obj == null) {
-            return false;
-        }
-
-        if (!this.getClass().getName().equals(obj.getClass().getName())) {
+        if (!(obj instanceof XMLX509SubjectName)) {
             return false;
         }
 
         XMLX509SubjectName other = (XMLX509SubjectName) obj;
         String otherSubject = other.getSubjectName();
         String thisSubject = this.getSubjectName();
 
         return thisSubject.equals(otherSubject);
    }
 
+    public int hashCode() {
+        int result = 17;
+        result = 31 * result + this.getSubjectName().hashCode();
+        return result;
+    }
+
    /** @inheritDoc */
    public String getBaseLocalName() {
       return Constants._TAG_X509SUBJECTNAME;
    }
 }