This is an automated email from the ASF dual-hosted git repository.

tilman pushed a commit to branch branch_2x
in repository https://gitbox.apache.org/repos/asf/tika.git

commit fd5789427168fed6bad45c0e1b2c86a5d2da6683
Author: Tilman Hausherr <[email protected]>
AuthorDate: Sun Aug 4 08:34:32 2024 +0200

    Merge pull request #1874 from dk2k/TIKA-4290_equals
    
    TIKA-4290 equals() should check the type of argument. Some changes im…
---
 .../src/main/java/org/apache/tika/metadata/Metadata.java |  9 ++-------
 .../tika/langdetect/tika/LanguageProfilerBuilder.java    |  9 +++------
 .../org/apache/tika/parser/journal/TEIDOMParser.java     | 16 ++++++++++++++++
 .../onenote/fsshttpb/streamobj/basic/CellID.java         |  5 ++---
 4 files changed, 23 insertions(+), 16 deletions(-)

diff --git a/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java 
b/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java
index 9b8e3b86c..5f6b6ec29 100644
--- a/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java
+++ b/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java
@@ -665,16 +665,11 @@ public class Metadata
 
     public boolean equals(Object o) {
 
-        if (o == null) {
+        if (!(o instanceof Metadata)) {
             return false;
         }
 
-        Metadata other = null;
-        try {
-            other = (Metadata) o;
-        } catch (ClassCastException cce) {
-            return false;
-        }
+        Metadata other = (Metadata) o;
 
         if (other.size() != size()) {
             return false;
diff --git 
a/tika-langdetect/tika-langdetect-tika/src/main/java/org/apache/tika/langdetect/tika/LanguageProfilerBuilder.java
 
b/tika-langdetect/tika-langdetect-tika/src/main/java/org/apache/tika/langdetect/tika/LanguageProfilerBuilder.java
index c53c3f623..b78ad70a5 100644
--- 
a/tika-langdetect/tika-langdetect-tika/src/main/java/org/apache/tika/langdetect/tika/LanguageProfilerBuilder.java
+++ 
b/tika-langdetect/tika-langdetect-tika/src/main/java/org/apache/tika/langdetect/tika/LanguageProfilerBuilder.java
@@ -673,14 +673,11 @@ public class LanguageProfilerBuilder {
 
         // Inherited JavaDoc
         public boolean equals(Object obj) {
-
-            NGramEntry ngram = null;
-            try {
-                ngram = (NGramEntry) obj;
-                return ngram.seq.equals(seq);
-            } catch (Exception e) {
+            if (!(obj instanceof NGramEntry)) {
                 return false;
             }
+            NGramEntry ngram = (NGramEntry) obj;
+            return ngram.seq.equals(seq);
         }
 
     }
diff --git 
a/tika-parsers/tika-parsers-ml/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/journal/TEIDOMParser.java
 
b/tika-parsers/tika-parsers-ml/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/journal/TEIDOMParser.java
index 70de06c8f..2ea8a0a24 100644
--- 
a/tika-parsers/tika-parsers-ml/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/journal/TEIDOMParser.java
+++ 
b/tika-parsers/tika-parsers-ml/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/journal/TEIDOMParser.java
@@ -561,6 +561,9 @@ public class TEIDOMParser {
          */
         @Override
         public boolean equals(Object obj) {
+            if (!(obj instanceof Affiliation)) {
+                return false;
+            }
             Affiliation otherA = (Affiliation) obj;
             return this.getAddress().equals(otherA.getAddress()) &&
                     this.getOrgName().equals(otherA.getOrgName());
@@ -633,6 +636,10 @@ public class TEIDOMParser {
          */
         @Override
         public boolean equals(Object obj) {
+            if (!(obj instanceof OrgName)) {
+                return false;
+            }
+
             OrgName otherA = (OrgName) obj;
 
             if (otherA.getTypeNames() != null) {
@@ -697,6 +704,9 @@ public class TEIDOMParser {
          */
         @Override
         public boolean equals(Object obj) {
+            if (!(obj instanceof OrgTypeName)) {
+                return false;
+            }
             OrgTypeName otherOrgName = (OrgTypeName) obj;
             return this.type.equals(otherOrgName.getType()) &&
                     this.name.equals(otherOrgName.getName());
@@ -785,6 +795,9 @@ public class TEIDOMParser {
          */
         @Override
         public boolean equals(Object obj) {
+            if (!(obj instanceof Address)) {
+                return false;
+            }
             Address otherA = (Address) obj;
             if (this.settlment == null) {
                 return otherA.getSettlment() == null;
@@ -870,6 +883,9 @@ public class TEIDOMParser {
          */
         @Override
         public boolean equals(Object obj) {
+            if (!(obj instanceof Country)) {
+                return false;
+            }
             Country otherC = (Country) obj;
 
             if (this.key == null) {
diff --git 
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/basic/CellID.java
 
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/basic/CellID.java
index 54fe16c26..db62129d5 100644
--- 
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/basic/CellID.java
+++ 
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/basic/CellID.java
@@ -82,11 +82,10 @@ public class CellID extends BasicObject {
      */
     @Override
     public boolean equals(Object obj) {
-        CellID another = (CellID) obj;
-
-        if (another == null) {
+        if (!(obj instanceof CellID)) {
             return false;
         }
+        CellID another = (CellID) obj;
 
         if (another.extendGUID1 != null && another.extendGUID2 != null &&
                 this.extendGUID1 != null && this.extendGUID2 != null) {

Reply via email to