aboutsummaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-04-29 10:36:22 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-04-29 10:36:22 +0200
commit2a41f5af6f9c83b4305a4bb01dd9fd1901c24577 (patch)
tree6745547aa07fc9280862a36cefb59ca3ab95a1d7 /document
parent086cb954dfd88caaa4e7998e4e3d8cd052db7907 (diff)
Revert "Merge pull request #9207 from vespa-engine/revert-9204-bratseth/document-api-donct-blame-users"
This reverts commit 3575ceec65b3787a4f3e412c86479c79cf1d6453, reversing changes made to e535c8fa9c1264d7164fef7f55d10dc585e13e88.
Diffstat (limited to 'document')
-rw-r--r--document/src/main/java/com/yahoo/document/json/JsonFeedReader.java2
-rw-r--r--document/src/main/java/com/yahoo/document/json/JsonReader.java15
-rw-r--r--document/src/main/java/com/yahoo/document/json/SingleDocumentParser.java8
-rw-r--r--document/src/main/java/com/yahoo/document/json/readers/JsonParserHelpers.java44
4 files changed, 51 insertions, 18 deletions
diff --git a/document/src/main/java/com/yahoo/document/json/JsonFeedReader.java b/document/src/main/java/com/yahoo/document/json/JsonFeedReader.java
index be4aa6cfb41..5da6b58ac98 100644
--- a/document/src/main/java/com/yahoo/document/json/JsonFeedReader.java
+++ b/document/src/main/java/com/yahoo/document/json/JsonFeedReader.java
@@ -52,7 +52,7 @@ public class JsonFeedReader implements FeedReader {
} else if (documentOperation instanceof DocumentPut) {
return new DocumentFeedOperation(((DocumentPut) documentOperation).getDocument(), documentOperation.getCondition());
} else {
- throw new IllegalStateException("Got unknown class from JSON reader: " + documentOperation.getClass().getName());
+ throw new IllegalArgumentException("Got unknown class from JSON reader: " + documentOperation.getClass().getName());
}
}
diff --git a/document/src/main/java/com/yahoo/document/json/JsonReader.java b/document/src/main/java/com/yahoo/document/json/JsonReader.java
index d512fd3a6d1..79e435b6d9d 100644
--- a/document/src/main/java/com/yahoo/document/json/JsonReader.java
+++ b/document/src/main/java/com/yahoo/document/json/JsonReader.java
@@ -49,7 +49,7 @@ public class JsonReader {
parser = parserFactory.createParser(input);
} catch (IOException e) {
state = END_OF_FEED;
- throw new RuntimeException(e);
+ throw new IllegalArgumentException(e);
}
}
@@ -61,13 +61,13 @@ public class JsonReader {
*/
public DocumentOperation readSingleDocument(DocumentParser.SupportedOperation operationType, String docIdString) {
DocumentId docId = new DocumentId(docIdString);
- final DocumentParseInfo documentParseInfo;
+ DocumentParseInfo documentParseInfo;
try {
DocumentParser documentParser = new DocumentParser(parser);
documentParseInfo = documentParser.parse(Optional.of(docId)).get();
} catch (IOException e) {
state = END_OF_FEED;
- throw new RuntimeException(e);
+ throw new IllegalArgumentException(e);
}
documentParseInfo.operationType = operationType;
VespaJsonDocumentReader vespaJsonDocumentReader = new VespaJsonDocumentReader();
@@ -96,9 +96,9 @@ public class JsonReader {
} catch (IOException r) {
// Jackson is not able to recover from structural parse errors
state = END_OF_FEED;
- throw new RuntimeException(r);
+ throw new IllegalArgumentException(r);
}
- if (! documentParseInfo.isPresent()) {
+ if ( ! documentParseInfo.isPresent()) {
state = END_OF_FEED;
return null;
}
@@ -117,9 +117,8 @@ public class JsonReader {
private static DocumentType getDocumentTypeFromString(String docTypeString, DocumentTypeManager typeManager) {
final DocumentType docType = typeManager.getDocumentType(docTypeString);
- if (docType == null) {
+ if (docType == null)
throw new IllegalArgumentException(String.format("Document type %s does not exist", docTypeString));
- }
return docType;
}
@@ -129,7 +128,7 @@ public class JsonReader {
} catch (IOException e) {
// Jackson is not able to recover from structural parse errors
state = END_OF_FEED;
- throw new RuntimeException(e);
+ throw new IllegalArgumentException(e);
}
}
}
diff --git a/document/src/main/java/com/yahoo/document/json/SingleDocumentParser.java b/document/src/main/java/com/yahoo/document/json/SingleDocumentParser.java
index 28aa9ed1d8d..b57b55c9d73 100644
--- a/document/src/main/java/com/yahoo/document/json/SingleDocumentParser.java
+++ b/document/src/main/java/com/yahoo/document/json/SingleDocumentParser.java
@@ -20,6 +20,7 @@ import java.io.InputStream;
* @author dybis
*/
public class SingleDocumentParser {
+
private static final JsonFactory jsonFactory = new JsonFactory().disable(JsonFactory.Feature.CANONICALIZE_FIELD_NAMES);
private DocumentTypeManager docMan;
@@ -36,12 +37,12 @@ public class SingleDocumentParser {
}
private FeedOperation parse(InputStream inputStream, String docId, DocumentParser.SupportedOperation supportedOperation) {
- final JsonReader reader = new JsonReader(docMan, inputStream, jsonFactory);
- final DocumentOperation documentOperation = reader.readSingleDocument(supportedOperation, docId);
+ JsonReader reader = new JsonReader(docMan, inputStream, jsonFactory);
+ DocumentOperation documentOperation = reader.readSingleDocument(supportedOperation, docId);
try {
inputStream.close();
} catch (IOException e) {
- throw new RuntimeException(e);
+ throw new IllegalStateException(e);
}
if (supportedOperation == DocumentParser.SupportedOperation.PUT) {
return new DocumentFeedOperation(((DocumentPut) documentOperation).getDocument(), documentOperation.getCondition());
@@ -49,4 +50,5 @@ public class SingleDocumentParser {
return new DocumentUpdateFeedOperation((DocumentUpdate) documentOperation, documentOperation.getCondition());
}
}
+
}
diff --git a/document/src/main/java/com/yahoo/document/json/readers/JsonParserHelpers.java b/document/src/main/java/com/yahoo/document/json/readers/JsonParserHelpers.java
index e3bfdb7bb2c..6339add222e 100644
--- a/document/src/main/java/com/yahoo/document/json/readers/JsonParserHelpers.java
+++ b/document/src/main/java/com/yahoo/document/json/readers/JsonParserHelpers.java
@@ -6,27 +6,59 @@ import com.fasterxml.jackson.core.JsonToken;
import com.google.common.base.Preconditions;
public class JsonParserHelpers {
+
public static void expectArrayStart(JsonToken token) {
- Preconditions.checkState(token == JsonToken.START_ARRAY, "Expected start of array, got %s", token);
+ try {
+ Preconditions.checkState(token == JsonToken.START_ARRAY, "Expected start of array, got %s", token);
+ }
+ catch (IllegalStateException e) {
+ throw new IllegalArgumentException(e);
+ }
}
public static void expectArrayEnd(JsonToken token) {
- Preconditions.checkState(token == JsonToken.END_ARRAY, "Expected start of array, got %s", token);
+ try {
+ Preconditions.checkState(token == JsonToken.END_ARRAY, "Expected start of array, got %s", token);
+ }
+ catch (IllegalStateException e) {
+ throw new IllegalArgumentException(e);
+ }
}
public static void expectObjectStart(JsonToken token) {
- Preconditions.checkState(token == JsonToken.START_OBJECT, "Expected start of JSON object, got %s", token);
+ try {
+ Preconditions.checkState(token == JsonToken.START_OBJECT, "Expected start of JSON object, got %s", token);
+ }
+ catch (IllegalStateException e) {
+ throw new IllegalArgumentException(e);
+ }
}
public static void expectObjectEnd(JsonToken token) {
- Preconditions.checkState(token == JsonToken.END_OBJECT, "Expected end of JSON object, got %s", token);
+ try {
+ Preconditions.checkState(token == JsonToken.END_OBJECT, "Expected end of JSON object, got %s", token);
+ }
+ catch (IllegalStateException e) {
+ throw new IllegalArgumentException(e);
+ }
}
public static void expectCompositeEnd(JsonToken token) {
- Preconditions.checkState(token.isStructEnd(), "Expected end of composite, got %s", token);
+ try {
+ Preconditions.checkState(token.isStructEnd(), "Expected end of composite, got %s", token);
+ }
+ catch (IllegalStateException e) {
+ throw new IllegalArgumentException(e);
+ }
}
public static void expectScalarValue(JsonToken token) {
- Preconditions.checkState(token.isScalarValue(), "Expected to be scalar value, got %s", token);
+ try {
+ Preconditions.checkState(token.isScalarValue(), "Expected to be scalar value, got %s", token);
+ }
+ catch (IllegalStateException e) {
+ throw new IllegalArgumentException(e);
+ }
}
+
}