use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class ComplexValue method testJsonFromDefaultCache.
@Test
public void testJsonFromDefaultCache() {
RemoteCache<String, String> schemaCache = remoteCacheManager.getCache(PROTOBUF_METADATA_CACHE_NAME);
schemaCache.put("schema.proto", "message M { optional string json_key = 1; }");
RemoteQueryTestUtils.checkSchemaErrors(schemaCache);
DataFormat jsonValues = DataFormat.builder().valueType(APPLICATION_JSON).valueMarshaller(new UTF8StringMarshaller()).build();
RemoteCache<Integer, String> cache = remoteCacheManager.getCache().withDataFormat(jsonValues);
String value = "{\"_type\":\"M\",\"json_key\":\"json_value\"}";
cache.put(1, value);
String valueAsJson = cache.get(1);
Json node = Json.read(valueAsJson);
assertEquals("json_value", node.at("json_key").asString());
}
use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class RestCacheManagerClientOkHttp method createBackup.
@Override
public CompletionStage<RestResponse> createBackup(String name, String workingDir, Map<String, List<String>> resources) {
Json json = Json.object();
if (workingDir != null)
json.set("directory", workingDir);
if (resources != null)
json.set("resources", Json.factory().make(resources));
RequestBody body = new StringRestEntityOkHttp(MediaType.APPLICATION_JSON, json.toString()).toRequestBody();
Request.Builder builder = backup(name).post(body);
return client.execute(builder);
}
use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class RestCacheManagerClientOkHttp method restore.
@Override
public CompletionStage<RestResponse> restore(String name, String backupLocation, Map<String, List<String>> resources) {
Json json = Json.object();
json.set("location", backupLocation);
if (resources != null)
json.set("resources", Json.factory().make(resources));
RequestBody body = new StringRestEntityOkHttp(MediaType.APPLICATION_JSON, json.toString()).toRequestBody();
Request.Builder builder = restore(name).post(body);
return client.execute(builder);
}
use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class RestClusterClientOkHttp method restore.
@Override
public CompletionStage<RestResponse> restore(String name, String backupLocation) {
Json json = Json.object();
json.set("location", backupLocation);
RequestBody body = new StringRestEntityOkHttp(MediaType.APPLICATION_JSON, json.toString()).toRequestBody();
Request.Builder builder = restore(name).post(body);
return client.execute(builder);
}
use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class CacheEntryCloudEventsTest method assertEntryEventSent.
private void assertEntryEventSent(Object key, Object value, TestWriteOperation op) {
byte[] expectedKeyBytes = getKeyBytes(key);
byte[] expectedValueBytes = getValueBytes(value);
String type = translateType(op);
Optional<ProducerRecord<byte[], byte[]>> record = mockSender.getProducer().history().stream().filter(r -> Arrays.equals(r.key(), expectedKeyBytes)).findFirst();
assertTrue(record.isPresent());
byte[] eventBytes = record.get().value();
Json json = Json.read(new String(eventBytes));
assertEquals("1.0", json.at(SPECVERSION).asString());
assertEquals(type, json.at(TYPE).asString());
String source = json.at(SOURCE).asString();
assertTrue(source.startsWith("/infinispan"));
assertTrue(source.endsWith("/" + CACHE_NAME));
Instant.parse(json.at(TIME).asString());
boolean keyIsBase64 = json.at(INFINISPAN_SUBJECT_ISBASE64, false).asBoolean();
assertEquals(expectedContentType(keyIsBase64).toString(), json.at(INFINISPAN_SUBJECT_CONTENTTYPE, APPLICATION_JSON_TYPE).asString());
String subject = json.at(SUBJECT).asString();
byte[] keyBytes = keyIsBase64 ? Base64.getDecoder().decode(subject) : subject.getBytes(StandardCharsets.UTF_8);
assertEquals(expectedKeyBytes, keyBytes);
String data = json.at(DATA).asString();
boolean valueIsBase64 = json.at(INFINISPAN_DATA_ISBASE64, false).asBoolean();
assertEquals(expectedContentType(valueIsBase64).toString(), json.at(DATACONTENTTYPE, APPLICATION_JSON_TYPE).asString());
byte[] valueBytes = valueIsBase64 ? Base64.getDecoder().decode(data) : data.getBytes(StandardCharsets.UTF_8);
assertEquals(expectedValueBytes, valueBytes);
}
Aggregations