aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinitionSet.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinitionSet.java')
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinitionSet.java51
1 files changed, 9 insertions, 42 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinitionSet.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinitionSet.java
index 04667f9b53f..b02701f5c8b 100644
--- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinitionSet.java
+++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinitionSet.java
@@ -4,16 +4,13 @@ package com.yahoo.prelude.fastsearch;
import com.yahoo.slime.BinaryFormat;
import com.yahoo.slime.Slime;
import com.yahoo.data.access.slime.SlimeAdapter;
-import com.yahoo.vespa.config.search.SummaryConfig;
import com.yahoo.prelude.ConfigurationException;
import com.yahoo.container.search.LegacyEmulationConfig;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.Map;
-import java.util.Set;
import java.util.logging.Logger;
/**
@@ -27,7 +24,6 @@ public final class DocsumDefinitionSet {
public static final int SLIME_MAGIC_ID = 0x55555555;
private final static Logger log = Logger.getLogger(DocsumDefinitionSet.class.getName());
- private final HashMap<Long, DocsumDefinition> definitions = new HashMap<>();
private final HashMap<String, DocsumDefinition> definitionsByName = new HashMap<>();
private final LegacyEmulationConfig emulationConfig;
@@ -41,14 +37,6 @@ public final class DocsumDefinitionSet {
configure(config);
}
- /** Returns a docsum definition by id
- * @param id document summary class id
- * @return a DocsumDefinition for the id, if found.
- */
- public final DocsumDefinition getDocsumDefinition(long id) {
- return definitions.get(new Long(id));
- }
-
/**
* Returns a docsum definition by name, or null if not found
*
@@ -74,26 +62,11 @@ public final class DocsumDefinitionSet {
buffer.order(ByteOrder.LITTLE_ENDIAN);
long docsumClassId = buffer.getInt();
if (docsumClassId != SLIME_MAGIC_ID) {
- log.warning("Only expecting SchemaLess docsums");
- // TODO: Not used, remove - bratseth 2017-01-016
- DocsumDefinition docsumDefinition = lookupDocsum(docsumClassId);
- Docsum docsum = new Docsum(docsumDefinition, data);
- hit.addSummary(docsum);
- } else {
- DocsumDefinition docsumDefinition = lookupDocsum(summaryClass);
- Slime value = BinaryFormat.decode(buffer.array(), buffer.arrayOffset()+buffer.position(), buffer.remaining());
- hit.addSummary(docsumDefinition, new SlimeAdapter(value.get()));
- }
- }
-
- private DocsumDefinition lookupDocsum(long docsumClassId) {
- DocsumDefinition docsumDefinition = getDocsumDefinition(docsumClassId);
- if (docsumDefinition == null) {
- throw new ConfigurationException("Received hit with summary id " + docsumClassId +
- ", but this summary class is not in current summary config (" + toString() + ")" +
- " (that is, the system is in an inconsistent state)");
+ throw new IllegalArgumentException("Only expecting SchemaLess docsums - summary class:" + summaryClass + " hit:" + hit);
}
- return docsumDefinition;
+ DocsumDefinition docsumDefinition = lookupDocsum(summaryClass);
+ Slime value = BinaryFormat.decode(buffer.array(), buffer.arrayOffset()+buffer.position(), buffer.remaining());
+ hit.addSummary(docsumDefinition, new SlimeAdapter(value.get()));
}
private DocsumDefinition lookupDocsum(String summaryClass) {
@@ -111,32 +84,26 @@ public final class DocsumDefinitionSet {
public String toString() {
StringBuilder sb = new StringBuilder();
- Set<Map.Entry<Long, DocsumDefinition>> entrySet = definitions.entrySet();
- boolean first = true;
- for (Iterator<Map.Entry<Long, DocsumDefinition>> itr = entrySet.iterator(); itr.hasNext(); ) {
- if (!first) {
+ for (Map.Entry<String, DocsumDefinition> e : definitionsByName.entrySet() ) {
+ if (sb.length() != 0) {
sb.append(",");
- } else {
- first = false;
}
- Map.Entry<Long, DocsumDefinition> entry = itr.next();
- sb.append("[").append(entry.getKey()).append(",").append(entry.getValue().getName()).append("]");
+ sb.append("[").append(e.getKey()).append(",").append(e.getValue().getName()).append("]");
}
return sb.toString();
}
public int size() {
- return definitions.size();
+ return definitionsByName.size();
}
private void configure(DocumentdbInfoConfig.Documentdb config) {
for (int i = 0; i < config.summaryclass().size(); ++i) {
DocumentdbInfoConfig.Documentdb.Summaryclass sc = config.summaryclass(i);
DocsumDefinition docSumDef = new DocsumDefinition(sc, emulationConfig);
- definitions.put((long) sc.id(), docSumDef);
definitionsByName.put(sc.name(), docSumDef);
}
- if (definitions.size() == 0) {
+ if (definitionsByName.size() == 0) {
log.warning("No summary classes found in DocumentdbInfoConfig.Documentdb");
}
}