summaryrefslogtreecommitdiffstats
path: root/documentapi
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-11-14 13:11:36 +0100
committergjoranv <gv@oath.com>2019-01-21 15:09:27 +0100
commit531ac4dc4f3d3b62612b790a33ce2ae71b3d2f0d (patch)
treec9e075e4f1a0d3a624b8007f5c7965d13e69d63a /documentapi
parent80b88c6ae4f9439cc15bf7cd9f11e223c09ca6a3 (diff)
Require methods with timeout to be implemented
Diffstat (limited to 'documentapi')
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/SyncSession.java18
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/local/LocalSyncSession.java9
2 files changed, 11 insertions, 16 deletions
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/SyncSession.java b/documentapi/src/main/java/com/yahoo/documentapi/SyncSession.java
index 0ce0ccc2377..a79d49e32cf 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/SyncSession.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/SyncSession.java
@@ -45,10 +45,10 @@ public interface SyncSession extends Session {
* @throws UnsupportedOperationException Thrown if this access does not
* support retrieving.
*/
- Document get(DocumentId id);
+ default Document get(DocumentId id) { return get(id, null); }
/**
- * <p>Gets a document.</p>
+ * Gets a document with an unspecified timeout
*
* @param id The id of the document to get.
* @param fieldSet A comma-separated list of fields to retrieve
@@ -58,7 +58,9 @@ public interface SyncSession extends Session {
* @throws UnsupportedOperationException Thrown if this access does not
* support retrieving.
*/
- Document get(DocumentId id, String fieldSet, DocumentProtocol.Priority priority);
+ default Document get(DocumentId id, String fieldSet, DocumentProtocol.Priority priority) {
+ return get(id, fieldSet, priority, null);
+ }
/**
* <p>Gets a document with timeout.</p>
@@ -70,10 +72,7 @@ public interface SyncSession extends Session {
* @throws UnsupportedOperationException Thrown if this access does not support retrieving.
* @throws DocumentAccessException on any messagebus error, including timeout ({@link com.yahoo.messagebus.ErrorCode#TIMEOUT}).
*/
- // TODO Vespa 7: Remove default implementation. Consider removing get() overloads without timeout.
- default Document get(DocumentId id, Duration timeout) {
- return get(id);
- }
+ Document get(DocumentId id, Duration timeout);
/**
* <p>Gets a document with timeout. </p>
@@ -87,10 +86,7 @@ public interface SyncSession extends Session {
* @throws UnsupportedOperationException Thrown if this access does not support retrieving.
* @throws DocumentAccessException on any messagebus error, including timeout ({@link com.yahoo.messagebus.ErrorCode#TIMEOUT}).
*/
- // TODO Vespa 7: Remove default implementation. Consider removing get() overloads without timeout.
- default Document get(DocumentId id, String fieldSet, DocumentProtocol.Priority priority, Duration timeout) {
- return get(id, fieldSet, priority);
- }
+ Document get(DocumentId id, String fieldSet, DocumentProtocol.Priority priority, Duration timeout);
/**
* <p>Removes a document if it is present and condition is fulfilled.</p>
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/local/LocalSyncSession.java b/documentapi/src/main/java/com/yahoo/documentapi/local/LocalSyncSession.java
index 45df2015da4..ea0ee2eaee1 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/local/LocalSyncSession.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/local/LocalSyncSession.java
@@ -10,6 +10,8 @@ import com.yahoo.documentapi.Response;
import com.yahoo.documentapi.SyncSession;
import com.yahoo.documentapi.messagebus.protocol.DocumentProtocol;
+import java.time.Duration;
+
/**
* @author bratseth
*/
@@ -36,15 +38,12 @@ public class LocalSyncSession implements SyncSession {
}
@Override
- public Document get(DocumentId id) {
+ public Document get(DocumentId id, Duration timeout) {
return access.documents.get(id);
}
@Override
- public Document get(DocumentId id, String fieldSet, DocumentProtocol.Priority pri) {
- // FIXME: More than half the get() methods are deprecated, but they all
- // call exactly the same method, including this one, throwing away most
- // of the parameters
+ public Document get(DocumentId id, String fieldSet, DocumentProtocol.Priority priority, Duration timeout) {
return access.documents.get(id);
}