hhuang1231 commented on code in PR #4569:
URL: https://github.com/apache/eventmesh/pull/4569#discussion_r1398588456
##########
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:
Is it possible to make KeyValue support the method parameters in
CloudEventBuilder#withExtension, such as Boolean, byte[], Number,
OffserDateTime, String, URI, so that the extension of ConnectRecord is fully
compatible with CloudEvent?
那么是不是可以令KeyValue支持CloudEventBuilder#withExtension中的方法形参,例如Boolean,byte[],Number,OffserDateTime,String,URI,从而让ConnectRecord的扩展完全兼容CloudEvent?
--
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]