From 68ec776b997071ff926b7c548be3c2b943c583bf Mon Sep 17 00:00:00 2001 From: Arne Juul Date: Wed, 4 Aug 2021 13:13:51 +0000 Subject: we want to compare Linguistics objects for equivalence --- .../src/test/java/com/yahoo/prelude/query/parser/TestLinguistics.java | 4 ++++ .../src/test/java/com/yahoo/search/test/QueryTestCase.java | 2 ++ .../yahoo/vespa/indexinglanguage/expressions/NormalizeTestCase.java | 3 +++ linguistics/abi-spec.json | 3 ++- linguistics/src/main/java/com/yahoo/language/Linguistics.java | 2 ++ .../src/main/java/com/yahoo/language/opennlp/OpenNlpLinguistics.java | 3 +++ .../src/main/java/com/yahoo/language/simple/SimpleLinguistics.java | 2 ++ 7 files changed, 18 insertions(+), 1 deletion(-) diff --git a/container-search/src/test/java/com/yahoo/prelude/query/parser/TestLinguistics.java b/container-search/src/test/java/com/yahoo/prelude/query/parser/TestLinguistics.java index b697841a969..332d91dc125 100644 --- a/container-search/src/test/java/com/yahoo/prelude/query/parser/TestLinguistics.java +++ b/container-search/src/test/java/com/yahoo/prelude/query/parser/TestLinguistics.java @@ -60,6 +60,10 @@ public class TestLinguistics implements Linguistics { return linguistics.getCharacterClasses(); } + public boolean equals(Linguistics other) { + return (other instanceof TestLinguistics); + } + } diff --git a/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java b/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java index 138f1ab4b27..ecedcfd0f16 100644 --- a/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java @@ -1112,6 +1112,8 @@ public class QueryTestCase { @Override public Detector getDetector() { return detector; } + @Override + public boolean equals(Linguistics other) { return (other instanceof MockLinguistics); } } private static class MockDetector extends SimpleDetector { diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/NormalizeTestCase.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/NormalizeTestCase.java index 9f6ba4a1554..220c24e0327 100644 --- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/NormalizeTestCase.java +++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/NormalizeTestCase.java @@ -84,6 +84,9 @@ public class NormalizeTestCase { public Transformer getTransformer() { return transformer; } + + @Override + public boolean equals(Linguistics other) { return (other instanceof MyMockLinguistics); } } @Test diff --git a/linguistics/abi-spec.json b/linguistics/abi-spec.json index b77b03664d4..33cc1200e41 100644 --- a/linguistics/abi-spec.json +++ b/linguistics/abi-spec.json @@ -210,7 +210,8 @@ "public abstract com.yahoo.language.process.Segmenter getSegmenter()", "public abstract com.yahoo.language.detect.Detector getDetector()", "public abstract com.yahoo.language.process.GramSplitter getGramSplitter()", - "public abstract com.yahoo.language.process.CharacterClasses getCharacterClasses()" + "public abstract com.yahoo.language.process.CharacterClasses getCharacterClasses()", + "public abstract boolean equals(com.yahoo.language.Linguistics)" ], "fields": [] }, diff --git a/linguistics/src/main/java/com/yahoo/language/Linguistics.java b/linguistics/src/main/java/com/yahoo/language/Linguistics.java index 3fdd06cff0a..64ef8762be8 100644 --- a/linguistics/src/main/java/com/yahoo/language/Linguistics.java +++ b/linguistics/src/main/java/com/yahoo/language/Linguistics.java @@ -86,4 +86,6 @@ public interface Linguistics { /** Returns a thread-unsafe character classes instance. */ CharacterClasses getCharacterClasses(); + /** Check if another instance is equivalent to this one */ + boolean equals(Linguistics other); } diff --git a/linguistics/src/main/java/com/yahoo/language/opennlp/OpenNlpLinguistics.java b/linguistics/src/main/java/com/yahoo/language/opennlp/OpenNlpLinguistics.java index a5f77fca0af..64888dba183 100644 --- a/linguistics/src/main/java/com/yahoo/language/opennlp/OpenNlpLinguistics.java +++ b/linguistics/src/main/java/com/yahoo/language/opennlp/OpenNlpLinguistics.java @@ -2,6 +2,7 @@ package com.yahoo.language.opennlp; import com.google.inject.Inject; +import com.yahoo.language.Linguistics; import com.yahoo.language.detect.Detector; import com.yahoo.language.process.Tokenizer; import com.yahoo.language.simple.SimpleDetector; @@ -46,4 +47,6 @@ public class OpenNlpLinguistics extends SimpleLinguistics { @Override public Detector getDetector() { return detector; } + @Override + public boolean equals(Linguistics other) { return (other instanceof OpenNlpLinguistics); } } diff --git a/linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java b/linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java index 4ffe2a866d8..026bc8add25 100644 --- a/linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java +++ b/linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java @@ -70,4 +70,6 @@ public class SimpleLinguistics implements Linguistics { @Override public CharacterClasses getCharacterClasses() { return characterClasses; } + @Override + public boolean equals(Linguistics other) { return (other instanceof SimpleLinguistics); } } -- cgit v1.2.3