Skip to content

Commit 1392104

Browse files
authored
Move CloudEvent from EventGrid to to azure-core (Azure#19193)
1 parent 4c38f64 commit 1392104

File tree

189 files changed

+4801
-867
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

189 files changed

+4801
-867
lines changed

eng/versioning/version_client.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,8 @@ unreleased_com.azure:azure-messaging-eventhubs;5.5.0
218218
unreleased_com.azure:azure-messaging-eventhubs-checkpointstore-blob;1.5.0
219219
unreleased_com.azure:azure-core-management;1.2.0-beta.1
220220
unreleased_com.azure:azure-core-tracing-opentelemetry;1.0.0-beta.8
221+
unreleased_com.azure:azure-core;1.14.0-beta.1
222+
unreleased_com.azure:azure-core-serializer-json-jackson;1.2.0-beta.1
221223

222224
# Released Beta dependencies: Copy the entry from above, prepend "beta_", remove the current
223225
# version and set the version to the released beta. Released beta dependencies are only valid
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
package com.azure.core.implementation.serializer;
5+
6+
import com.azure.core.util.logging.ClientLogger;
7+
import com.azure.core.util.serializer.JacksonAdapter;
8+
import com.azure.core.util.serializer.JsonSerializer;
9+
import com.azure.core.util.serializer.SerializerAdapter;
10+
import com.azure.core.util.serializer.SerializerEncoding;
11+
import com.azure.core.util.serializer.TypeReference;
12+
import reactor.core.publisher.Mono;
13+
14+
import java.io.IOException;
15+
import java.io.InputStream;
16+
import java.io.OutputStream;
17+
import java.io.UncheckedIOException;
18+
19+
/**
20+
* Jackson based implementation of the {@link JsonSerializer}. This can be used as a default Json serializer if
21+
* no JsonSerializerProvider is in the class path.
22+
*/
23+
public class JacksonSerializer implements JsonSerializer {
24+
private final SerializerAdapter jacksonAdapter = JacksonAdapter.createDefaultSerializerAdapter();
25+
private final ClientLogger logger = new ClientLogger(JacksonSerializer.class);
26+
27+
@Override
28+
public <T> T deserialize(InputStream stream, TypeReference<T> typeReference) {
29+
try {
30+
return jacksonAdapter.deserialize(stream, typeReference.getJavaType(), SerializerEncoding.JSON);
31+
} catch (IOException e) {
32+
throw logger.logExceptionAsError(new UncheckedIOException(e));
33+
}
34+
}
35+
36+
@Override
37+
public <T> Mono<T> deserializeAsync(InputStream stream, TypeReference<T> typeReference) {
38+
return Mono.defer(() -> Mono.fromCallable(() -> deserialize(stream, typeReference)));
39+
}
40+
41+
@Override
42+
public void serialize(OutputStream stream, Object value) {
43+
try {
44+
jacksonAdapter.serialize(value, SerializerEncoding.JSON, stream);
45+
} catch (IOException e) {
46+
throw logger.logExceptionAsError(new UncheckedIOException(e));
47+
}
48+
}
49+
50+
@Override
51+
public Mono<Void> serializeAsync(OutputStream stream, Object value) {
52+
return Mono.fromRunnable(() -> serialize(stream, value));
53+
}
54+
}

0 commit comments

Comments
 (0)