From 333b7698719d4d3fc88c3321f0525db9b2730de0 Mon Sep 17 00:00:00 2001 From: Isabel Drost-Fromm Date: Wed, 7 Sep 2016 11:48:50 +0200 Subject: [PATCH] Remove usage of FromXContentBuilder --- .../index/rankeval/DiscountedCumulativeGainAt.java | 8 +------- .../elasticsearch/index/rankeval/PrecisionAtN.java | 14 +------------- .../elasticsearch/index/rankeval/RankEvalSpec.java | 10 +++++----- .../index/rankeval/RankedListQualityMetric.java | 9 +++------ .../index/rankeval/ReciprocalRank.java | 14 +------------- .../rankeval/DiscountedCumulativeGainAtTests.java | 2 +- .../index/rankeval/PrecisionAtNTests.java | 2 +- .../index/rankeval/RankEvalSpecTests.java | 1 - .../index/rankeval/ReciprocalRankTests.java | 2 +- .../index/rankeval/XContentRoundtripTests.java | 3 +-- 10 files changed, 15 insertions(+), 50 deletions(-) diff --git a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/DiscountedCumulativeGainAt.java b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/DiscountedCumulativeGainAt.java index 9836def6d3b..07a3ac1a467 100644 --- a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/DiscountedCumulativeGainAt.java +++ b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/DiscountedCumulativeGainAt.java @@ -20,7 +20,6 @@ package org.elasticsearch.index.rankeval; import org.elasticsearch.common.ParseField; -import org.elasticsearch.common.ParseFieldMatcher; import org.elasticsearch.common.ParseFieldMatcherSupplier; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; @@ -38,7 +37,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; -public class DiscountedCumulativeGainAt extends RankedListQualityMetric { +public class DiscountedCumulativeGainAt extends RankedListQualityMetric { /** rank position up to which to check results. */ private int position; @@ -192,11 +191,6 @@ public class DiscountedCumulativeGainAt extends RankedListQualityMetric matcher); - } - public static DiscountedCumulativeGainAt fromXContent(XContentParser parser, ParseFieldMatcherSupplier matcher) { return PARSER.apply(parser, matcher); } diff --git a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/PrecisionAtN.java b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/PrecisionAtN.java index 50c2d54fa34..7d64dc31c8c 100644 --- a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/PrecisionAtN.java +++ b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/PrecisionAtN.java @@ -20,7 +20,6 @@ package org.elasticsearch.index.rankeval; import org.elasticsearch.common.ParseField; -import org.elasticsearch.common.ParseFieldMatcher; import org.elasticsearch.common.ParseFieldMatcherSupplier; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; @@ -43,7 +42,7 @@ import javax.naming.directory.SearchResult; * By default documents with a rating equal or bigger than 1 are considered to be "relevant" for the precision * calculation. This value can be changes using the "relevant_rating_threshold" parameter. * */ -public class PrecisionAtN extends RankedListQualityMetric { +public class PrecisionAtN extends RankedListQualityMetric { /** Number of results to check against a given set of relevant results. */ private int n; @@ -113,17 +112,6 @@ public class PrecisionAtN extends RankedListQualityMetric { return relevantRatingThreshhold ; } - @Override - public PrecisionAtN fromXContent(XContentParser parser, ParseFieldMatcher matcher) { - return PrecisionAtN.fromXContent(parser, new ParseFieldMatcherSupplier() { - - @Override - public ParseFieldMatcher getParseFieldMatcher() { - return matcher; - } - }); - } - public static PrecisionAtN fromXContent(XContentParser parser, ParseFieldMatcherSupplier matcher) { return PARSER.apply(parser, matcher); } diff --git a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/RankEvalSpec.java b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/RankEvalSpec.java index 0aece1d0aa1..f329ee17f9e 100644 --- a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/RankEvalSpec.java +++ b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/RankEvalSpec.java @@ -46,7 +46,7 @@ public class RankEvalSpec extends ToXContentToBytes implements Writeable { /** Collection of query specifications, that is e.g. search request templates to use for query translation. */ private Collection ratedRequests = new ArrayList<>(); /** Definition of the quality metric, e.g. precision at N */ - private RankedListQualityMetric metric; + private RankedListQualityMetric metric; /** a unique id for the whole QA task */ private String specId; @@ -54,7 +54,7 @@ public class RankEvalSpec extends ToXContentToBytes implements Writeable { // TODO think if no args ctor is okay } - public RankEvalSpec(String specId, Collection specs, RankedListQualityMetric metric) { + public RankEvalSpec(String specId, Collection specs, RankedListQualityMetric metric) { this.specId = specId; this.ratedRequests = specs; this.metric = metric; @@ -80,7 +80,7 @@ public class RankEvalSpec extends ToXContentToBytes implements Writeable { out.writeString(specId); } - public void setEval(RankedListQualityMetric eval) { + public void setEval(RankedListQualityMetric eval) { this.metric = eval; } @@ -93,12 +93,12 @@ public class RankEvalSpec extends ToXContentToBytes implements Writeable { } /** Returns the precision at n configuration (containing level of n to consider).*/ - public RankedListQualityMetric getEvaluator() { + public RankedListQualityMetric getEvaluator() { return metric; } /** Sets the precision at n configuration (containing level of n to consider).*/ - public void setEvaluator(RankedListQualityMetric config) { + public void setEvaluator(RankedListQualityMetric config) { this.metric = config; } diff --git a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/RankedListQualityMetric.java b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/RankedListQualityMetric.java index b5ce6121ffb..e423ab3533c 100644 --- a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/RankedListQualityMetric.java +++ b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/RankedListQualityMetric.java @@ -23,7 +23,6 @@ import org.elasticsearch.action.support.ToXContentToBytes; import org.elasticsearch.common.ParseFieldMatcherSupplier; import org.elasticsearch.common.ParsingException; import org.elasticsearch.common.io.stream.NamedWriteable; -import org.elasticsearch.common.xcontent.FromXContentBuilder; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentParser; import org.elasticsearch.common.xcontent.XContentParser.Token; @@ -39,9 +38,7 @@ import java.util.List; * * RelevancyLevel specifies the type of object determining the relevancy level of some known docid. * */ -public abstract class RankedListQualityMetric> - extends ToXContentToBytes - implements NamedWriteable, FromXContentBuilder { +public abstract class RankedListQualityMetric extends ToXContentToBytes implements NamedWriteable { /** * Returns a single metric representing the ranking quality of a set of returned documents @@ -52,8 +49,8 @@ public abstract class RankedListQualityMetric ratedDocs); - public static RankedListQualityMetric fromXContent(XContentParser parser, ParseFieldMatcherSupplier context) throws IOException { - RankedListQualityMetric rc; + public static RankedListQualityMetric fromXContent(XContentParser parser, ParseFieldMatcherSupplier context) throws IOException { + RankedListQualityMetric rc; Token token = parser.nextToken(); if (token != XContentParser.Token.FIELD_NAME) { throw new ParsingException(parser.getTokenLocation(), "[_na] missing required metric name"); diff --git a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/ReciprocalRank.java b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/ReciprocalRank.java index 5907dba7a44..6d6626f9c4e 100644 --- a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/ReciprocalRank.java +++ b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/ReciprocalRank.java @@ -20,7 +20,6 @@ package org.elasticsearch.index.rankeval; import org.elasticsearch.common.ParseField; -import org.elasticsearch.common.ParseFieldMatcher; import org.elasticsearch.common.ParseFieldMatcherSupplier; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; @@ -44,7 +43,7 @@ import javax.naming.directory.SearchResult; * By default documents with a rating equal or bigger than 1 are considered to be "relevant" for the reciprocal rank * calculation. This value can be changes using the "relevant_rating_threshold" parameter. * */ -public class ReciprocalRank extends RankedListQualityMetric { +public class ReciprocalRank extends RankedListQualityMetric { public static final String NAME = "reciprocal_rank"; public static final int DEFAULT_MAX_ACCEPTABLE_RANK = 10; @@ -160,17 +159,6 @@ public class ReciprocalRank extends RankedListQualityMetric { PARSER.declareInt(ReciprocalRank::setRelevantRatingThreshhold, RELEVANT_RATING_FIELD); } - @Override - public ReciprocalRank fromXContent(XContentParser parser, ParseFieldMatcher matcher) { - return ReciprocalRank.fromXContent(parser, new ParseFieldMatcherSupplier() { - - @Override - public ParseFieldMatcher getParseFieldMatcher() { - return matcher; - } - }); - } - public static ReciprocalRank fromXContent(XContentParser parser, ParseFieldMatcherSupplier matcher) { return PARSER.apply(parser, matcher); } diff --git a/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/DiscountedCumulativeGainAtTests.java b/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/DiscountedCumulativeGainAtTests.java index e92f147acea..9bd93d1a9ad 100644 --- a/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/DiscountedCumulativeGainAtTests.java +++ b/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/DiscountedCumulativeGainAtTests.java @@ -133,7 +133,7 @@ public class DiscountedCumulativeGainAtTests extends XContentRoundtripTests ParseFieldMatcher.STRICT); assertNotSame(testItem, parsedItem); assertEquals(testItem, parsedItem); assertEquals(testItem.hashCode(), parsedItem.hashCode()); diff --git a/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/PrecisionAtNTests.java b/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/PrecisionAtNTests.java index 21aa9f6f957..4522d698bc7 100644 --- a/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/PrecisionAtNTests.java +++ b/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/PrecisionAtNTests.java @@ -144,7 +144,7 @@ public class PrecisionAtNTests extends XContentRoundtripTests { XContentParser itemParser = roundtrip(testItem); itemParser.nextToken(); itemParser.nextToken(); - PrecisionAtN parsedItem = testItem.fromXContent(itemParser, ParseFieldMatcher.STRICT); + PrecisionAtN parsedItem = PrecisionAtN.fromXContent(itemParser, () -> ParseFieldMatcher.STRICT); assertNotSame(testItem, parsedItem); assertEquals(testItem, parsedItem); assertEquals(testItem.hashCode(), parsedItem.hashCode()); diff --git a/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/RankEvalSpecTests.java b/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/RankEvalSpecTests.java index 3fac5cb3868..7bc2c7649a3 100644 --- a/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/RankEvalSpecTests.java +++ b/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/RankEvalSpecTests.java @@ -86,7 +86,6 @@ public class RankEvalSpecTests extends ESTestCase { } String specId = randomAsciiOfLengthBetween(1, 10); // TODO we should reject zero length ids ... - @SuppressWarnings("rawtypes") RankedListQualityMetric metric; if (randomBoolean()) { metric = PrecisionAtNTests.createTestItem(); diff --git a/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/ReciprocalRankTests.java b/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/ReciprocalRankTests.java index f0d9cacdc38..db232662ea8 100644 --- a/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/ReciprocalRankTests.java +++ b/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/ReciprocalRankTests.java @@ -157,7 +157,7 @@ public class ReciprocalRankTests extends XContentRoundtripTests XContentParser itemParser = roundtrip(testItem); itemParser.nextToken(); itemParser.nextToken(); - ReciprocalRank parsedItem = testItem.fromXContent(itemParser, ParseFieldMatcher.STRICT); + ReciprocalRank parsedItem = ReciprocalRank.fromXContent(itemParser, () -> ParseFieldMatcher.STRICT); assertNotSame(testItem, parsedItem); assertEquals(testItem, parsedItem); assertEquals(testItem.hashCode(), parsedItem.hashCode()); diff --git a/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/XContentRoundtripTests.java b/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/XContentRoundtripTests.java index 14bd3d20f79..a37055d897a 100644 --- a/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/XContentRoundtripTests.java +++ b/modules/rank-eval/src/test/java/org/elasticsearch/index/rankeval/XContentRoundtripTests.java @@ -20,7 +20,6 @@ package org.elasticsearch.index.rankeval; import org.elasticsearch.action.support.ToXContentToBytes; -import org.elasticsearch.common.xcontent.FromXContentBuilder; import org.elasticsearch.common.xcontent.ToXContent; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; @@ -31,7 +30,7 @@ import org.elasticsearch.test.ESTestCase; import java.io.IOException; -public class XContentRoundtripTests> extends ESTestCase { +public class XContentRoundtripTests extends ESTestCase { public XContentParser roundtrip(T testItem) throws IOException { XContentBuilder builder = XContentFactory.contentBuilder(randomFrom(XContentType.values()));