hhuang1231 commented on code in PR #4569:
URL: https://github.com/apache/eventmesh/pull/4569#discussion_r1398613083
##########
eventmesh-openconnect/eventmesh-openconnect-java/src/main/java/org/apache/eventmesh/openconnect/SourceWorker.java:
##########
@@ -233,16 +233,32 @@ private void startConnector() throws Exception {
}
private CloudEvent convertRecordToEvent(ConnectRecord connectRecord) {
+ CloudEventBuilder cloudEventBuilder = CloudEventBuilder.v1();
+
+ cloudEventBuilder.withId(UUID.randomUUID().toString())
+ .withSubject(config.getPubSubConfig().getSubject())
+ .withSource(URI.create("/"))
+ .withDataContentType("application/cloudevents+json")
+ .withType(CLOUD_EVENTS_PROTOCOL_NAME)
+
.withData(Objects.requireNonNull(JsonUtils.toJSONString(connectRecord.getData())).getBytes(StandardCharsets.UTF_8))
+ .withExtension("ttl", 10000);
+
+ for (String key : connectRecord.getExtensions().keySet()) {
+ Object extension = connectRecord.getExtensionObj(key);
+ if (extension instanceof Integer ||
+ extension instanceof Long ||
+ extension instanceof Short ||
+ extension instanceof Byte ||
+ extension instanceof Boolean ||
+ extension instanceof Float ||
+ extension instanceof Double ||
+ extension instanceof Character ||
+ extension instanceof String) {
+ cloudEventBuilder.withExtension(key,
String.valueOf(extension));
Review Comment:
> > KeyValue support cannot be commanded yet Method parameters in
CloudEventBuilder#withExtension, such as Boolean, byte[], Number,
OffserDateTime, String, URI, so that the extension of ConnectRecord is fully
compatible with CloudEvent?
>
> This is better. Are you willing to optimize it? Additionally, there are
checkstyle errors reported by CI that need to be fixed.
ok, i will try it.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]