use of org.flyte.api.v1.Blob in project flytekit-java by flyteorg.
the class LiteralMapDeserializer method deserialize.
private static Literal deserialize(JsonParser p, DeserializationContext ctxt, LiteralType literalType) throws IOException {
switch(literalType.getKind()) {
case SIMPLE_TYPE:
return deserialize(p, literalType.simpleType());
case COLLECTION_TYPE:
List<Literal> collection = new ArrayList<>();
verifyToken(p, JsonToken.START_ARRAY);
while (p.nextToken() != JsonToken.END_ARRAY) {
collection.add(deserialize(p, ctxt, literalType.collectionType()));
}
return Literal.ofCollection(unmodifiableList(collection));
case MAP_VALUE_TYPE:
Map<String, Literal> map = new HashMap<>();
verifyToken(p, JsonToken.START_OBJECT);
p.nextToken();
while (p.currentToken() != JsonToken.END_OBJECT) {
verifyToken(p, JsonToken.FIELD_NAME);
String fieldName = p.currentName();
p.nextToken();
map.put(fieldName, deserialize(p, ctxt, literalType.mapValueType()));
p.nextToken();
}
return Literal.ofMap(unmodifiableMap(map));
case BLOB_TYPE:
JavaType type = ctxt.constructType(Blob.class);
Blob blob = (Blob) ctxt.findNonContextualValueDeserializer(type).deserialize(p, ctxt);
return Literal.ofScalar(Scalar.ofBlob(blob));
case SCHEMA_TYPE:
throw new IllegalArgumentException(String.format("Unsupported LiteralType.Kind: [%s]", literalType.getKind()));
}
throw new AssertionError(String.format("Unexpected LiteralType.Kind: [%s]", literalType.getKind()));
}
use of org.flyte.api.v1.Blob in project flytekit-java by flyteorg.
the class LiteralTypesTest method testBlobToPrettyString.
@Test
public void testBlobToPrettyString() {
BlobType blobType = BlobType.builder().dimensionality(BlobType.BlobDimensionality.SINGLE).format("application/csv").build();
assertThat(LiteralTypes.toPrettyString(LiteralType.ofBlobType(blobType)), equalTo("BLOB"));
}
use of org.flyte.api.v1.Blob in project GameComposer by mirkosertic.
the class EditorState method saveAll.
public Promise saveAll() {
List<Promise> thePromises = new ArrayList<>();
thePromises.add(saveGame());
for (Map.Entry<String, GameScene> theEntry : loadedScenes.entrySet()) {
JSObject theJSForm = TeaVMMap.toJS(theEntry.getValue().serialize());
String theJSON = TeaVMMap.stringifyPretty(theJSForm);
Blob theBlob = Blob.createJSONBlob(JSString.valueOf(theJSON));
thePromises.add(resourceAccessor.persistFile("/" + theEntry.getKey() + "/scene.json", theBlob));
}
return Promise.all(thePromises);
}
Aggregations