From c087bbe804ff695f92ec157914dc6d61086be519 Mon Sep 17 00:00:00 2001 From: kimchy Date: Mon, 14 Jun 2010 04:36:03 +0300 Subject: [PATCH] use List for fieldNames to reduce extra array construction --- .../java/org/elasticsearch/search/fetch/FetchPhase.java | 2 +- .../elasticsearch/search/fetch/FieldsParseElement.java | 8 ++++---- .../org/elasticsearch/search/internal/SearchContext.java | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java b/modules/elasticsearch/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java index f196a86060e..604818f0de6 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java @@ -168,7 +168,7 @@ public class FetchPhase implements SearchPhase { return new UidAndSourceFieldSelector(); } - if (context.fieldNames().length == 0) { + if (context.fieldNames().isEmpty()) { return new UidFieldSelector(); } diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/search/fetch/FieldsParseElement.java b/modules/elasticsearch/src/main/java/org/elasticsearch/search/fetch/FieldsParseElement.java index e7326a74668..b9c11369549 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/search/fetch/FieldsParseElement.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/search/fetch/FieldsParseElement.java @@ -21,7 +21,7 @@ package org.elasticsearch.search.fetch; import org.elasticsearch.search.SearchParseElement; import org.elasticsearch.search.internal.SearchContext; -import org.elasticsearch.util.Strings; +import org.elasticsearch.util.collect.ImmutableList; import org.elasticsearch.util.xcontent.XContentParser; import java.util.ArrayList; @@ -39,12 +39,12 @@ public class FieldsParseElement implements SearchParseElement { fieldNames.add(parser.text()); } if (fieldNames.isEmpty()) { - context.fieldNames(Strings.EMPTY_ARRAY); + context.fieldNames(ImmutableList.of()); } else { - context.fieldNames(fieldNames.toArray(new String[fieldNames.size()])); + context.fieldNames(fieldNames); } } else if (token == XContentParser.Token.VALUE_STRING) { - context.fieldNames(new String[]{parser.text()}); + context.fieldNames(ImmutableList.of(parser.text())); } } } diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/search/internal/SearchContext.java b/modules/elasticsearch/src/main/java/org/elasticsearch/search/internal/SearchContext.java index 54324f2d9a7..2748a90a8ec 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/search/internal/SearchContext.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/search/internal/SearchContext.java @@ -44,6 +44,7 @@ import org.elasticsearch.util.lease.Releasable; import org.elasticsearch.util.timer.Timeout; import java.io.IOException; +import java.util.List; /** * @author kimchy (shay.banon) @@ -75,7 +76,7 @@ public class SearchContext implements Releasable { private boolean explain; - private String[] fieldNames; + private List fieldNames; private int from = -1; @@ -101,7 +102,6 @@ public class SearchContext implements Releasable { private SearchContextHighlight highlight; - private boolean queryRewritten; private volatile TimeValue keepAlive; @@ -299,11 +299,11 @@ public class SearchContext implements Releasable { return this; } - public String[] fieldNames() { + public List fieldNames() { return fieldNames; } - public SearchContext fieldNames(String[] fieldNames) { + public SearchContext fieldNames(List fieldNames) { this.fieldNames = fieldNames; return this; }