@Override protected SpanTermQueryBuilder doCreateTestQueryBuilder() { String fieldName = null; Object value; if (randomBoolean()) { fieldName = STRING_FIELD_NAME; } if (frequently()) { value = randomAsciiOfLengthBetween(1, 10); } else { // generate unicode string in 10% of cases JsonStringEncoder encoder = JsonStringEncoder.getInstance(); value = new String(encoder.quoteAsString(randomUnicodeOfLength(10))); } if (fieldName == null) { fieldName = randomAsciiOfLengthBetween(1, 10); } return createQueryBuilder(fieldName, value); }
@Around("methods()") public Object convertReturnedStringToRawJSON(ProceedingJoinPoint pjp) throws Throwable { checkMethodHasJsonRawValueAnnotation(pjp); String res = (String) pjp.proceed(); if (!jsonValidator.isValidJsonString(res)) { JsonStringEncoder jsonStringEncoder = new JsonStringEncoder(); StringBuilder sb = new StringBuilder(); sb.append("\"").append(jsonStringEncoder.quoteAsString(res)).append("\""); res = sb.toString(); } return res; }
/** * Escapes a text to be used for a JSON string value. * * @param text the text to escape for JSON * @return the escaped text if not null */ public static String escapeJSONString(String text) { if (text == null) { return null; } // using Jackson's string quote method char[] escapedChars = JsonStringEncoder.getInstance().quoteAsString(text); if (text.contentEquals(CharBuffer.wrap(escapedChars))) { // nothing changed return text; } return String.valueOf(escapedChars); }
private void writeValue(Object value)throws IOException { if (value != null) { if ( value instanceof Number || value instanceof Boolean ) { writer.write(value.toString()); } else if (value instanceof Date) { writer.write("\""); writer.write(isoDateFormat.format((Date)value)); writer.write("\""); } else { writer.write("\""); writer.write(JsonStringEncoder.getInstance().quoteAsString(value.toString())); writer.write("\""); } } else { writer.write("null"); // FIXMEJSONMETA: how to treat null values? } }
@Test public final void testRaw() throws IOException { String stuff = new String(new JsonStringEncoder().quoteAsString(new Base64().encodeToString(Utf8.toBytes("smoketest")))); InputStream rawDoc = new ByteArrayInputStream( Utf8.toBytes("{\"put\": \"id:unittest:testraw::whee\"," + " \"fields\": { \"actualraw\": \"" + stuff + "\"" + " }}")); JsonReader r = new JsonReader(types, rawDoc, parserFactory); DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); Document doc = put.getDocument(); FieldValue f = doc.getFieldValue(doc.getField("actualraw")); assertSame(Raw.class, f.getClass()); Raw s = (Raw) f; ByteBuffer b = s.getByteBuffer(); assertEquals("smoketest", Utf8.toString(b)); }
/** * create a random value for either {@link AbstractQueryTestCase#BOOLEAN_FIELD_NAME}, {@link AbstractQueryTestCase#INT_FIELD_NAME}, * {@link AbstractQueryTestCase#DOUBLE_FIELD_NAME}, {@link AbstractQueryTestCase#STRING_FIELD_NAME} or * {@link AbstractQueryTestCase#DATE_FIELD_NAME}, or a String value by default */ protected static Object getRandomValueForFieldName(String fieldName) { Object value; switch (fieldName) { case STRING_FIELD_NAME: if (rarely()) { // unicode in 10% cases JsonStringEncoder encoder = JsonStringEncoder.getInstance(); value = new String(encoder.quoteAsString(randomUnicodeOfLength(10))); } else { value = randomAsciiOfLengthBetween(1, 10); } break; case INT_FIELD_NAME: value = randomIntBetween(0, 10); break; case DOUBLE_FIELD_NAME: value = 1 + randomDouble() * 9; break; case BOOLEAN_FIELD_NAME: value = randomBoolean(); break; case DATE_FIELD_NAME: value = new DateTime(System.currentTimeMillis(), DateTimeZone.UTC).toString(); break; default: value = randomAsciiOfLengthBetween(1, 10); } return value; }
@Override public void encode(String value, Writer writer) { try { writer.write(JsonStringEncoder.getInstance().quoteAsString(value)); } catch (IOException e) { throw new MustacheException("Failed to encode value: " + value); } }
@Test public final void rawTest() throws IOException { String payload = new String( new JsonStringEncoder().quoteAsString(new Base64() .encodeToString(Utf8.toBytes("smoketest")))); String docId = "id:unittest:testraw::whee"; String fields = "{ \"actualraw\": \"" + payload + "\"" + " }"; roundTripEquality(docId, fields); }
public static String buildJsonQuery(String queryString, long id) { JsonStringEncoder encoder = JsonStringEncoder.getInstance(); return "{" + "\"id\": " + String.valueOf(id) + "," + "\"query\": {" + "\"and\": [" + "{" + "\"field\": \"textField\"," + "\"condition\": \"match\"," + "\"value\": \"" + new String(encoder.quoteAsString(queryString)) + "\"" + "}" + "]" + "}" + "}"; }
public static Document buildDoc(DocumentBuilder builder, String query) { JsonStringEncoder encoder = JsonStringEncoder.getInstance(); String json = "{\"textField\": \"" + new String(encoder.quoteAsString(query)) + "\"}"; try { return builder.build(json); } catch (MalformedDocumentException e) { e.printStackTrace(); } return new Document(); }
/** * JSON representation of this object. * If cause is null then it is not written and * if errorCode <= 0 then it is not written. * @return JSON string */ public String toJson() { JsonStringEncoder encoder = JsonStringEncoder.getInstance(); StringBuilder builder = new StringBuilder(); builder.append('{'); boolean needComma = true; if (m_Message != null) { char [] message = encoder.quoteAsString(m_Message.toString()); builder.append("\n \"message\" : \"").append(message).append('"').append(','); needComma = false; } if (m_ErrorCode != null) { builder.append("\n \"errorCode\" : ").append(m_ErrorCode.getValueString()); needComma = true; } if (m_Cause != null) { if (needComma) { builder.append(','); } char [] cause = encoder.quoteAsString(m_Cause.toString()); builder.append("\n \"cause\" : \"").append(cause).append('"'); } builder.append("\n}\n"); return builder.toString(); }
@Override public void encode(String s, Writer writer) throws IOException { writer.write(JsonStringEncoder.getInstance().quoteAsString(s)); }
@Override protected TermQueryBuilder doCreateTestQueryBuilder() { String fieldName = null; Object value; switch (randomIntBetween(0, 3)) { case 0: if (randomBoolean()) { fieldName = BOOLEAN_FIELD_NAME; } value = randomBoolean(); break; case 1: if (randomBoolean()) { fieldName = STRING_FIELD_NAME; } if (frequently()) { value = randomAsciiOfLengthBetween(1, 10); } else { // generate unicode string in 10% of cases JsonStringEncoder encoder = JsonStringEncoder.getInstance(); value = new String(encoder.quoteAsString(randomUnicodeOfLength(10))); } break; case 2: if (randomBoolean()) { fieldName = INT_FIELD_NAME; } value = randomInt(10000); break; case 3: if (randomBoolean()) { fieldName = DOUBLE_FIELD_NAME; } value = randomDouble(); break; default: throw new UnsupportedOperationException(); } if (fieldName == null) { fieldName = randomAsciiOfLengthBetween(1, 10); } return createQueryBuilder(fieldName, value); }
public static String escapeText(String text) { final JsonStringEncoder enc = JsonStringEncoder.getInstance(); return new String(enc.quoteAsString(text)); }
@Override protected char[] applyJsonQuoting(String content) { return JsonStringEncoder.getInstance().quoteAsString(content); }
protected void exportParts() throws IOException { PrintParts parts = jasperPrint.getParts(); if (parts != null && parts.hasParts()) { if (gotFirstJsonFragment) { writer.write(",\n"); } else { gotFirstJsonFragment = true; } writer.write("\"parts_" + (parts.hashCode() & 0x7FFFFFFF) + "\": {"); writer.write("\"id\": \"parts_" + (parts.hashCode() & 0x7FFFFFFF) + "\","); writer.write("\"type\": \"reportparts\","); writer.write("\"parts\": ["); if (!parts.startsAtZero()) { writer.write("{\"idx\": 0, \"name\": \""); writer.write(JsonStringEncoder.getInstance().quoteAsString(jasperPrint.getName())); writer.write("\"}"); if (parts.partCount() > 1) { writer.write(","); } } Iterator<Map.Entry<Integer, PrintPart>> it = parts.partsIterator(); while (it.hasNext()) { Map.Entry<Integer, PrintPart> partsEntry = it.next(); int idx = partsEntry.getKey(); PrintPart part = partsEntry.getValue(); writer.write("{\"idx\": " + idx + ", \"name\": \""); writer.write(JsonStringEncoder.getInstance().quoteAsString(part.getName())); writer.write("\"}"); if (it.hasNext()) { writer.write(","); } } writer.write("]"); writer.write("}"); } }
public static String quoteStringLiteralForJson(String string) { return '"' + new String(JsonStringEncoder.getInstance().quoteAsUTF8(string)) + '"'; }
/** * Sanitize a string to be used in JSON data. */ public static String jsonStringSanitize(String inputString) { char[] stringChars = JsonStringEncoder.getInstance().quoteAsString(inputString); return new String(stringChars); }
/** {@inheritDoc} */ @Override protected char[] applyJsonQuoting(String content) { return JsonStringEncoder.getInstance().quoteAsString(content); }
public static String quoteString( String s ) { JsonStringEncoder encoder = new JsonStringEncoder(); return new String( encoder.quoteAsUTF8( s ) ); }