diff options
Diffstat (limited to 'container-search/src/main/java')
185 files changed, 340 insertions, 224 deletions
diff --git a/container-search/src/main/java/com/yahoo/fs4/DocumentInfo.java b/container-search/src/main/java/com/yahoo/fs4/DocumentInfo.java index 075ec60c099..e5ab00fb139 100644 --- a/container-search/src/main/java/com/yahoo/fs4/DocumentInfo.java +++ b/container-search/src/main/java/com/yahoo/fs4/DocumentInfo.java @@ -28,9 +28,9 @@ public class DocumentInfo implements Cloneable { } public DocumentInfo(GlobalId globalId, int metric, int partId, int distributionKey) { - this.globalId=globalId; - this.metric=metric; - this.partId=partId; + this.globalId = globalId; + this.metric = metric; + this.partId = partId; this.distributionKey = distributionKey; } diff --git a/container-search/src/main/java/com/yahoo/fs4/HexByteIterator.java b/container-search/src/main/java/com/yahoo/fs4/HexByteIterator.java index 5df9e260c15..78ba857c475 100644 --- a/container-search/src/main/java/com/yahoo/fs4/HexByteIterator.java +++ b/container-search/src/main/java/com/yahoo/fs4/HexByteIterator.java @@ -8,7 +8,7 @@ import java.util.Iterator; * Provides sequential access to each byte of a buffer * as a hexadecimal string of length 2. * - * @author tonytv + * @author Tony Vaagenes */ public final class HexByteIterator implements Iterator<String> { private final ByteBuffer buffer; diff --git a/container-search/src/main/java/com/yahoo/fs4/PacketDumper.java b/container-search/src/main/java/com/yahoo/fs4/PacketDumper.java index 123403a1c8d..6b2c792837a 100644 --- a/container-search/src/main/java/com/yahoo/fs4/PacketDumper.java +++ b/container-search/src/main/java/com/yahoo/fs4/PacketDumper.java @@ -20,7 +20,7 @@ import com.yahoo.search.Query; /** * Responsible for dumping query & query result packets * - * @author tonytv + * @author Tony Vaagenes */ public class PacketDumper implements PacketListener { /** High level representation of packet types (e.g. query, result, ...) */ diff --git a/container-search/src/main/java/com/yahoo/fs4/PacketListener.java b/container-search/src/main/java/com/yahoo/fs4/PacketListener.java index a876caf9699..113da03b420 100644 --- a/container-search/src/main/java/com/yahoo/fs4/PacketListener.java +++ b/container-search/src/main/java/com/yahoo/fs4/PacketListener.java @@ -8,7 +8,7 @@ import com.yahoo.fs4.mplex.FS4Channel; /** * Interface for recieving notifications of packets sent or recieved. * - * @author tonytv + * @author Tony Vaagenes */ public interface PacketListener { void packetSent(FS4Channel channel, BasicPacket packet, ByteBuffer serializedForm); diff --git a/container-search/src/main/java/com/yahoo/fs4/PacketNotificationsBroadcaster.java b/container-search/src/main/java/com/yahoo/fs4/PacketNotificationsBroadcaster.java index 06c908cac4b..1be79031d1b 100644 --- a/container-search/src/main/java/com/yahoo/fs4/PacketNotificationsBroadcaster.java +++ b/container-search/src/main/java/com/yahoo/fs4/PacketNotificationsBroadcaster.java @@ -8,7 +8,7 @@ import com.yahoo.fs4.mplex.FS4Channel; /** * Broadcasts packet notifications to a list of listeners. * - * @author tonytv + * @author Tony Vaagenes */ public class PacketNotificationsBroadcaster implements PacketListener { diff --git a/container-search/src/main/java/com/yahoo/fs4/PacketQueryTracer.java b/container-search/src/main/java/com/yahoo/fs4/PacketQueryTracer.java index ded5db99594..b577ef31ad8 100644 --- a/container-search/src/main/java/com/yahoo/fs4/PacketQueryTracer.java +++ b/container-search/src/main/java/com/yahoo/fs4/PacketQueryTracer.java @@ -9,7 +9,7 @@ import com.yahoo.search.Query; /** * Adds packets to the query context * - * @author tonytv + * @author Tony Vaagenes */ public class PacketQueryTracer implements PacketListener { diff --git a/container-search/src/main/java/com/yahoo/fs4/QueryResultPacket.java b/container-search/src/main/java/com/yahoo/fs4/QueryResultPacket.java index b18d1e88a4b..239101184ea 100644 --- a/container-search/src/main/java/com/yahoo/fs4/QueryResultPacket.java +++ b/container-search/src/main/java/com/yahoo/fs4/QueryResultPacket.java @@ -125,7 +125,7 @@ public class QueryResultPacket extends Packet { soonActiveDocs = buffer.getLong(); degradedReason = buffer.getInt(); - decodeDocuments(buffer,documentCount); + decodeDocuments(buffer, documentCount); if (propsFeature) { int numMaps = buffer.getInt(); propsArray = new FS4Properties[numMaps]; diff --git a/container-search/src/main/java/com/yahoo/fs4/mplex/Backend.java b/container-search/src/main/java/com/yahoo/fs4/mplex/Backend.java index 81192be035a..68a13c06e32 100644 --- a/container-search/src/main/java/com/yahoo/fs4/mplex/Backend.java +++ b/container-search/src/main/java/com/yahoo/fs4/mplex/Backend.java @@ -61,7 +61,7 @@ public class Backend implements ConnectionFactory { private final ConnectionPool connectionPool; private final PacketDumper packetDumper; private final AtomicInteger connectionCount = new AtomicInteger(0); - + private final Optional<Integer> distributionKey; /** * For unit testing. do not use @@ -74,9 +74,15 @@ public class Backend implements ConnectionFactory { packetDumper = null; address = null; connectionPool = new ConnectionPool(); + distributionKey = Optional.empty(); } - public Backend(String host, int port, String serverDiscriminator, ListenerPool listenerPool, ConnectionPool connectionPool) { + public Backend(String host, + int port, + String serverDiscriminator, + ListenerPool listenerPool, + ConnectionPool connectionPool, + Optional<Integer> distributionKey) { String fileNamePattern = "qrs." + serverDiscriminator + '.' + host + ":" + port + ".%s" + ".dump"; packetDumper = new PacketDumper(new File(Defaults.getDefaults().underVespaHome("logs/vespa/qrs/")), fileNamePattern); @@ -86,6 +92,7 @@ public class Backend implements ConnectionFactory { this.port = port; address = new InetSocketAddress(host, port); this.connectionPool = connectionPool; + this.distributionKey = distributionKey; } private void logWarning(String attemptDescription, Exception e) { @@ -96,11 +103,13 @@ public class Backend implements ConnectionFactory { log.log(Level.INFO, "Exception on " + attemptDescription + " '" + host + ":" + port + "': " + Exceptions.toMessageString(e)); } + /** Returns the distribution key of the content node this represents, or empty if it is a dispatch node */ + public Optional<Integer> distributionKey() { return distributionKey; } + // ============================================================ // ==== connection pool stuff // ============================================================ - /** * Fetch a connection from the connection pool. If the pool * is empty we create a connection. @@ -187,10 +196,7 @@ public class Backend implements ConnectionFactory { //==== channel management //============================================================ - /** - * Open a new channel to fdispatch. Analogous to the "Channel" - * concept as used in FS4. - */ + /** Opens a new channel to fdispatch. Analogous to the "Channel" concept as used in FS4. */ public FS4Channel openChannel () { int cachedChannelId; synchronized (this) { diff --git a/container-search/src/main/java/com/yahoo/fs4/mplex/FS4Channel.java b/container-search/src/main/java/com/yahoo/fs4/mplex/FS4Channel.java index b0fce14e73f..237b0cdb8e2 100644 --- a/container-search/src/main/java/com/yahoo/fs4/mplex/FS4Channel.java +++ b/container-search/src/main/java/com/yahoo/fs4/mplex/FS4Channel.java @@ -1,10 +1,10 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - package com.yahoo.fs4.mplex; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; @@ -16,23 +16,18 @@ import com.yahoo.fs4.ChannelTimeoutException; import com.yahoo.fs4.Packet; import com.yahoo.search.Query; - - /** - * * This class is used to represent a "channel" in the FS4 protocol. * A channel represents a session between a client and the fdispatch. * Internally this class has a response queue used by the backend * for queueing up FS4 packets that belong to this channel (or * <em>session</em>, which might be a more appropriate name for it). - * - * <P> * Outbound packets are handed off to the FS4Connection. * * @author Bjorn Borud */ -public class FS4Channel -{ +public class FS4Channel { + private static Logger log = Logger.getLogger(FS4Channel.class.getName()); private Integer channelId; @@ -67,13 +62,14 @@ public class FS4Channel return query; } - /** - * @return returns an Integer representing the (fs4) channel id - */ + /** Returns the (fs4) channel id */ public Integer getChannelId () { return channelId; } + /** Returns the distribution key of the content node this represents, or empty if it is a dispatch node */ + public Optional<Integer> distributionKey() { return backend == null ? Optional.empty() : backend.distributionKey(); } + /** * Closes the channel */ diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/CacheControl.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/CacheControl.java index b7e16b6c082..dd5b3caf0c5 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/CacheControl.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/CacheControl.java @@ -8,6 +8,8 @@ import com.yahoo.fs4.QueryResultPacket; import com.yahoo.search.Query; import com.yahoo.processing.request.CompoundName; +import java.util.Optional; + /** * The cache control logic for FastSearcher @@ -16,7 +18,7 @@ import com.yahoo.processing.request.CompoundName; */ public class CacheControl { - private static final CompoundName nocachewrite=new CompoundName("nocachewrite"); + public static final CompoundName nocachewrite=new CompoundName("nocachewrite"); /** Whether this CacheControl actually should cache hits at all. */ private final boolean activeCache; @@ -84,7 +86,7 @@ public class CacheControl { } } - void cache(CacheKey key, Query query, DocsumPacketKey[] packetKeys, Packet[] packets) { + void cache(CacheKey key, Query query, DocsumPacketKey[] packetKeys, Packet[] packets, Optional<Integer> distributionKey) { if ( ! activeCache) return; if (query.getNoCache()) return; @@ -92,7 +94,7 @@ public class CacheControl { PacketWrapper wrapper = lookup(key, query); if (wrapper == null) { - wrapper = new PacketWrapper(key, packetKeys,packets); + wrapper = new PacketWrapper(key, packetKeys, packets, distributionKey); long now = System.currentTimeMillis(); synchronized (packetCache) { packetCache.put(key, wrapper, now); diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4ResourcePool.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4ResourcePool.java index 8d4e9418c1c..e933f4857b3 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4ResourcePool.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4ResourcePool.java @@ -14,6 +14,7 @@ import com.yahoo.io.Connection; import java.io.IOException; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import java.util.Timer; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -60,11 +61,14 @@ public class FS4ResourcePool extends AbstractComponent { } public Backend getBackend(String host, int port) { + return getBackend(host, port, Optional.empty()); + } + public Backend getBackend(String host, int port, Optional<Integer> distributionKey) { String key = host + ":" + port; synchronized (connectionPoolMap) { Backend pool = connectionPoolMap.get(key); if (pool == null) { - pool = new Backend(host, port, Server.get().getServerDiscriminator(), listeners, new ConnectionPool(timer)); + pool = new Backend(host, port, Server.get().getServerDiscriminator(), listeners, new ConnectionPool(timer), distributionKey); connectionPoolMap.put(key, pool); } return pool; diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastSearcher.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastSearcher.java index 30e2adab182..90410699748 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastSearcher.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastSearcher.java @@ -229,8 +229,9 @@ public class FastSearcher extends VespaBackEndSearcher { // Dispatch directly to the single, local search node query.trace(false, 2, "Dispatching directly to ", directDispatchRecipient.get()); - return fs4ResourcePool.getBackend(directDispatchRecipient.get().hostname(), - directDispatchRecipient.get().fs4port()); + return fs4ResourcePool.getBackend(directDispatchRecipient.get().hostname(), + directDispatchRecipient.get().fs4port(), + Optional.of(directDispatchRecipient.get().key())); } /** @@ -373,7 +374,6 @@ public class FastSearcher extends VespaBackEndSearcher { } private Result searchTwoPhase(FS4Channel channel, Query query, QueryPacket queryPacket, CacheKey cacheKey) throws IOException { - if (isLoggingFine()) getLogger().finest("sending query packet"); @@ -417,7 +417,8 @@ public class FastSearcher extends VespaBackEndSearcher { addMetaInfo(query, queryPacket.getQueryPacketData(), resultPacket, result, false); - addUnfilledHits(result, resultPacket.getDocuments(), false, queryPacket.getQueryPacketData(), cacheKey); + addUnfilledHits(result, resultPacket.getDocuments(), false, + queryPacket.getQueryPacketData(), cacheKey, channel.distributionKey()); Packet[] packets; PacketWrapper packetWrapper = cacheControl.lookup(cacheKey, query); @@ -432,7 +433,7 @@ public class FastSearcher extends VespaBackEndSearcher { } else { packets = new Packet[1]; packets[0] = resultPacket; - cacheControl.cache(cacheKey, query, new DocsumPacketKey[0], packets); + cacheControl.cache(cacheKey, query, new DocsumPacketKey[0], packets, channel.distributionKey()); } } return result; diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/PacketWrapper.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/PacketWrapper.java index 2b1b7dd24cc..8e22bae430a 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/PacketWrapper.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/PacketWrapper.java @@ -7,6 +7,7 @@ import java.util.Iterator; import java.util.LinkedHashMap; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.logging.Logger; import com.yahoo.fs4.BasicPacket; @@ -31,10 +32,13 @@ public class PacketWrapper implements Cloneable { private static Logger log = Logger.getLogger(PacketWrapper.class.getName()); - final int keySize; + private final int keySize; // associated result packets, sorted in regard to offset private ArrayList<BasicPacket> resultPackets = new ArrayList<>(3); // length = "some small number" - LinkedHashMap<DocsumPacketKey, BasicPacket> packets; + + private LinkedHashMap<DocsumPacketKey, BasicPacket> packets; + + private final Optional<Integer> distributionKey; private static class ResultPacketComparator<T extends BasicPacket> implements Comparator<T> { @Override @@ -47,11 +51,12 @@ public class PacketWrapper implements Cloneable { private static ResultPacketComparator<BasicPacket> resultPacketComparator = new ResultPacketComparator<>(); - public PacketWrapper(CacheKey key, DocsumPacketKey[] packetKeys, BasicPacket[] bpackets) { + public PacketWrapper(CacheKey key, DocsumPacketKey[] packetKeys, BasicPacket[] bpackets, Optional<Integer> distributionKey) { // Should not support key == null this.keySize = key.byteSize(); resultPackets.add(bpackets[0]); this.packets = new LinkedHashMap<>(); + this.distributionKey = distributionKey; Packet[] ppackets = new Packet[packetKeys.length]; for (int i = 0; i < packetKeys.length; i++) { @@ -72,6 +77,7 @@ public class PacketWrapper implements Cloneable { } resultPackets.add(packets[0]); this.packets = new LinkedHashMap<>(); + this.distributionKey = Optional.empty(); for (int i = 0; i < packets.length - 1; i++) { this.packets.put(new DocsumPacketKey(new GlobalId(new DocumentId("doc:test:" + i).getGlobalId()), i, null), packets[i + 1]); } @@ -87,7 +93,13 @@ public class PacketWrapper implements Cloneable { } /** - * @return list of documents, null if not all are available + * Returns the distribution key of the content node producing these hits, + * or empty if the hits were returned through dispatch + */ + public Optional<Integer> distributionKey() { return distributionKey; } + + /** + * Returns the list of documents, null if not all are available */ public List<DocumentInfo> getDocuments(int offset, int hits) { // speculatively allocate list for the hits diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java index 34e8390892d..3e9a92ea0f7 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java @@ -137,7 +137,7 @@ public abstract class VespaBackEndSearcher extends PingableSearcher { addMetaInfo(query, queryPacketData, resultPacket, result, true); if (packetWrapper.getNumPackets() == 0) - addUnfilledHits(result, documents, true, queryPacketData, key); + addUnfilledHits(result, documents, true, queryPacketData, key, packetWrapper.distributionKey()); else addCachedHits(result, packetWrapper, summaryClass, documents); return result; @@ -616,8 +616,16 @@ public abstract class VespaBackEndSearcher extends PingableSearcher { * * @param queryPacketData binary data from first phase of search, or null * @param cacheKey the key this hit should match in the packet cache, or null + * @param channelDistributionKey distribution key of the node producing these hits. + * Only set if produced directly by a search node, not dispatch + * (in which case it is not set in the received packets.) */ - boolean addUnfilledHits(Result result, List<DocumentInfo> documents, boolean fromCache, QueryPacketData queryPacketData, CacheKey cacheKey) { + boolean addUnfilledHits(Result result, + List<DocumentInfo> documents, + boolean fromCache, + QueryPacketData queryPacketData, + CacheKey cacheKey, + Optional<Integer> channelDistributionKey) { boolean allHitsOK = true; Query myQuery = result.getQuery(); @@ -634,6 +642,7 @@ public abstract class VespaBackEndSearcher extends PingableSearcher { hit.setCached(fromCache); extractDocumentInfo(hit, document); + channelDistributionKey.ifPresent(hit::setDistributionKey); result.hits().add(hit); } catch (ConfigurationException e) { diff --git a/container-search/src/main/java/com/yahoo/prelude/query/parser/CustomParser.java b/container-search/src/main/java/com/yahoo/prelude/query/parser/CustomParser.java index db9c5b8f726..e57e06f6b12 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/parser/CustomParser.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/parser/CustomParser.java @@ -11,7 +11,7 @@ import java.util.Objects; import java.util.Set; /** - * @author Simon Thoresen + * @author Simon Thoresen Hult * @since 5.1.4 */ public interface CustomParser extends Parser { diff --git a/container-search/src/main/java/com/yahoo/prelude/query/parser/ProgrammaticParser.java b/container-search/src/main/java/com/yahoo/prelude/query/parser/ProgrammaticParser.java index e55da49b921..eab001042d3 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/parser/ProgrammaticParser.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/parser/ProgrammaticParser.java @@ -12,7 +12,7 @@ import com.yahoo.search.query.textserialize.TextSerialize; import java.util.Set; /** - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult * @since 5.1.4 */ public final class ProgrammaticParser implements CustomParser { diff --git a/container-search/src/main/java/com/yahoo/prelude/query/textualrepresentation/Discloser.java b/container-search/src/main/java/com/yahoo/prelude/query/textualrepresentation/Discloser.java index 7bced128ac5..1d7372a2497 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/textualrepresentation/Discloser.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/textualrepresentation/Discloser.java @@ -6,7 +6,7 @@ import com.yahoo.prelude.query.Item; /** * Allows an item to disclose its properties and children/value. * - * @author tonytv + * @author Tony Vaagenes */ public interface Discloser { void addProperty(String key, Object value); diff --git a/container-search/src/main/java/com/yahoo/prelude/query/textualrepresentation/TextualQueryRepresentation.java b/container-search/src/main/java/com/yahoo/prelude/query/textualrepresentation/TextualQueryRepresentation.java index f00219122c4..56f106a43f4 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/textualrepresentation/TextualQueryRepresentation.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/textualrepresentation/TextualQueryRepresentation.java @@ -10,7 +10,7 @@ import java.util.regex.Pattern; /** * Creates a detailed, QED inspired representation of a query tree. * - * @author tonytv + * @author Tony Vaagenes */ public class TextualQueryRepresentation { private Map<Item, Integer> itemReferences = new IdentityHashMap<>(); diff --git a/container-search/src/main/java/com/yahoo/prelude/querytransform/RecallSearcher.java b/container-search/src/main/java/com/yahoo/prelude/querytransform/RecallSearcher.java index 69331a196a2..060fd598245 100644 --- a/container-search/src/main/java/com/yahoo/prelude/querytransform/RecallSearcher.java +++ b/container-search/src/main/java/com/yahoo/prelude/querytransform/RecallSearcher.java @@ -29,13 +29,13 @@ import static com.yahoo.prelude.querytransform.StemmingSearcher.STEMMING; * * If the "recall" property is unset, this searcher does nothing. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ @After("com.yahoo.search.querytransform.WandSearcher") @Before({STEMMING, ACCENT_REMOVAL}) public class RecallSearcher extends Searcher { - private static final CompoundName recallName=new CompoundName("recall"); + public static final CompoundName recallName=new CompoundName("recall"); @Override public Result search(Query query, Execution execution) { diff --git a/container-search/src/main/java/com/yahoo/prelude/searcher/MultipleResultsSearcher.java b/container-search/src/main/java/com/yahoo/prelude/searcher/MultipleResultsSearcher.java index 3b2fd596cfa..75066a424fc 100644 --- a/container-search/src/main/java/com/yahoo/prelude/searcher/MultipleResultsSearcher.java +++ b/container-search/src/main/java/com/yahoo/prelude/searcher/MultipleResultsSearcher.java @@ -17,7 +17,7 @@ import java.util.*; * * <p> For each group, the desired number of hits can be specified. </p> * - * @author tonytv + * @author Tony Vaagenes */ public class MultipleResultsSearcher extends Searcher { diff --git a/container-search/src/main/java/com/yahoo/prelude/templates/HitContext.java b/container-search/src/main/java/com/yahoo/prelude/templates/HitContext.java index 4d1daa97306..14b05f5e2a6 100644 --- a/container-search/src/main/java/com/yahoo/prelude/templates/HitContext.java +++ b/container-search/src/main/java/com/yahoo/prelude/templates/HitContext.java @@ -16,7 +16,7 @@ import java.util.Set; /** * A context providing all the fields of a hit, and falls back to MapContext behavior for all other keys. * - * @author tonytv + * @author Tony Vaagenes * @deprecated use a Renderer instead */ @SuppressWarnings("deprecation") diff --git a/container-search/src/main/java/com/yahoo/prelude/templates/LogExceptionUserTemplateDelegator.java b/container-search/src/main/java/com/yahoo/prelude/templates/LogExceptionUserTemplateDelegator.java index b9272ac4c3d..f9ad3ebf86e 100644 --- a/container-search/src/main/java/com/yahoo/prelude/templates/LogExceptionUserTemplateDelegator.java +++ b/container-search/src/main/java/com/yahoo/prelude/templates/LogExceptionUserTemplateDelegator.java @@ -12,7 +12,7 @@ import java.util.logging.Logger; /** * Delegates to another UserTemplate, but handles any exceptions(except IOException) by logging them. * - * @author tonytv + * @author Tony Vaagenes * @deprecated use a renderer instead */ @SuppressWarnings("deprecation") diff --git a/container-search/src/main/java/com/yahoo/prelude/templates/SearchRendererAdaptor.java b/container-search/src/main/java/com/yahoo/prelude/templates/SearchRendererAdaptor.java index a639a6b97ec..8439dd105a8 100644 --- a/container-search/src/main/java/com/yahoo/prelude/templates/SearchRendererAdaptor.java +++ b/container-search/src/main/java/com/yahoo/prelude/templates/SearchRendererAdaptor.java @@ -20,7 +20,7 @@ import java.util.Iterator; /** * Renders a search result using the old templates API. * - * @author tonytv + * @author Tony Vaagenes * @deprecated do not use */ @SuppressWarnings({ "rawtypes", "deprecation", "unchecked" }) diff --git a/container-search/src/main/java/com/yahoo/search/Query.java b/container-search/src/main/java/com/yahoo/search/Query.java index 5ec2202d0c3..cbc8b15eff9 100644 --- a/container-search/src/main/java/com/yahoo/search/Query.java +++ b/container-search/src/main/java/com/yahoo/search/Query.java @@ -46,7 +46,6 @@ import com.yahoo.search.yql.VespaSerializer; import com.yahoo.search.yql.YqlParser; import com.yahoo.yolean.Exceptions; import edu.umd.cs.findbugs.annotations.Nullable; - import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Collections; @@ -270,6 +269,7 @@ public class Query extends com.yahoo.processing.Request implements Cloneable { this(""); } + /** * Construct a query from a string formatted in the http style, e.g <code>?query=test&offset=10&hits=13</code> * The query must be uri encoded. @@ -278,6 +278,16 @@ public class Query extends com.yahoo.processing.Request implements Cloneable { this(query, null); } + + /** + * Creates a query from a request + * + * @param request the HTTP request from which this is created + */ + public Query(HttpRequest request) { + this(request, null); + } + /** * Construct a query from a string formatted in the http style, e.g <code>?query=test&offset=10&hits=13</code> * The query must be uri encoded. @@ -293,20 +303,24 @@ public class Query extends com.yahoo.processing.Request implements Cloneable { * @param queryProfile the query profile to use for this query, or null if none. */ public Query(HttpRequest request, CompiledQueryProfile queryProfile) { - super(new QueryPropertyAliases(propertyAliases)); - this.httpRequest = request; - init(request.propertyMap(), queryProfile); + this(request, request.propertyMap(), queryProfile); } /** * Creates a query from a request * - * @param request the HTTP request from which this is created + * @param request the HTTP request from which this is created. + * @param requestMap the property map of the query. + * @param queryProfile the query profile to use for this query, or null if none. */ - public Query(HttpRequest request) { - this(request, null); + public Query(HttpRequest request, Map<String, String> requestMap, CompiledQueryProfile queryProfile) { + super(new QueryPropertyAliases(propertyAliases)); + this.httpRequest = request; + init(requestMap, queryProfile); } + + private void init(Map<String, String> requestMap, CompiledQueryProfile queryProfile) { startTime = System.currentTimeMillis(); if (queryProfile != null) { diff --git a/container-search/src/main/java/com/yahoo/search/config/dispatchprototype/package-info.java b/container-search/src/main/java/com/yahoo/search/config/dispatchprototype/package-info.java index 60bd4fd71ab..3b1a3b3bd05 100644 --- a/container-search/src/main/java/com/yahoo/search/config/dispatchprototype/package-info.java +++ b/container-search/src/main/java/com/yahoo/search/config/dispatchprototype/package-info.java @@ -1,7 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. /** * Package for dispatchprototype config. - * @author tonytv + * @author Tony Vaagenes */ @ExportPackage package com.yahoo.search.config.dispatchprototype; diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java b/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java index 654fd6cc68f..3eb010da555 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java @@ -62,8 +62,7 @@ public class Dispatcher extends AbstractComponent { this.client = new RpcClient(); this.searchCluster = new SearchCluster(dispatchConfig, fs4ResourcePool, containerClusterSize, vipStatus); - // Create node rpc connections, indexed by the legacy "partid", which allows us to bridge - // between fs4 calls (for search) and rpc calls (for summary fetch) + // Create node rpc connections, indexed by the node distribution key ImmutableMap.Builder<Integer, Client.NodeConnection> nodeConnectionsBuilder = new ImmutableMap.Builder<>(); for (DispatchConfig.Node node : dispatchConfig.node()) { nodeConnectionsBuilder.put(node.key(), client.createConnection(node.host(), node.port())); diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/SearchCluster.java b/container-search/src/main/java/com/yahoo/search/dispatch/SearchCluster.java index 9b2a24cd01f..efce2fdac9c 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/SearchCluster.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/SearchCluster.java @@ -137,7 +137,7 @@ public class SearchCluster implements NodeManager<SearchCluster.Node> { private static ImmutableList<Node> toNodes(DispatchConfig dispatchConfig) { ImmutableList.Builder<Node> nodesBuilder = new ImmutableList.Builder<>(); for (DispatchConfig.Node node : dispatchConfig.node()) - nodesBuilder.add(new Node(node.host(), node.fs4port(), node.group())); + nodesBuilder.add(new Node(node.key(), node.host(), node.fs4port(), node.group())); return nodesBuilder.build(); } @@ -360,6 +360,7 @@ public class SearchCluster implements NodeManager<SearchCluster.Node> { /** A node in a search cluster. This class is multithread safe. */ public static class Node { + private final int key; private final String hostname; private final int fs4port; private final int group; @@ -367,12 +368,16 @@ public class SearchCluster implements NodeManager<SearchCluster.Node> { private final AtomicBoolean working = new AtomicBoolean(true); private final AtomicLong activeDocuments = new AtomicLong(0); - public Node(String hostname, int fs4port, int group) { + public Node(int key, String hostname, int fs4port, int group) { + this.key = key; this.hostname = hostname; this.fs4port = fs4port; this.group = group; } + /** Returns the unique and stable distribution key of this node */ + public int key() { return key; } + public String hostname() { return hostname; } public int fs4port() { return fs4port; } diff --git a/container-search/src/main/java/com/yahoo/search/federation/http/ConfiguredHTTPClientSearcher.java b/container-search/src/main/java/com/yahoo/search/federation/http/ConfiguredHTTPClientSearcher.java index f201861bc0c..8abd6deb5f9 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/http/ConfiguredHTTPClientSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/federation/http/ConfiguredHTTPClientSearcher.java @@ -16,6 +16,7 @@ import com.yahoo.statistics.Statistics; * * @author bratseth */ +@Deprecated public abstract class ConfiguredHTTPClientSearcher extends HTTPClientSearcher { /** Create this from a configuraton */ diff --git a/container-search/src/main/java/com/yahoo/search/federation/http/ConfiguredHTTPProviderSearcher.java b/container-search/src/main/java/com/yahoo/search/federation/http/ConfiguredHTTPProviderSearcher.java index c2a7e6fa640..22c2802c9e8 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/http/ConfiguredHTTPProviderSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/federation/http/ConfiguredHTTPProviderSearcher.java @@ -19,6 +19,7 @@ import java.util.Collections; * @author <a href="mailto:arnebef@yahoo-inc.com">Arne Bergene Fossaa</a> * @author bratseth */ +@Deprecated public abstract class ConfiguredHTTPProviderSearcher extends HTTPProviderSearcher { /** Create this from a configuraton */ diff --git a/container-search/src/main/java/com/yahoo/search/federation/http/HTTPClientSearcher.java b/container-search/src/main/java/com/yahoo/search/federation/http/HTTPClientSearcher.java index 3d36994984d..dc0b5981e63 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/http/HTTPClientSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/federation/http/HTTPClientSearcher.java @@ -91,6 +91,7 @@ import java.util.logging.Logger; * @author <a href="mailto:arnebef@yahoo-inc.com">Arne Bergene Fossaa</a> * @author bratseth */ +@Deprecated public abstract class HTTPClientSearcher extends HTTPSearcher { static final CompoundName REQUEST_META_CARRIER = new CompoundName("com.yahoo.search.federation.http.HTTPClientSearcher_requestMeta"); diff --git a/container-search/src/main/java/com/yahoo/search/federation/http/HTTPProviderSearcher.java b/container-search/src/main/java/com/yahoo/search/federation/http/HTTPProviderSearcher.java index 5348a687253..d0f76b815dc 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/http/HTTPProviderSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/federation/http/HTTPProviderSearcher.java @@ -39,6 +39,7 @@ import java.util.logging.Logger; * @author Arne Bergene Fossaa * @author bratseth */ +@Deprecated public abstract class HTTPProviderSearcher extends HTTPSearcher { private final Counter emptyResults; diff --git a/container-search/src/main/java/com/yahoo/search/federation/http/HTTPSearcher.java b/container-search/src/main/java/com/yahoo/search/federation/http/HTTPSearcher.java index 3707d7fa77a..80e785f0175 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/http/HTTPSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/federation/http/HTTPSearcher.java @@ -136,6 +136,7 @@ import java.util.logging.Logger; * * @author Arne Bergene Fossaa */ +@Deprecated public abstract class HTTPSearcher extends ClusterSearcher<Connection> { protected static final String YCA_HTTP_HEADER = "Yahoo-App-Auth"; diff --git a/container-search/src/main/java/com/yahoo/search/federation/selection/FederationTarget.java b/container-search/src/main/java/com/yahoo/search/federation/selection/FederationTarget.java index 32a5644f29f..7ade9a0eaf9 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/selection/FederationTarget.java +++ b/container-search/src/main/java/com/yahoo/search/federation/selection/FederationTarget.java @@ -13,7 +13,7 @@ import static com.google.common.base.Preconditions.checkNotNull; * along with a timeout and * custom data reserved for use by the TargetSelector. * - * @author tonytv + * @author Tony Vaagenes */ public final class FederationTarget<T> { diff --git a/container-search/src/main/java/com/yahoo/search/federation/selection/TargetSelector.java b/container-search/src/main/java/com/yahoo/search/federation/selection/TargetSelector.java index d4ae147eae7..465ddedbecf 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/selection/TargetSelector.java +++ b/container-search/src/main/java/com/yahoo/search/federation/selection/TargetSelector.java @@ -18,7 +18,7 @@ import java.util.Collection; * 1) call modifyTargetQuery(target, query) * 2) call modifyTargetResult(target, result) * - * @author tonytv + * @author Tony Vaagenes */ public interface TargetSelector<T> { diff --git a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SearchChainInvocationSpec.java b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SearchChainInvocationSpec.java index 4fe41d16d35..6cb8d2ef174 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SearchChainInvocationSpec.java +++ b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SearchChainInvocationSpec.java @@ -12,7 +12,7 @@ import java.util.Objects; * Specifices which search chain should be run and how it should be run. * This is a value object. * - * @author tonytv + * @author Tony Vaagenes */ public class SearchChainInvocationSpec implements Cloneable { diff --git a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SearchChainResolver.java b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SearchChainResolver.java index 66874f1a2f1..97ceee96dfc 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SearchChainResolver.java +++ b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SearchChainResolver.java @@ -37,7 +37,7 @@ import java.util.TreeSet; * o: SearchChainInvocationSpec * </pre> * - * @author tonytv + * @author Tony Vaagenes */ public class SearchChainResolver { diff --git a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SingleTarget.java b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SingleTarget.java index 6e08fa2f966..f4c98075a5a 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SingleTarget.java +++ b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SingleTarget.java @@ -7,7 +7,7 @@ import com.yahoo.processing.request.Properties; /** * TODO: What is this? * -* @author tonytv +* @author Tony Vaagenes */ public class SingleTarget extends Target { private final SearchChainInvocationSpec searchChainInvocationSpec; diff --git a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SourceRefResolver.java b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SourceRefResolver.java index e14c46056b7..ee98d033440 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SourceRefResolver.java +++ b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SourceRefResolver.java @@ -15,7 +15,7 @@ import com.yahoo.processing.request.Properties; /** * Maps a source reference to search chain invocation specs. * - * @author tonytv + * @author Tony Vaagenes */ public class SourceRefResolver { diff --git a/container-search/src/main/java/com/yahoo/search/federation/sourceref/Target.java b/container-search/src/main/java/com/yahoo/search/federation/sourceref/Target.java index cf7276d767e..f23e24525bb 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/sourceref/Target.java +++ b/container-search/src/main/java/com/yahoo/search/federation/sourceref/Target.java @@ -8,7 +8,7 @@ import com.yahoo.processing.request.Properties; /** * TODO: What's this? * - * @author tonytv + * @author Tony Vaagenes */ public abstract class Target extends AbstractComponent { diff --git a/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedProviderException.java b/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedProviderException.java index 087fa0825ff..5075b05454b 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedProviderException.java +++ b/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedProviderException.java @@ -7,7 +7,7 @@ import com.yahoo.component.ComponentSpecification; import static com.yahoo.container.util.Util.quote; /** - * @author tonytv + * @author Tony Vaagenes */ @SuppressWarnings("serial") class UnresolvedProviderException extends UnresolvedSearchChainException { diff --git a/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSearchChainException.java b/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSearchChainException.java index 2763bf52b22..dceae0318b4 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSearchChainException.java +++ b/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSearchChainException.java @@ -3,7 +3,7 @@ package com.yahoo.search.federation.sourceref; /** * Thrown if a search chain can not be resolved from one or more ids. - * @author tonytv + * @author Tony Vaagenes */ @SuppressWarnings("serial") public class UnresolvedSearchChainException extends Exception { diff --git a/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSourceRefException.java b/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSourceRefException.java index 44569a55e22..233e92c1699 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSourceRefException.java +++ b/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSourceRefException.java @@ -6,7 +6,7 @@ import com.yahoo.component.ComponentSpecification; import static com.yahoo.container.util.Util.quote; /** - * @author tonytv + * @author Tony Vaagenes */ @SuppressWarnings("serial") class UnresolvedSourceRefException extends UnresolvedSearchChainException { diff --git a/container-search/src/main/java/com/yahoo/search/federation/vespa/VespaSearcher.java b/container-search/src/main/java/com/yahoo/search/federation/vespa/VespaSearcher.java index dfa4f9ad9bb..b59578ab6a3 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/vespa/VespaSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/federation/vespa/VespaSearcher.java @@ -9,6 +9,7 @@ import java.net.URL; import java.util.Map; import java.util.Set; +import com.yahoo.search.federation.http.ConfiguredHTTPProviderSearcher; import org.xml.sax.InputSource; import org.xml.sax.XMLReader; @@ -28,7 +29,6 @@ import com.yahoo.search.Result; import com.yahoo.search.cache.QrBinaryCacheConfig; import com.yahoo.search.cache.QrBinaryCacheRegionConfig; import com.yahoo.search.federation.ProviderConfig; -import com.yahoo.search.federation.http.ConfiguredHTTPProviderSearcher; import com.yahoo.search.federation.http.Connection; import com.yahoo.search.query.QueryTree; import com.yahoo.search.query.textserialize.TextSerialize; @@ -46,6 +46,7 @@ import edu.umd.cs.findbugs.annotations.Nullable; * @author Arne Bergene Fossaa * @author Steinar Knutsen */ +@Deprecated @Provides("Vespa") @After("*") public class VespaSearcher extends ConfiguredHTTPProviderSearcher { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/Continuation.java b/container-search/src/main/java/com/yahoo/search/grouping/Continuation.java index e7f40b8b447..eda2b449fda 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/Continuation.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/Continuation.java @@ -10,7 +10,7 @@ import com.yahoo.search.grouping.vespa.ContinuationDecoder; * * <p>To render a Cookie within a result set, you simply need to call {@link #toString()}.</p> * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public abstract class Continuation { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/GroupingQueryParser.java b/container-search/src/main/java/com/yahoo/search/grouping/GroupingQueryParser.java index f3af9cf1fc7..94d2340ebee 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/GroupingQueryParser.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/GroupingQueryParser.java @@ -19,7 +19,7 @@ import java.util.*; * also parse any "timezone" parameter as the timezone for time expressions such as {@link * com.yahoo.search.grouping.request.DayOfMonthFunction} and {@link com.yahoo.search.grouping.request.HourOfDayFunction}. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ @After(PhaseNames.RAW_QUERY) @Before(PhaseNames.TRANSFORMED_QUERY) diff --git a/container-search/src/main/java/com/yahoo/search/grouping/GroupingRequest.java b/container-search/src/main/java/com/yahoo/search/grouping/GroupingRequest.java index 52d08cc204f..8ce0d90dfc5 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/GroupingRequest.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/GroupingRequest.java @@ -18,7 +18,7 @@ import java.util.*; * {@link GroupingOperation} using {@link #setRootOperation(GroupingOperation)}. Once the search returns, access the * result {@link Group} using the {@link #getResultGroup(Result)} method. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public class GroupingRequest { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/GroupingValidator.java b/container-search/src/main/java/com/yahoo/search/grouping/GroupingValidator.java index b321915359f..6379c43bc87 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/GroupingValidator.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/GroupingValidator.java @@ -28,7 +28,7 @@ import static com.yahoo.search.grouping.GroupingQueryParser.SELECT_PARAMETER_PAR * cluster for which this searcher has been deployed. This searcher uses exceptions to signal invalid grouping * requests. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ @Before(PhaseNames.BACKEND) @After(SELECT_PARAMETER_PARSING) diff --git a/container-search/src/main/java/com/yahoo/search/grouping/UnavailableAttributeException.java b/container-search/src/main/java/com/yahoo/search/grouping/UnavailableAttributeException.java index 0669bcb3d60..5750f1c78e3 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/UnavailableAttributeException.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/UnavailableAttributeException.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping; * This exception is thrown by the {@link GroupingValidator} if it a {@link GroupingRequest} contains a reference to an * unavailable attribute. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ @SuppressWarnings("serial") public class UnavailableAttributeException extends RuntimeException { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/AddFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/AddFunction.java index 76e49bc975b..8cb27569e67 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/AddFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/AddFunction.java @@ -7,7 +7,7 @@ import java.util.List; * This class represents an add-function in a {@link GroupingExpression}. It evaluates to a number that equals the * result of adding the results of all arguments together in the order they were given to the constructor. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class AddFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/AggregatorNode.java b/container-search/src/main/java/com/yahoo/search/grouping/request/AggregatorNode.java index ef41b18d21d..323f1ac769a 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/AggregatorNode.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/AggregatorNode.java @@ -6,7 +6,7 @@ package com.yahoo.search.grouping.request; * can not be used as a document-level expression (i.e. level 0, see {@link GroupingExpression#resolveLevel(int)}). The * contained expression is evaluated at the level of the aggregator minus 1. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public abstract class AggregatorNode extends GroupingExpression { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/AllOperation.java b/container-search/src/main/java/com/yahoo/search/grouping/request/AllOperation.java index 9d26c4e281d..b809706331f 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/AllOperation.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/AllOperation.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This is a grouping operation that processes the input list as a whole, as opposed to {@link EachOperation} which * processes each element of that list separately. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public class AllOperation extends GroupingOperation { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/AndFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/AndFunction.java index ec4a71c3d24..5f2617acf16 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/AndFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/AndFunction.java @@ -7,7 +7,7 @@ import java.util.List; * This class represents an and-function in a {@link GroupingExpression}. It evaluates to a long that equals the result * of and'ing the results of all arguments together in the order they were given to the constructor. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class AndFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/AttributeFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/AttributeFunction.java index d917d633e4e..faf565647c7 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/AttributeFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/AttributeFunction.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This class represents a document attribute function in a {@link GroupingExpression}. It evaluates to the value of the * named attribute in the input {@link com.yahoo.search.result.Hit}. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public class AttributeFunction extends DocumentValue { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/AttributeValue.java b/container-search/src/main/java/com/yahoo/search/grouping/request/AttributeValue.java index ba50cb42b13..d83888b3107 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/AttributeValue.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/AttributeValue.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This class represents a document attribute value in a {@link GroupingExpression}. It evaluates to the value of the * named attribute in the input {@link com.yahoo.search.result.Hit}. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public class AttributeValue extends DocumentValue { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/AvgAggregator.java b/container-search/src/main/java/com/yahoo/search/grouping/request/AvgAggregator.java index 4ac64ef35fc..d7e3232ea5f 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/AvgAggregator.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/AvgAggregator.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This class represents an average-aggregator in a {@link GroupingExpression}. It evaluates to the average value that * the contained expression evaluated to over all the inputs. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class AvgAggregator extends AggregatorNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/AvgFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/AvgFunction.java index aed409361b3..55c4d355589 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/AvgFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/AvgFunction.java @@ -7,7 +7,7 @@ import java.util.List; * This class represents a min-function in a {@link GroupingExpression}. It evaluates to a number that equals the * average of the results of all arguments. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class AvgFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/BucketResolver.java b/container-search/src/main/java/com/yahoo/search/grouping/request/BucketResolver.java index bb54b0e5a02..c36c8af5c34 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/BucketResolver.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/BucketResolver.java @@ -11,7 +11,7 @@ import java.util.List; * {@link #resolve(GroupingExpression)} to retrieve the list of corresponding * grouping expression object. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class BucketResolver { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/BucketValue.java b/container-search/src/main/java/com/yahoo/search/grouping/request/BucketValue.java index b053f7ede43..c73b7199394 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/BucketValue.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/BucketValue.java @@ -6,7 +6,7 @@ package com.yahoo.search.grouping.request; * 'from' and 'to'. The range is inclusive-from and exclusive-to. All supported data types are represented as subclasses * of this. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class BucketValue extends GroupingExpression implements Comparable<BucketValue> { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/CatFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/CatFunction.java index ae6161ec9d9..5e51c8e35a0 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/CatFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/CatFunction.java @@ -7,7 +7,7 @@ import java.util.List; * This class represents a cat-function in a {@link GroupingExpression}. It evaluates to a byte array that equals the * concatenation of the binary result of all arguments in the order they were given to the constructor. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class CatFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/ConstantValue.java b/container-search/src/main/java/com/yahoo/search/grouping/request/ConstantValue.java index b986cf2efb9..ad8c1ef1cc9 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/ConstantValue.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/ConstantValue.java @@ -6,7 +6,7 @@ package com.yahoo.search.grouping.request; * this expression type can be used at any input level (see {@link GroupingExpression#resolveLevel(int)}). All supported * data types are represented as subclasses of this. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ @SuppressWarnings("rawtypes") public abstract class ConstantValue<T extends Comparable> extends GroupingExpression { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/CountAggregator.java b/container-search/src/main/java/com/yahoo/search/grouping/request/CountAggregator.java index 39f9c31766b..19a6c939087 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/CountAggregator.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/CountAggregator.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This class represents an count-aggregator in a {@link GroupingExpression}. It evaluates to the number of elements * there are in the input. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class CountAggregator extends AggregatorNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DateFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DateFunction.java index bcf81f1fbe6..b3a4c451b6b 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DateFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DateFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents a timestamp-formatter function in a {@link GroupingExpression}. It evaluates to a string on the * form "YYYY-MM-DD" of the result of the argument. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class DateFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfMonthFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfMonthFunction.java index 55b99c26ad7..5d82a80352b 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfMonthFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfMonthFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents a day-of-month timestamp-function in a {@link GroupingExpression}. It evaluates to a long that * equals the day of month (1-31) of the result of the argument. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class DayOfMonthFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfWeekFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfWeekFunction.java index 2b30968456e..f2135427bf5 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfWeekFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfWeekFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents a day-of-week timestamp-function in a {@link GroupingExpression}. It evaluates to a long that * equals the day of week (0 - 6) of the result of the argument, Monday being 0. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class DayOfWeekFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfYearFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfYearFunction.java index 0589b960b98..15f158ef2f1 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfYearFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DayOfYearFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents a day-of-year timestamp-function in a {@link GroupingExpression}. It evaluates to a long that * equals the day of year (0-365) of the result of the argument. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class DayOfYearFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DivFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DivFunction.java index ad5e339bae6..f50dcde2d56 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DivFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DivFunction.java @@ -8,7 +8,7 @@ import java.util.List; * of dividing the results of all arguments in the order they were given to the constructor (divide first argument by * second, result by third, ...). * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class DivFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DocIdNsSpecificValue.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DocIdNsSpecificValue.java index b350d38fde3..188e642e7d7 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DocIdNsSpecificValue.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DocIdNsSpecificValue.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This class represents a document id specific value in a {@link GroupingExpression}. It evaluates to the namespace- * specific value of the document id of the input {@link com.yahoo.search.result.Hit}. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public class DocIdNsSpecificValue extends DocumentValue { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DocumentValue.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DocumentValue.java index 57eb88a67d3..f8756b81163 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DocumentValue.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DocumentValue.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This class represents a document value in a {@link GroupingExpression}. As such, the subclasses of this can only be * used as document-level expressions (i.e. level 0, see {@link GroupingExpression#resolveLevel(int)}). * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public abstract class DocumentValue extends GroupingExpression { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DoubleBucket.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DoubleBucket.java index 5cbfd2b4ee4..d71ec8093fd 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DoubleBucket.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DoubleBucket.java @@ -5,7 +5,7 @@ import java.text.ChoiceFormat; /** * This class represents a {@link Double} bucket in a {@link PredefinedFunction}. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class DoubleBucket extends BucketValue { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DoublePredefined.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DoublePredefined.java index 227a95b1d3f..d43e8412623 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DoublePredefined.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DoublePredefined.java @@ -7,7 +7,7 @@ import java.util.List; * This class represents a predefined bucket-function in a {@link GroupingExpression} for expressions that evaluate to a * double. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class DoublePredefined extends PredefinedFunction { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DoubleValue.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DoubleValue.java index 867683c94ef..5dad65aaabf 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/DoubleValue.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DoubleValue.java @@ -4,7 +4,7 @@ package com.yahoo.search.grouping.request; /** * This class represents a constant {@link Double} value in a {@link GroupingExpression}. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class DoubleValue extends ConstantValue<Double> { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/EachOperation.java b/container-search/src/main/java/com/yahoo/search/grouping/request/EachOperation.java index db501f2325a..1a7074a2c6e 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/EachOperation.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/EachOperation.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This is a grouping operation that processes each element of the input list separately, as opposed to {@link * AllOperation} which processes that list as a whole. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class EachOperation extends GroupingOperation { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/ExpressionVisitor.java b/container-search/src/main/java/com/yahoo/search/grouping/request/ExpressionVisitor.java index 84626061a3f..a341bee2568 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/ExpressionVisitor.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/ExpressionVisitor.java @@ -6,7 +6,7 @@ package com.yahoo.search.grouping.request; * GroupingOperation}. It is used by the {@link com.yahoo.search.grouping.GroupingValidator} to ensure that all * referenced attributes are valid for the cluster being queried. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public interface ExpressionVisitor { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/FixedWidthFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/FixedWidthFunction.java index 0898439da87..f44394c6193 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/FixedWidthFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/FixedWidthFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents a fixed-width bucket-function in a {@link GroupingExpression}. It maps the input into the given * number of buckets by the result of the argument expression. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class FixedWidthFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/FunctionNode.java b/container-search/src/main/java/com/yahoo/search/grouping/request/FunctionNode.java index ce4442fa781..1a059d79b1a 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/FunctionNode.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/FunctionNode.java @@ -8,7 +8,7 @@ import java.util.*; * to {@link AggregatorNode} and {@link DocumentValue} that operate on inputs), this expression type can be used at any * input level (see {@link GroupingExpression#resolveLevel(int)}). * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public abstract class FunctionNode extends GroupingExpression implements Iterable<GroupingExpression> { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingExpression.java b/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingExpression.java index d15608fcbeb..2f7691156e5 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingExpression.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingExpression.java @@ -9,7 +9,7 @@ import java.util.List; * This class represents an expression in a {@link GroupingOperation}. You may manually construct this expression, or * you may use the {@link com.yahoo.search.grouping.request.parser.GroupingParser} to generate one from a query-string. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public abstract class GroupingExpression extends GroupingNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingNode.java b/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingNode.java index 918bff3c218..148b4243a4b 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingNode.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingNode.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This is the abstract super class of both {@link GroupingOperation} and {@link GroupingExpression}. All nodes can be * assigned a {@link String} label which in turn can be used to identify the corresponding result objects. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public abstract class GroupingNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingOperation.java b/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingOperation.java index ccce5fa8241..4c29ca7d98d 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingOperation.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingOperation.java @@ -16,7 +16,7 @@ import java.util.*; * com.yahoo.search.grouping.GroupingRequest} using the {@link com.yahoo.search.grouping.GroupingRequest#setRootOperation(GroupingOperation)} * method. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public abstract class GroupingOperation extends GroupingNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/HourOfDayFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/HourOfDayFunction.java index 42982df637d..faf1c1e0289 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/HourOfDayFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/HourOfDayFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents an hour-of-day timestamp-function in a {@link GroupingExpression}. It evaluates to a long that * equals the hour of day (0-23) of the result of the argument. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class HourOfDayFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/LongBucket.java b/container-search/src/main/java/com/yahoo/search/grouping/request/LongBucket.java index cd8e807b1a6..fd363320033 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/LongBucket.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/LongBucket.java @@ -4,7 +4,7 @@ package com.yahoo.search.grouping.request; /** * This class represents a {@link Long} bucket in a {@link PredefinedFunction}. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class LongBucket extends BucketValue { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/LongPredefined.java b/container-search/src/main/java/com/yahoo/search/grouping/request/LongPredefined.java index ee9d57b5b30..98acc800ed7 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/LongPredefined.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/LongPredefined.java @@ -7,7 +7,7 @@ import java.util.List; * This class represents a predefined bucket-function in a {@link GroupingExpression} for expressions that evaluate to a * long. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class LongPredefined extends PredefinedFunction { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/LongValue.java b/container-search/src/main/java/com/yahoo/search/grouping/request/LongValue.java index 2f5d833a5be..4c4eb1c409d 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/LongValue.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/LongValue.java @@ -4,7 +4,7 @@ package com.yahoo.search.grouping.request; /** * This class represents a constant {@link Long} value in a {@link GroupingExpression}. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public class LongValue extends ConstantValue<Long> { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MathResolver.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MathResolver.java index 75b897a60c1..8aa841930e3 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MathResolver.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MathResolver.java @@ -10,7 +10,7 @@ import java.util.Stack; * operation simply push operator-expression pairs onto it, before calling {@link #resolve()} to retrieve the single * corresponding grouping expression object. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class MathResolver { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MaxAggregator.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MaxAggregator.java index 7de8dd62f27..54dc7c6b3bd 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MaxAggregator.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MaxAggregator.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This class represents an maximum-aggregator in a {@link GroupingExpression}. It evaluates to the maximum value that * the contained expression evaluated to over all the inputs. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class MaxAggregator extends AggregatorNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MaxFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MaxFunction.java index 570379afe66..731c1c4eba4 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MaxFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MaxFunction.java @@ -7,7 +7,7 @@ import java.util.List; * This class represents a max-function in a {@link GroupingExpression}. It evaluates to a number that equals the * largest of the results of all arguments. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class MaxFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/Md5Function.java b/container-search/src/main/java/com/yahoo/search/grouping/request/Md5Function.java index 701a2d1cc38..6ae33b804e9 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/Md5Function.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/Md5Function.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents an md5-function in a {@link GroupingExpression}. It evaluates to a long that equals the md5 of * the result of the argument. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class Md5Function extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MinAggregator.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MinAggregator.java index c15fa4cb954..1a24527dcfc 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MinAggregator.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MinAggregator.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This class represents an minimum-aggregator in a {@link GroupingExpression}. It evaluates to the minimum value that * the contained expression evaluated to over all the inputs. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class MinAggregator extends AggregatorNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MinFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MinFunction.java index 05f6f9d9abf..478684dd73e 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MinFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MinFunction.java @@ -7,7 +7,7 @@ import java.util.List; * This class represents a min-function in a {@link GroupingExpression}. It evaluates to a number that equals the * smallest of the results of all arguments. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class MinFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MinuteOfHourFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MinuteOfHourFunction.java index 81815490bf1..d2442b8455e 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MinuteOfHourFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MinuteOfHourFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents a minute-of-hour timestamp-function in a {@link GroupingExpression}. It evaluates to a long * that equals the minute of hour (0-59) of the result of the argument. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class MinuteOfHourFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/ModFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/ModFunction.java index ac6bee5a04e..a3fd1041e6e 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/ModFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/ModFunction.java @@ -8,7 +8,7 @@ import java.util.List; * of mod'ing the results of all arguments in the order they were given to the constructor (modulo first argument by * second, result by third, ...). * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class ModFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MonthOfYearFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MonthOfYearFunction.java index 4540efff23e..96e08562e42 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MonthOfYearFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MonthOfYearFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents a month-of-year timestamp-function in a {@link GroupingExpression}. It evaluates to a long that * equals the month of year (1-12) of the result of the argument. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class MonthOfYearFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MulFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MulFunction.java index 60b4729ce33..84584270f58 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MulFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MulFunction.java @@ -7,7 +7,7 @@ import java.util.List; * This class represents a mul-function in a {@link GroupingExpression}. It evaluates to a number that equals the result * of multiplying the results of all arguments together in the order they were given to the constructor. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class MulFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/NegFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/NegFunction.java index 1429f3a8605..7e05b02b59e 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/NegFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/NegFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents a negate-function in a {@link GroupingExpression}. It evaluates to a number that equals the * negative of the results of the argument. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class NegFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/NowFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/NowFunction.java index ae1cd4f247d..24dd888e98d 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/NowFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/NowFunction.java @@ -7,7 +7,7 @@ import java.util.Collections; * This class represents a now-function in a {@link GroupingExpression}. It evaluates to a long that equals the number * of seconds since midnight, January 1, 1970 UTC. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class NowFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/OrFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/OrFunction.java index 592709c4c91..ad1809f312f 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/OrFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/OrFunction.java @@ -7,7 +7,7 @@ import java.util.List; * This class represents an or-function in a {@link GroupingExpression}. It evaluates to a long that equals the result * of or'ing the results of all arguments together in the order they were given to the constructor. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class OrFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/PredefinedFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/PredefinedFunction.java index 7f880ffc2fc..ebae4b238b4 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/PredefinedFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/PredefinedFunction.java @@ -9,7 +9,7 @@ import java.util.List; * This class represents a predefined bucket-function in a {@link GroupingExpression}. It maps the input into one of the * given buckets by the result of the argument expression. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public abstract class PredefinedFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/RelevanceValue.java b/container-search/src/main/java/com/yahoo/search/grouping/request/RelevanceValue.java index 84a1ca34c24..01735c0bdab 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/RelevanceValue.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/RelevanceValue.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This class represents a document relevance score in a {@link GroupingExpression}. It evaluates to the relevance of * the input {@link com.yahoo.search.result.Hit}. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public class RelevanceValue extends DocumentValue { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/SecondOfMinuteFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/SecondOfMinuteFunction.java index 8402f607a33..b83065af629 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/SecondOfMinuteFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/SecondOfMinuteFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents a second-of-minute timestamp-function in a {@link GroupingExpression}. It evaluates to a long * that equals the second of minute (0-59) of the result of the argument. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class SecondOfMinuteFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/SizeFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/SizeFunction.java index 4366446f84e..4b7055ffb89 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/SizeFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/SizeFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents a size-function in a {@link GroupingExpression}. It evaluates to a number that equals the * number of elements in the result of the argument (e.g. the number of elements in an array). * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class SizeFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/StrCatFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/StrCatFunction.java index d0fd495cc42..97dcc909254 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/StrCatFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/StrCatFunction.java @@ -7,7 +7,7 @@ import java.util.List; * This class represents a strcat-function in a {@link GroupingExpression}. It evaluates to a string that equals the * contatenation of the string results of all arguments in the order they were given to the constructor. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class StrCatFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/StrLenFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/StrLenFunction.java index 2aaefa8e99a..e9ca48b3db3 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/StrLenFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/StrLenFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents a strcat-function in a {@link GroupingExpression}. It evaluates to a long that equals the * number of bytes in the string result of the argument. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class StrLenFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/StringBucket.java b/container-search/src/main/java/com/yahoo/search/grouping/request/StringBucket.java index fbbe08dbcf4..80e85ed9e78 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/StringBucket.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/StringBucket.java @@ -4,7 +4,7 @@ package com.yahoo.search.grouping.request; /** * This class represents a {@link String} bucket in a {@link PredefinedFunction}. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class StringBucket extends BucketValue { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/StringPredefined.java b/container-search/src/main/java/com/yahoo/search/grouping/request/StringPredefined.java index 618f5e3bb25..465ff96157d 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/StringPredefined.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/StringPredefined.java @@ -7,7 +7,7 @@ import java.util.List; * This class represents a predefined bucket-function in a {@link GroupingExpression} for expressions that evaluate to a * string. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class StringPredefined extends PredefinedFunction { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/StringValue.java b/container-search/src/main/java/com/yahoo/search/grouping/request/StringValue.java index 78bc8960fc7..4fc630c7b1b 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/StringValue.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/StringValue.java @@ -4,7 +4,7 @@ package com.yahoo.search.grouping.request; /** * This class represents a constant {@link String} value in a {@link GroupingExpression}. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class StringValue extends ConstantValue<String> { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/SubFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/SubFunction.java index e28f6f3b412..1d0456ffcf2 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/SubFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/SubFunction.java @@ -8,7 +8,7 @@ import java.util.List; * of subtracting the results of all arguments in the order they were given to the constructor (subtract second argument * from first, third from result, ...). * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class SubFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/SumAggregator.java b/container-search/src/main/java/com/yahoo/search/grouping/request/SumAggregator.java index 369f5637e8f..b50dd84e27e 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/SumAggregator.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/SumAggregator.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This class represents an sum-aggregator in a {@link GroupingExpression}. It evaluates to the sum of the values that * the contained expression evaluated to over all the inputs. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class SumAggregator extends AggregatorNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/SummaryValue.java b/container-search/src/main/java/com/yahoo/search/grouping/request/SummaryValue.java index e4358f4d57d..6cdaa3b2e4a 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/SummaryValue.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/SummaryValue.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This class represents a document summary in a {@link GroupingExpression}. It evaluates to the summary of the input * {@link com.yahoo.search.result.Hit} that corresponds to the named summary class. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public class SummaryValue extends DocumentValue { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/TimeFunctions.java b/container-search/src/main/java/com/yahoo/search/grouping/request/TimeFunctions.java index 3b1040a0b2e..c12d32044da 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/TimeFunctions.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/TimeFunctions.java @@ -6,7 +6,7 @@ package com.yahoo.search.grouping.request; * per-function factory methods, this class also contains a {@link #newInstance(com.yahoo.search.grouping.request.TimeFunctions.Type, * GroupingExpression)} method which is useful for runtime construction of grouping requests. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public abstract class TimeFunctions { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/XorAggregator.java b/container-search/src/main/java/com/yahoo/search/grouping/request/XorAggregator.java index 31cbe46e0cb..18ce7abd96c 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/XorAggregator.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/XorAggregator.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This class represents an xor-aggregator in a {@link GroupingExpression}. It evaluates to the xor of the values that * the contained expression evaluated to over all the inputs. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class XorAggregator extends AggregatorNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/XorBitFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/XorBitFunction.java index 21928a2f060..2f6061a3aa2 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/XorBitFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/XorBitFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents an xor-function in a {@link GroupingExpression}. It evaluates to a long that equals the xor of * 'width' bits over the binary representation of the result of the argument. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class XorBitFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/XorFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/XorFunction.java index d0fbac7e055..c3a5f5d88ad 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/XorFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/XorFunction.java @@ -7,7 +7,7 @@ import java.util.List; * This class represents an xor-function in a {@link GroupingExpression}. It evaluates to a long that equals the result * of and'ing the results of all arguments together in the order they were given to the constructor. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class XorFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/YearFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/YearFunction.java index 9d880939892..5bda8231929 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/YearFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/YearFunction.java @@ -7,7 +7,7 @@ import java.util.Arrays; * This class represents a year timestamp-function in a {@link GroupingExpression}. It evaluates to a long that equals * the full year (e.g. 2010) of the result of the argument. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class YearFunction extends FunctionNode { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/YmumValue.java b/container-search/src/main/java/com/yahoo/search/grouping/request/YmumValue.java index 7bec89f6218..c5749c4673d 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/YmumValue.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/YmumValue.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.request; * This class represents a document checksum in a {@link GroupingExpression}. It evaluates to the YMUM checksum of the * input {@link com.yahoo.search.result.Hit}. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class YmumValue extends DocumentValue { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/parser/GroupingParserInput.java b/container-search/src/main/java/com/yahoo/search/grouping/request/parser/GroupingParserInput.java index 0c71348d368..189281485da 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/parser/GroupingParserInput.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/parser/GroupingParserInput.java @@ -4,7 +4,7 @@ package com.yahoo.search.grouping.request.parser; import com.yahoo.javacc.FastCharStream; /** - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class GroupingParserInput extends FastCharStream implements CharStream { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/AbstractList.java b/container-search/src/main/java/com/yahoo/search/grouping/result/AbstractList.java index e4c351149f6..baa6c4c4253 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/AbstractList.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/AbstractList.java @@ -9,7 +9,7 @@ import java.util.HashMap; import java.util.Map; /** - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public abstract class AbstractList extends HitGroup { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/BucketGroupId.java b/container-search/src/main/java/com/yahoo/search/grouping/result/BucketGroupId.java index 7ee55e85479..07729b4524a 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/BucketGroupId.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/BucketGroupId.java @@ -7,7 +7,7 @@ import static com.yahoo.text.Lowercase.toLowerCase; * This abstract class is used in {@link Group} instances where the identifying expression evaluated to a {@link * com.yahoo.search.grouping.request.BucketValue}. The range is inclusive-from and exclusive-to. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public abstract class BucketGroupId<T> extends GroupId { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/DoubleBucketId.java b/container-search/src/main/java/com/yahoo/search/grouping/result/DoubleBucketId.java index 5b9ae94b3a2..3a85f32c790 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/DoubleBucketId.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/DoubleBucketId.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.result; * This class is used in {@link Group} instances where the identifying expression evaluated to a {@link * com.yahoo.search.grouping.request.DoubleBucket}. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class DoubleBucketId extends BucketGroupId<Double> { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/DoubleId.java b/container-search/src/main/java/com/yahoo/search/grouping/result/DoubleId.java index d74140d3778..114d0c62cb9 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/DoubleId.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/DoubleId.java @@ -4,7 +4,7 @@ package com.yahoo.search.grouping.result; /** * This class is used in {@link Group} instances where the identifying expression evaluated to a {@link Double}. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class DoubleId extends ValueGroupId<Double> { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/Group.java b/container-search/src/main/java/com/yahoo/search/grouping/result/Group.java index c0c6c67e463..2a1e3199d7d 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/Group.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/Group.java @@ -10,7 +10,7 @@ import com.yahoo.search.result.Relevance; * as fields, use {@link #getField(String)} to access), {@link GroupList} and {@link HitList}. Use the {@link * com.yahoo.search.grouping.GroupingRequest#getResultGroup(com.yahoo.search.Result)} to retrieve an instance of this. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public class Group extends HitGroup { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/GroupId.java b/container-search/src/main/java/com/yahoo/search/grouping/result/GroupId.java index 81ce8b7573b..27be1209bbc 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/GroupId.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/GroupId.java @@ -10,7 +10,7 @@ package com.yahoo.search.grouping.result; * The {@link #toString()} method of this class generates a URI-compatible string on the form * "group:<typeName>:<subclassSpecific>". * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public abstract class GroupId { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/GroupList.java b/container-search/src/main/java/com/yahoo/search/grouping/result/GroupList.java index ca51be8702f..2788ece2c36 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/GroupList.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/GroupList.java @@ -9,7 +9,7 @@ import com.yahoo.search.grouping.GroupingRequest; * contains one or more {@link Group groups} itself, allowing for a hierarchy of grouping results. Use the {@link * GroupingRequest#getResultGroup(Result)} to retrieve grouping results. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class GroupList extends AbstractList { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/HitList.java b/container-search/src/main/java/com/yahoo/search/grouping/result/HitList.java index 8f4d72012a6..03e0f7e6d59 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/HitList.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/HitList.java @@ -10,7 +10,7 @@ import com.yahoo.search.result.Hit; * contains one or more {@link Hit hits} itself, making this the parent of leaf nodes in the hierarchy of grouping * results. Use the {@link GroupingRequest#getResultGroup(Result)} to retrieve grouping results.</p> * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public class HitList extends AbstractList { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/HitRenderer.java b/container-search/src/main/java/com/yahoo/search/grouping/result/HitRenderer.java index 37906c8012f..3907f87a276 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/HitRenderer.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/HitRenderer.java @@ -13,7 +13,7 @@ import java.util.Map; /** * This is a helper class for rendering grouping results. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public abstract class HitRenderer { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/LongBucketId.java b/container-search/src/main/java/com/yahoo/search/grouping/result/LongBucketId.java index 219356d6799..4a9d403c33d 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/LongBucketId.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/LongBucketId.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.result; * This class is used in {@link Group} instances where the identifying expression evaluated to a {@link * com.yahoo.search.grouping.request.LongBucket}. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class LongBucketId extends BucketGroupId<Long> { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/LongId.java b/container-search/src/main/java/com/yahoo/search/grouping/result/LongId.java index 4c6fe465eb6..7254e488deb 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/LongId.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/LongId.java @@ -4,7 +4,7 @@ package com.yahoo.search.grouping.result; /** * This class is used in {@link Group} instances where the identifying expression evaluated to a {@link Long}. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class LongId extends ValueGroupId<Long> { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/NullId.java b/container-search/src/main/java/com/yahoo/search/grouping/result/NullId.java index 98e74fbf1b1..6edf1cabca9 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/NullId.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/NullId.java @@ -6,7 +6,7 @@ package com.yahoo.search.grouping.result; * fall outside the buckets of a {@link com.yahoo.search.grouping.request.PredefinedFunction} are added to an * auto-generated group with this id. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class NullId extends GroupId { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/RawId.java b/container-search/src/main/java/com/yahoo/search/grouping/result/RawId.java index 9b347bb950d..11720756754 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/RawId.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/RawId.java @@ -6,7 +6,7 @@ import java.util.Arrays; /** * This class is used in {@link Group} instances where the identifying expression evaluated to a {@link Byte} array. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class RawId extends ValueGroupId<byte[]> { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/RootGroup.java b/container-search/src/main/java/com/yahoo/search/grouping/result/RootGroup.java index 360daa7a0b1..571ad2d3365 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/RootGroup.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/RootGroup.java @@ -8,7 +8,7 @@ import com.yahoo.search.result.Relevance; * This class represents the root {@link Group} in the grouping result model. This class adds a {@link Continuation} * object that can be used to paginate the result. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class RootGroup extends Group { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/RootId.java b/container-search/src/main/java/com/yahoo/search/grouping/result/RootId.java index e4650de610b..d5667dd0383 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/RootId.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/RootId.java @@ -4,7 +4,7 @@ package com.yahoo.search.grouping.result; /** * This class is used in {@link RootGroup} instances. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class RootId extends GroupId { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/StringBucketId.java b/container-search/src/main/java/com/yahoo/search/grouping/result/StringBucketId.java index 9eebb110aab..e34b50e6df8 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/StringBucketId.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/StringBucketId.java @@ -5,7 +5,7 @@ package com.yahoo.search.grouping.result; * This class is used in {@link Group} instances where the identifying expression evaluated to a {@link * com.yahoo.search.grouping.request.StringBucket}. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class StringBucketId extends BucketGroupId<String> { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/StringId.java b/container-search/src/main/java/com/yahoo/search/grouping/result/StringId.java index 3eea3220c83..4448d587a03 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/StringId.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/StringId.java @@ -4,7 +4,7 @@ package com.yahoo.search.grouping.result; /** * This class is used in {@link Group} instances where the identifying expression evaluated to a {@link String}. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class StringId extends ValueGroupId<String> { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/ValueGroupId.java b/container-search/src/main/java/com/yahoo/search/grouping/result/ValueGroupId.java index 17945b8b5bd..bebd3fd85b0 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/result/ValueGroupId.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/result/ValueGroupId.java @@ -6,7 +6,7 @@ import static com.yahoo.text.Lowercase.toLowerCase; /** * This abstract class is used in {@link Group} instances where the identifying expression evaluated to a singe value. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public abstract class ValueGroupId<T> extends GroupId { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/CompositeContinuation.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/CompositeContinuation.java index 5d83ff813c7..a02b80db16f 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/CompositeContinuation.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/CompositeContinuation.java @@ -8,7 +8,7 @@ import java.util.Iterator; import java.util.List; /** - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ class CompositeContinuation extends EncodableContinuation implements Iterable<EncodableContinuation> { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/ContinuationDecoder.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/ContinuationDecoder.java index b3dab1cf527..151524e0350 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/ContinuationDecoder.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/ContinuationDecoder.java @@ -4,7 +4,7 @@ package com.yahoo.search.grouping.vespa; import com.yahoo.search.grouping.Continuation; /** - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ public class ContinuationDecoder { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/EncodableContinuation.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/EncodableContinuation.java index 47c9f34ffbe..2ec371475c2 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/EncodableContinuation.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/EncodableContinuation.java @@ -4,7 +4,7 @@ package com.yahoo.search.grouping.vespa; import com.yahoo.search.grouping.Continuation; /** - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ abstract class EncodableContinuation extends Continuation { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/ExpressionConverter.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/ExpressionConverter.java index 4ce50335b2f..d2dfb3c0ee7 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/ExpressionConverter.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/ExpressionConverter.java @@ -156,7 +156,7 @@ import com.yahoo.searchlib.expression.ZCurveFunctionNode; * This is a helper class for {@link RequestBuilder} that offloads the code to convert {@link GroupingExpression} type * objects to back-end specific expressions. This is a straightforward one-to-one conversion. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ class ExpressionConverter { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java index ae128e70f20..bf7eb8dc12e 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingExecutor.java @@ -37,7 +37,7 @@ import com.yahoo.vespa.objects.ObjectPredicate; * transformation from the abstract request to Vespa grouping expressions (using {@link RequestBuilder}), and the * corresponding transformation of results (using {@link ResultBuilder}). * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ @After({ GroupingValidator.GROUPING_VALIDATED, "com.yahoo.search.querytransform.WandSearcher", diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingTransform.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingTransform.java index a0a3f1b4e55..e58448ea2ef 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingTransform.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingTransform.java @@ -13,7 +13,7 @@ import java.util.Set; * transformed into a list {@link com.yahoo.searchlib.aggregation.Grouping} objects, so that the results of those * queries can be transformed into something that corresponds to the original request. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ class GroupingTransform { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/HitConverter.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/HitConverter.java index 617c037d2a7..1d7d380f4db 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/HitConverter.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/HitConverter.java @@ -13,7 +13,7 @@ import com.yahoo.searchlib.aggregation.VdsHit; /** * Implementation of the {@link ResultBuilder.HitConverter} interface for {@link GroupingExecutor}. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ class HitConverter implements ResultBuilder.HitConverter { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/IntegerDecoder.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/IntegerDecoder.java index a92238fa0a0..e1a222d6bc0 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/IntegerDecoder.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/IntegerDecoder.java @@ -2,7 +2,7 @@ package com.yahoo.search.grouping.vespa; /** - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ class IntegerDecoder { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/IntegerEncoder.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/IntegerEncoder.java index 5cd1ee1fc13..b17991b22f1 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/IntegerEncoder.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/IntegerEncoder.java @@ -2,7 +2,7 @@ package com.yahoo.search.grouping.vespa; /** - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ class IntegerEncoder { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/OffsetContinuation.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/OffsetContinuation.java index 7aff32a5847..6adec94132e 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/OffsetContinuation.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/OffsetContinuation.java @@ -2,7 +2,7 @@ package com.yahoo.search.grouping.vespa; /** - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ class OffsetContinuation extends EncodableContinuation { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/RequestBuilder.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/RequestBuilder.java index 6a35e599eba..46b1fecd7de 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/RequestBuilder.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/RequestBuilder.java @@ -17,7 +17,7 @@ import java.util.*; * This class implements the necessary logic to build a list of {@link Grouping} objects from an instance of {@link * GroupingOperation}. It is used by the {@link GroupingExecutor}. * - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ class RequestBuilder { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/ResultBuilder.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/ResultBuilder.java index 2bb752122ba..7e2404c34e8 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/ResultBuilder.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/ResultBuilder.java @@ -52,7 +52,7 @@ import java.util.Map; * This class implements the necessary logic to build a {@link RootGroup} from a list of {@link Grouping} objects. It is * used by the {@link GroupingExecutor}. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ class ResultBuilder { @@ -383,7 +383,7 @@ class ResultBuilder { * Defines a helper interface to convert Vespa style grouping hits into corresponding instances of {@link Hit}. It * is an interface to simplify testing. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public interface HitConverter { diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/ResultId.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/ResultId.java index 21fa8b2f553..0d09e7ab69d 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/ResultId.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/ResultId.java @@ -4,7 +4,7 @@ package com.yahoo.search.grouping.vespa; import java.util.Arrays; /** - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen Hult */ class ResultId { diff --git a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java index e9e4e34727c..3bfaee658f9 100644 --- a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java +++ b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java @@ -20,8 +20,8 @@ import com.yahoo.container.jdisc.LoggingRequestHandler; import com.yahoo.container.jdisc.VespaHeaders; import com.yahoo.container.logging.AccessLog; import com.yahoo.container.protect.FreezeDetector; +import com.yahoo.io.IOUtils; import com.yahoo.jdisc.Metric; -import com.yahoo.jdisc.Response; import com.yahoo.language.Linguistics; import com.yahoo.log.LogLevel; import com.yahoo.net.HostName; @@ -33,6 +33,9 @@ import com.yahoo.prelude.query.parser.ParseException; import com.yahoo.prelude.query.parser.SpecialTokenRegistry; import com.yahoo.processing.rendering.Renderer; import com.yahoo.processing.request.CompoundName; +import com.yahoo.slime.Inspector; +import com.yahoo.slime.ObjectTraverser; +import com.yahoo.vespa.config.SlimeUtils; import com.yahoo.yolean.Exceptions; import com.yahoo.search.Query; import com.yahoo.search.Result; @@ -55,9 +58,10 @@ import com.yahoo.statistics.Statistics; import com.yahoo.statistics.Value; import com.yahoo.vespa.configdefinition.SpecialtokensConfig; import edu.umd.cs.findbugs.annotations.NonNull; - -import java.util.ArrayList; -import java.util.Iterator; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.HashMap; +import java.util.Map; import java.util.Optional; import java.util.concurrent.Executor; import java.util.concurrent.ThreadPoolExecutor; @@ -82,6 +86,8 @@ public class SearchHandler extends LoggingRequestHandler { /** Event name for number of connections to the search subsystem */ private static final String SEARCH_CONNECTIONS = "search_connections"; + private static final String JSON_CONTENT_TYPE = "application/json"; + private static Logger log = Logger.getLogger(SearchHandler.class.getName()); private Value searchConnections; @@ -275,14 +281,14 @@ public class SearchHandler extends LoggingRequestHandler { return errorResponse(request, ErrorMessage.createInternalServerError(Exceptions.toMessageString(e))); } - private HttpSearchResponse handleBody(HttpRequest request) { + + private HttpSearchResponse handleBody(HttpRequest request){ // Find query profile String queryProfileName = request.getProperty("queryProfile"); CompiledQueryProfile queryProfile = queryProfileRegistry.findQueryProfile(queryProfileName); boolean benchmarkOutput = VespaHeaders.benchmarkOutput(request); - // Create query - Query query = new Query(request, queryProfile); + Query query = queryFromRequest(request, queryProfile); boolean benchmarkCoverage = VespaHeaders.benchmarkCoverage(benchmarkOutput, request.getJDiscRequest().headers()); @@ -552,4 +558,60 @@ public class SearchHandler extends LoggingRequestHandler { return searchChainRegistry; } + private Query queryFromRequest(HttpRequest request, CompiledQueryProfile queryProfile){ + if (request.getMethod() == com.yahoo.jdisc.http.HttpRequest.Method.POST + && JSON_CONTENT_TYPE.equals(request.getHeader(com.yahoo.jdisc.http.HttpHeaders.Names.CONTENT_TYPE))) { + Inspector inspector; + try { + byte[] byteArray = IOUtils.readBytes(request.getData(), 1 << 20); + inspector = SlimeUtils.jsonToSlime(byteArray).get(); + if (inspector.field("error_message").valid()){ + throw new QueryException("Illegal query: "+inspector.field("error_message").asString() + ", at: "+ new String(inspector.field("offending_input").asData(), StandardCharsets.UTF_8)); + } + + } catch (IOException e) { + throw new RuntimeException("Problem with reading from input-stream", e); + } + + // Create request-mapping + Map<String, String> requestMap = new HashMap<>(); + createRequestMapping(inspector, requestMap, ""); + return new Query(request, requestMap, queryProfile); + + + } else { + return new Query(request, queryProfile); + + } + } + + public void createRequestMapping(Inspector inspector, Map<String, String> map, String parent) { + inspector.traverse((ObjectTraverser) (key, value) -> { + String qualifiedKey = parent + key; + switch (value.type()) { + case BOOL: + map.put(qualifiedKey, Boolean.toString(value.asBool())); + break; + case DOUBLE: + map.put(qualifiedKey, Double.toString(value.asDouble())); + break; + case LONG: + map.put(qualifiedKey, Long.toString(value.asLong())); + break; + case STRING: + map.put(qualifiedKey , value.asString()); + break; + case ARRAY: + map.put(qualifiedKey, value.asString()); + break; + case OBJECT: + createRequestMapping(value, map, qualifiedKey+"."); + break; + } + + }); + } + } + + diff --git a/container-search/src/main/java/com/yahoo/search/query/parser/Parsable.java b/container-search/src/main/java/com/yahoo/search/query/parser/Parsable.java index 55e5c7ae07d..e5941a90b83 100644 --- a/container-search/src/main/java/com/yahoo/search/query/parser/Parsable.java +++ b/container-search/src/main/java/com/yahoo/search/query/parser/Parsable.java @@ -25,7 +25,7 @@ import java.util.Set; * <p>In case you are parsing the content of a {@link Model}, you can use the {@link #fromQueryModel(Model)} factory for * convenience.</p> * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public final class Parsable { diff --git a/container-search/src/main/java/com/yahoo/search/query/parser/Parser.java b/container-search/src/main/java/com/yahoo/search/query/parser/Parser.java index 2d050426b00..32c386f0e32 100644 --- a/container-search/src/main/java/com/yahoo/search/query/parser/Parser.java +++ b/container-search/src/main/java/com/yahoo/search/query/parser/Parser.java @@ -6,7 +6,7 @@ import com.yahoo.search.query.QueryTree; /** * Defines the interface of a query parser. To construct an instance of this class, use the {@link ParserFactory}. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public interface Parser { diff --git a/container-search/src/main/java/com/yahoo/search/query/parser/ParserEnvironment.java b/container-search/src/main/java/com/yahoo/search/query/parser/ParserEnvironment.java index ba782cd17c6..ca437fb9def 100644 --- a/container-search/src/main/java/com/yahoo/search/query/parser/ParserEnvironment.java +++ b/container-search/src/main/java/com/yahoo/search/query/parser/ParserEnvironment.java @@ -13,7 +13,7 @@ import com.yahoo.search.searchchain.Execution; * This class encapsulates the environment of a {@link Parser}. In case you are creating a parser from within a * {@link Searcher}, you can use the {@link #fromExecutionContext(Execution.Context)} factory for convenience. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public final class ParserEnvironment { diff --git a/container-search/src/main/java/com/yahoo/search/query/parser/ParserFactory.java b/container-search/src/main/java/com/yahoo/search/query/parser/ParserFactory.java index d102bc39a88..8d008abaac2 100644 --- a/container-search/src/main/java/com/yahoo/search/query/parser/ParserFactory.java +++ b/container-search/src/main/java/com/yahoo/search/query/parser/ParserFactory.java @@ -8,7 +8,7 @@ import com.yahoo.search.yql.YqlParser; /** * Implements a factory for {@link Parser}. * - * @author Simon Thoresen + * @author Simon Thoresen Hult */ public final class ParserFactory { diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/TextSerialize.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/TextSerialize.java index ccf343889a0..f44dab92fc7 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/TextSerialize.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/TextSerialize.java @@ -12,7 +12,7 @@ import com.yahoo.search.query.textserialize.serializer.QueryTreeSerializer; import java.io.StringReader; /** - * @author tonytv + * @author Tony Vaagenes * Facade * Allows serializing/deserializing a query to the programmatic format. */ diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/AndNotRestConverter.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/AndNotRestConverter.java index d60979d7820..243596f2b2d 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/AndNotRestConverter.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/AndNotRestConverter.java @@ -10,7 +10,7 @@ import static com.yahoo.search.query.textserialize.item.ListUtil.butFirst; import static com.yahoo.search.query.textserialize.item.ListUtil.first; /** - * @author tonytv + * @author Tony Vaagenes */ public class AndNotRestConverter extends CompositeConverter<NotItem> { static final String andNotRest = "AND-NOT-REST"; diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/CompositeConverter.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/CompositeConverter.java index 77b9bf45494..332f03c896c 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/CompositeConverter.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/CompositeConverter.java @@ -9,7 +9,7 @@ import com.yahoo.search.query.textserialize.serializer.ItemIdMapper; import java.util.ListIterator; /** - * @author tonytv + * @author Tony Vaagenes */ public class CompositeConverter<T extends CompositeItem> implements ItemFormConverter { private final Class<T> itemClass; diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/IntConverter.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/IntConverter.java index d01e80393b7..520d6eb7ec5 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/IntConverter.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/IntConverter.java @@ -5,7 +5,7 @@ import com.yahoo.prelude.query.IntItem; import com.yahoo.prelude.query.TermItem; /** - * @author tonytv + * @author Tony Vaagenes */ public class IntConverter extends TermConverter { @Override diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemArguments.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemArguments.java index d4bf0a1a412..4d998f3553c 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemArguments.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemArguments.java @@ -8,7 +8,7 @@ import java.util.Map; import static com.yahoo.search.query.textserialize.item.ListUtil.firstInstanceOf; /** - * @author tonytv + * @author Tony Vaagenes */ public class ItemArguments { public final Map<?, ?> properties; diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemContext.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemContext.java index c34b1434366..e739608387d 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemContext.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemContext.java @@ -9,7 +9,7 @@ import java.util.IdentityHashMap; import java.util.Map; /** - * @author tonytv + * @author Tony Vaagenes */ public class ItemContext { private class Connectivity { diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemExecutorRegistry.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemExecutorRegistry.java index 8f1d557aadb..4f18232df24 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemExecutorRegistry.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemExecutorRegistry.java @@ -15,7 +15,7 @@ import java.util.HashMap; import java.util.Map; /** - * @author tonytv + * @author Tony Vaagenes */ public class ItemExecutorRegistry { diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemFormConverter.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemFormConverter.java index 929f31a0e92..1c101943326 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemFormConverter.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemFormConverter.java @@ -6,7 +6,7 @@ import com.yahoo.search.query.textserialize.serializer.DispatchForm; import com.yahoo.search.query.textserialize.serializer.ItemIdMapper; /** - * @author tonytv + * @author Tony Vaagenes */ public interface ItemFormConverter { Object formToItem(String name, ItemArguments arguments, ItemContext context); diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemFormHandler.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemFormHandler.java index faf03c1f9df..34841564c68 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemFormHandler.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemFormHandler.java @@ -6,7 +6,7 @@ import com.yahoo.search.query.textserialize.parser.DispatchFormHandler; import java.util.List; /** - * @author tonytv + * @author Tony Vaagenes */ public class ItemFormHandler implements DispatchFormHandler{ @Override diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemInitializer.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemInitializer.java index 43bec08b3f5..a1a240b9bfb 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemInitializer.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ItemInitializer.java @@ -12,7 +12,7 @@ import java.util.List; import java.util.Map; /** - * @author tonytv + * @author Tony Vaagenes */ public class ItemInitializer { diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ListUtil.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ListUtil.java index 7119669b0ca..71ac07fe2ea 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ListUtil.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/ListUtil.java @@ -4,7 +4,7 @@ package com.yahoo.search.query.textserialize.item; import java.util.*; /** - * @author tonytv + * @author Tony Vaagenes */ public class ListUtil { public static <T> List<T> rest(List<T> list) { diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/NearConverter.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/NearConverter.java index 26829a70491..d622068b384 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/NearConverter.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/NearConverter.java @@ -7,7 +7,7 @@ import com.yahoo.search.query.textserialize.serializer.DispatchForm; import com.yahoo.search.query.textserialize.serializer.ItemIdMapper; /** - * @author tonytv + * @author Tony Vaagenes */ @SuppressWarnings("rawtypes") public class NearConverter extends CompositeConverter { diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/PrefixConverter.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/PrefixConverter.java index 0bfb69463ec..bbf87ef8532 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/PrefixConverter.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/PrefixConverter.java @@ -4,7 +4,7 @@ package com.yahoo.search.query.textserialize.item; import com.yahoo.prelude.query.PrefixItem; /** - * @author tonytv + * @author Tony Vaagenes */ public class PrefixConverter extends WordConverter { @Override diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/SubStringConverter.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/SubStringConverter.java index d99ef575597..d7e6aa3900c 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/SubStringConverter.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/SubStringConverter.java @@ -4,7 +4,7 @@ package com.yahoo.search.query.textserialize.item; import com.yahoo.prelude.query.SubstringItem; /** - * @author tonytv + * @author Tony Vaagenes */ public class SubStringConverter extends WordConverter { @Override diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/SuffixConverter.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/SuffixConverter.java index 3002ec39e48..c2de4772806 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/SuffixConverter.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/SuffixConverter.java @@ -4,7 +4,7 @@ package com.yahoo.search.query.textserialize.item; import com.yahoo.prelude.query.SuffixItem; /** - * @author tonytv + * @author Tony Vaagenes */ public class SuffixConverter extends WordConverter { @Override diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/TermConverter.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/TermConverter.java index 3a6bbf77d5e..04c01d7acc1 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/TermConverter.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/TermConverter.java @@ -7,7 +7,7 @@ import com.yahoo.search.query.textserialize.serializer.DispatchForm; import com.yahoo.search.query.textserialize.serializer.ItemIdMapper; /** - * @author tonytv + * @author Tony Vaagenes */ public abstract class TermConverter implements ItemFormConverter { @Override diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/TypeCheck.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/TypeCheck.java index ebfcc8aa54c..b7843a300dc 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/TypeCheck.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/TypeCheck.java @@ -4,7 +4,7 @@ package com.yahoo.search.query.textserialize.item; import com.yahoo.protect.Validator; /** - * @author tonytv + * @author Tony Vaagenes */ public class TypeCheck { public static void ensureInstanceOf(Object object, Class<?> c) { diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/WordConverter.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/WordConverter.java index b4d40f26a1d..f37059cfe1d 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/item/WordConverter.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/item/WordConverter.java @@ -5,7 +5,7 @@ import com.yahoo.prelude.query.TermItem; import com.yahoo.prelude.query.WordItem; /** - * @author tonytv + * @author Tony Vaagenes */ public class WordConverter extends TermConverter { @Override diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/parser/DispatchFormHandler.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/parser/DispatchFormHandler.java index e196952c903..d3d3b030d7a 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/parser/DispatchFormHandler.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/parser/DispatchFormHandler.java @@ -4,7 +4,7 @@ package com.yahoo.search.query.textserialize.parser; import java.util.List; /** - * @author tonytv + * @author Tony Vaagenes */ public interface DispatchFormHandler { Object dispatch(String name, List<Object> arguments, Object dispatchContext); diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/DispatchForm.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/DispatchForm.java index 27032065e6b..11ec6e4b020 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/DispatchForm.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/DispatchForm.java @@ -7,7 +7,7 @@ import java.util.List; import java.util.Map; /** - * @author tonytv + * @author Tony Vaagenes */ public class DispatchForm { private final String name; diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/ItemIdMapper.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/ItemIdMapper.java index e5473d77574..df589fcd76a 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/ItemIdMapper.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/ItemIdMapper.java @@ -7,7 +7,7 @@ import java.util.IdentityHashMap; import java.util.Map; /** - * @author tonytv + * @author Tony Vaagenes */ public class ItemIdMapper { private final Map<Item, String> idByItem = new IdentityHashMap<>(); diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/QueryTreeSerializer.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/QueryTreeSerializer.java index 337c1d4a59e..7cdeb9f9597 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/QueryTreeSerializer.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/QueryTreeSerializer.java @@ -6,7 +6,7 @@ import com.yahoo.search.query.textserialize.item.ItemExecutorRegistry; /** - * @author tonytv + * @author Tony Vaagenes */ public class QueryTreeSerializer { public String serialize(Item root) { diff --git a/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/Serializer.java b/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/Serializer.java index 828fb6ce415..d4e499bab79 100644 --- a/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/Serializer.java +++ b/container-search/src/main/java/com/yahoo/search/query/textserialize/serializer/Serializer.java @@ -11,7 +11,7 @@ import static com.yahoo.search.query.textserialize.item.ListUtil.butFirst; import static com.yahoo.search.query.textserialize.item.ListUtil.first; /** - * @author tonytv + * @author Tony Vaagenes */ class Serializer { static String serialize(Object child, ItemIdMapper itemIdMapper) { diff --git a/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java b/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java index 2d69a262f15..aa825149bb7 100644 --- a/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java +++ b/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java @@ -42,7 +42,7 @@ import java.util.stream.Collectors; /** * XML rendering of search results. This is NOT the default (but it once was). * - * @author tonytv + * @author Tony Vaagenes * @deprecated use JsonRenderer instead */ @SuppressWarnings({ "rawtypes", "deprecation" }) diff --git a/container-search/src/main/java/com/yahoo/search/rendering/Renderer.java b/container-search/src/main/java/com/yahoo/search/rendering/Renderer.java index a5ade01b1be..a61c657b709 100644 --- a/container-search/src/main/java/com/yahoo/search/rendering/Renderer.java +++ b/container-search/src/main/java/com/yahoo/search/rendering/Renderer.java @@ -26,7 +26,7 @@ import java.nio.charset.CharsetEncoder; * <li>State mutated during rendering shall be initialized in the init method.</li> * </ol> * - * @author tonytv + * @author Tony Vaagenes */ abstract public class Renderer extends com.yahoo.processing.rendering.Renderer<Result> { diff --git a/container-search/src/main/java/com/yahoo/search/rendering/SectionedRenderer.java b/container-search/src/main/java/com/yahoo/search/rendering/SectionedRenderer.java index c35a4efc50c..bd647bd74f0 100644 --- a/container-search/src/main/java/com/yahoo/search/rendering/SectionedRenderer.java +++ b/container-search/src/main/java/com/yahoo/search/rendering/SectionedRenderer.java @@ -29,7 +29,7 @@ import java.util.List; * <li>State mutated during rendering shall be initialized in the init method. * </ol> * - * @author tonytv + * @author Tony Vaagenes */ abstract public class SectionedRenderer<WRITER> extends Renderer { /** diff --git a/container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java b/container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java index 08599540cb1..6919f6bd3f8 100644 --- a/container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java +++ b/container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java @@ -35,7 +35,7 @@ import java.util.logging.Logger; import java.util.stream.Collectors; /** - * @author tonytv + * @author Tony Vaagenes */ @SuppressWarnings({ "rawtypes", "deprecation" }) public final class SyncDefaultRenderer extends Renderer { diff --git a/container-search/src/main/java/com/yahoo/search/result/MetaHitsFirstComparator.java b/container-search/src/main/java/com/yahoo/search/result/MetaHitsFirstComparator.java index 389222f6cec..a15cd30d664 100644 --- a/container-search/src/main/java/com/yahoo/search/result/MetaHitsFirstComparator.java +++ b/container-search/src/main/java/com/yahoo/search/result/MetaHitsFirstComparator.java @@ -7,7 +7,7 @@ import java.util.Comparator; * Ensures that meta hits are sorted before normal hits. All meta hits are * considered equal. * - * @author tonytv + * @author Tony Vaagenes */ public class MetaHitsFirstComparator extends ChainableComparator { diff --git a/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java b/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java index cfef91ee0ec..1657b45b1b4 100644 --- a/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java +++ b/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java @@ -17,7 +17,7 @@ import java.util.*; /** * Defines the searcher models used in the vespa and native search chains, except for federation. * - * @author tonytv + * @author Tony Vaagenes */ @SuppressWarnings({"rawtypes", "deprecation", "unchecked"}) public class VespaSearchers { diff --git a/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/FederationOptions.java b/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/FederationOptions.java index a24b13a6d17..0843ec074b6 100644 --- a/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/FederationOptions.java +++ b/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/FederationOptions.java @@ -9,7 +9,7 @@ import java.util.Objects; * Options for controlling federation to a single source. * This is a value object. * - * @author tonytv + * @author Tony Vaagenes */ @Immutable public class FederationOptions implements Cloneable { diff --git a/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/FederationSearcherModel.java b/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/FederationSearcherModel.java index 9088575b881..e1c95e9478e 100644 --- a/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/FederationSearcherModel.java +++ b/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/FederationSearcherModel.java @@ -15,7 +15,7 @@ import com.yahoo.search.federation.FederationSearcher; /** * Specifies how a federation searcher is to be set up. * - * @author tonytv + * @author Tony Vaagenes */ @Immutable public class FederationSearcherModel extends ChainedComponentModel { diff --git a/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/HttpProviderSpec.java b/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/HttpProviderSpec.java index 4495ec25908..4103514c103 100644 --- a/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/HttpProviderSpec.java +++ b/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/HttpProviderSpec.java @@ -13,7 +13,7 @@ import java.util.List; /** * Specifies how a http provider is to be set up. * - * @author tonytv + * @author Tony Vaagenes */ @Immutable public class HttpProviderSpec { diff --git a/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/LocalProviderSpec.java b/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/LocalProviderSpec.java index ef2bf65895f..a18b93b8a6f 100644 --- a/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/LocalProviderSpec.java +++ b/container-search/src/main/java/com/yahoo/search/searchchain/model/federation/LocalProviderSpec.java @@ -16,7 +16,7 @@ import net.jcip.annotations.Immutable; /** * Specifies how a local provider is to be set up. * - * @author tonytv + * @author Tony Vaagenes */ @Immutable public class LocalProviderSpec { diff --git a/container-search/src/main/java/com/yahoo/search/yql/VespaGroupingStep.java b/container-search/src/main/java/com/yahoo/search/yql/VespaGroupingStep.java index 6ba33ee012b..4626109f6cd 100644 --- a/container-search/src/main/java/com/yahoo/search/yql/VespaGroupingStep.java +++ b/container-search/src/main/java/com/yahoo/search/yql/VespaGroupingStep.java @@ -8,7 +8,7 @@ import java.util.ArrayList; import java.util.List; /** - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen Hult</a> + * @author Simon Thoresen Hult */ public class VespaGroupingStep { diff --git a/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java b/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java index 0b9f79537d0..6bad032600c 100644 --- a/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java +++ b/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java @@ -90,7 +90,7 @@ import edu.umd.cs.findbugs.annotations.NonNull; * * @author Steinar Knutsen * @author Stian Kristoffersen - * @author Simon Thoresen + * @author Simon Thoresen Hult */ @Beta public class YqlParser implements Parser { |