Search in sources :

Example 1 with SendMessageBatchV2RequestBody

use of org.apache.eventmesh.common.protocol.http.body.message.SendMessageBatchV2RequestBody in project incubator-eventmesh by apache.

the class SendMessageBatchV2ProtocolResolver method buildEvent.

public static CloudEvent buildEvent(Header header, Body body) throws ProtocolHandleException {
    try {
        SendMessageBatchV2RequestHeader sendMessageBatchV2RequestHeader = (SendMessageBatchV2RequestHeader) header;
        SendMessageBatchV2RequestBody sendMessageBatchV2RequestBody = (SendMessageBatchV2RequestBody) body;
        String protocolType = sendMessageBatchV2RequestHeader.getProtocolType();
        String protocolDesc = sendMessageBatchV2RequestHeader.getProtocolDesc();
        String protocolVersion = sendMessageBatchV2RequestHeader.getProtocolVersion();
        String code = sendMessageBatchV2RequestHeader.getCode();
        String env = sendMessageBatchV2RequestHeader.getEnv();
        String idc = sendMessageBatchV2RequestHeader.getIdc();
        String ip = sendMessageBatchV2RequestHeader.getIp();
        String pid = sendMessageBatchV2RequestHeader.getPid();
        String sys = sendMessageBatchV2RequestHeader.getSys();
        String username = sendMessageBatchV2RequestHeader.getUsername();
        String passwd = sendMessageBatchV2RequestHeader.getPasswd();
        ProtocolVersion version = sendMessageBatchV2RequestHeader.getVersion();
        String language = sendMessageBatchV2RequestHeader.getLanguage();
        String producerGroup = sendMessageBatchV2RequestBody.getProducerGroup();
        String content = sendMessageBatchV2RequestBody.getMsg();
        CloudEvent event = null;
        if (StringUtils.equals(SpecVersion.V1.toString(), protocolVersion)) {
            event = EventFormatProvider.getInstance().resolveFormat(JsonFormat.CONTENT_TYPE).deserialize(content.getBytes(StandardCharsets.UTF_8));
            event = CloudEventBuilder.from(event).withExtension(ProtocolKey.REQUEST_CODE, code).withExtension(ProtocolKey.ClientInstanceKey.ENV, env).withExtension(ProtocolKey.ClientInstanceKey.IDC, idc).withExtension(ProtocolKey.ClientInstanceKey.IP, ip).withExtension(ProtocolKey.ClientInstanceKey.PID, pid).withExtension(ProtocolKey.ClientInstanceKey.SYS, sys).withExtension(ProtocolKey.ClientInstanceKey.USERNAME, username).withExtension(ProtocolKey.ClientInstanceKey.PASSWD, passwd).withExtension(ProtocolKey.VERSION, version.getVersion()).withExtension(ProtocolKey.LANGUAGE, language).withExtension(ProtocolKey.PROTOCOL_TYPE, protocolType).withExtension(ProtocolKey.PROTOCOL_DESC, protocolDesc).withExtension(ProtocolKey.PROTOCOL_VERSION, protocolVersion).withExtension(SendMessageBatchV2RequestBody.PRODUCERGROUP, producerGroup).build();
        } else if (StringUtils.equals(SpecVersion.V03.toString(), protocolVersion)) {
            event = EventFormatProvider.getInstance().resolveFormat(JsonFormat.CONTENT_TYPE).deserialize(content.getBytes(StandardCharsets.UTF_8));
            event = CloudEventBuilder.from(event).withExtension(ProtocolKey.REQUEST_CODE, code).withExtension(ProtocolKey.ClientInstanceKey.ENV, env).withExtension(ProtocolKey.ClientInstanceKey.IDC, idc).withExtension(ProtocolKey.ClientInstanceKey.IP, ip).withExtension(ProtocolKey.ClientInstanceKey.PID, pid).withExtension(ProtocolKey.ClientInstanceKey.SYS, sys).withExtension(ProtocolKey.ClientInstanceKey.USERNAME, username).withExtension(ProtocolKey.ClientInstanceKey.PASSWD, passwd).withExtension(ProtocolKey.VERSION, version.getVersion()).withExtension(ProtocolKey.LANGUAGE, language).withExtension(ProtocolKey.PROTOCOL_TYPE, protocolType).withExtension(ProtocolKey.PROTOCOL_DESC, protocolDesc).withExtension(ProtocolKey.PROTOCOL_VERSION, protocolVersion).withExtension(SendMessageBatchV2RequestBody.PRODUCERGROUP, producerGroup).build();
        }
        return event;
    } catch (Exception e) {
        throw new ProtocolHandleException(e.getMessage(), e.getCause());
    }
}
Also used : SendMessageBatchV2RequestBody(org.apache.eventmesh.common.protocol.http.body.message.SendMessageBatchV2RequestBody) SendMessageBatchV2RequestHeader(org.apache.eventmesh.common.protocol.http.header.message.SendMessageBatchV2RequestHeader) ProtocolHandleException(org.apache.eventmesh.protocol.api.exception.ProtocolHandleException) ProtocolVersion(org.apache.eventmesh.common.protocol.http.common.ProtocolVersion) CloudEvent(io.cloudevents.CloudEvent) ProtocolHandleException(org.apache.eventmesh.protocol.api.exception.ProtocolHandleException)

Example 2 with SendMessageBatchV2RequestBody

use of org.apache.eventmesh.common.protocol.http.body.message.SendMessageBatchV2RequestBody in project incubator-eventmesh by apache.

the class SendMessageBatchV2ProtocolResolver method buildEvent.

public static CloudEvent buildEvent(Header header, Body body) throws ProtocolHandleException {
    try {
        SendMessageBatchV2RequestHeader sendMessageBatchV2RequestHeader = (SendMessageBatchV2RequestHeader) header;
        SendMessageBatchV2RequestBody sendMessageBatchV2RequestBody = (SendMessageBatchV2RequestBody) body;
        String protocolType = sendMessageBatchV2RequestHeader.getProtocolType();
        String protocolDesc = sendMessageBatchV2RequestHeader.getProtocolDesc();
        String protocolVersion = sendMessageBatchV2RequestHeader.getProtocolVersion();
        String code = sendMessageBatchV2RequestHeader.getCode();
        String env = sendMessageBatchV2RequestHeader.getEnv();
        String idc = sendMessageBatchV2RequestHeader.getIdc();
        String ip = sendMessageBatchV2RequestHeader.getIp();
        String pid = sendMessageBatchV2RequestHeader.getPid();
        String sys = sendMessageBatchV2RequestHeader.getSys();
        String username = sendMessageBatchV2RequestHeader.getUsername();
        String passwd = sendMessageBatchV2RequestHeader.getPasswd();
        ProtocolVersion version = sendMessageBatchV2RequestHeader.getVersion();
        String language = sendMessageBatchV2RequestHeader.getLanguage();
        String content = sendMessageBatchV2RequestBody.getMsg();
        CloudEvent event = null;
        CloudEventBuilder cloudEventBuilder;
        if (StringUtils.equals(SpecVersion.V1.toString(), protocolVersion)) {
            cloudEventBuilder = CloudEventBuilder.v1();
            cloudEventBuilder = cloudEventBuilder.withId(sendMessageBatchV2RequestBody.getBizSeqNo()).withSubject(sendMessageBatchV2RequestBody.getTopic()).withType("eventmeshmessage").withSource(URI.create("/")).withData(content.getBytes(StandardCharsets.UTF_8)).withExtension(ProtocolKey.REQUEST_CODE, code).withExtension(ProtocolKey.ClientInstanceKey.ENV, env).withExtension(ProtocolKey.ClientInstanceKey.IDC, idc).withExtension(ProtocolKey.ClientInstanceKey.IP, ip).withExtension(ProtocolKey.ClientInstanceKey.PID, pid).withExtension(ProtocolKey.ClientInstanceKey.SYS, sys).withExtension(ProtocolKey.ClientInstanceKey.USERNAME, username).withExtension(ProtocolKey.ClientInstanceKey.PASSWD, passwd).withExtension(ProtocolKey.VERSION, version.getVersion()).withExtension(ProtocolKey.LANGUAGE, language).withExtension(ProtocolKey.PROTOCOL_TYPE, protocolType).withExtension(ProtocolKey.PROTOCOL_DESC, protocolDesc).withExtension(ProtocolKey.PROTOCOL_VERSION, protocolVersion).withExtension(SendMessageBatchV2RequestBody.BIZSEQNO, sendMessageBatchV2RequestBody.getBizSeqNo()).withExtension(SendMessageBatchV2RequestBody.PRODUCERGROUP, sendMessageBatchV2RequestBody.getProducerGroup()).withExtension(SendMessageBatchV2RequestBody.TTL, sendMessageBatchV2RequestBody.getTtl());
            if (StringUtils.isNotEmpty(sendMessageBatchV2RequestBody.getTag())) {
                cloudEventBuilder = cloudEventBuilder.withExtension(SendMessageRequestBody.TAG, sendMessageBatchV2RequestBody.getTag());
            }
            event = cloudEventBuilder.build();
        } else if (StringUtils.equals(SpecVersion.V03.toString(), protocolVersion)) {
            cloudEventBuilder = CloudEventBuilder.v03();
            cloudEventBuilder = cloudEventBuilder.withId(sendMessageBatchV2RequestBody.getBizSeqNo()).withSubject(sendMessageBatchV2RequestBody.getTopic()).withType("eventmeshmessage").withSource(URI.create("/")).withData(content.getBytes(StandardCharsets.UTF_8)).withExtension(ProtocolKey.REQUEST_CODE, code).withExtension(ProtocolKey.ClientInstanceKey.ENV, env).withExtension(ProtocolKey.ClientInstanceKey.IDC, idc).withExtension(ProtocolKey.ClientInstanceKey.IP, ip).withExtension(ProtocolKey.ClientInstanceKey.PID, pid).withExtension(ProtocolKey.ClientInstanceKey.SYS, sys).withExtension(ProtocolKey.ClientInstanceKey.USERNAME, username).withExtension(ProtocolKey.ClientInstanceKey.PASSWD, passwd).withExtension(ProtocolKey.VERSION, version.getVersion()).withExtension(ProtocolKey.LANGUAGE, language).withExtension(ProtocolKey.PROTOCOL_TYPE, protocolType).withExtension(ProtocolKey.PROTOCOL_DESC, protocolDesc).withExtension(ProtocolKey.PROTOCOL_VERSION, protocolVersion).withExtension(SendMessageBatchV2RequestBody.BIZSEQNO, sendMessageBatchV2RequestBody.getBizSeqNo()).withExtension(SendMessageBatchV2RequestBody.PRODUCERGROUP, sendMessageBatchV2RequestBody.getProducerGroup()).withExtension(SendMessageBatchV2RequestBody.TTL, sendMessageBatchV2RequestBody.getTtl());
            if (StringUtils.isNotEmpty(sendMessageBatchV2RequestBody.getTag())) {
                cloudEventBuilder = cloudEventBuilder.withExtension(SendMessageRequestBody.TAG, sendMessageBatchV2RequestBody.getTag());
            }
            event = cloudEventBuilder.build();
        }
        return event;
    } catch (Exception e) {
        throw new ProtocolHandleException(e.getMessage(), e.getCause());
    }
}
Also used : SendMessageBatchV2RequestBody(org.apache.eventmesh.common.protocol.http.body.message.SendMessageBatchV2RequestBody) SendMessageBatchV2RequestHeader(org.apache.eventmesh.common.protocol.http.header.message.SendMessageBatchV2RequestHeader) ProtocolHandleException(org.apache.eventmesh.protocol.api.exception.ProtocolHandleException) CloudEventBuilder(io.cloudevents.core.builder.CloudEventBuilder) ProtocolVersion(org.apache.eventmesh.common.protocol.http.common.ProtocolVersion) CloudEvent(io.cloudevents.CloudEvent) ProtocolHandleException(org.apache.eventmesh.protocol.api.exception.ProtocolHandleException)

Aggregations

CloudEvent (io.cloudevents.CloudEvent)2 SendMessageBatchV2RequestBody (org.apache.eventmesh.common.protocol.http.body.message.SendMessageBatchV2RequestBody)2 ProtocolVersion (org.apache.eventmesh.common.protocol.http.common.ProtocolVersion)2 SendMessageBatchV2RequestHeader (org.apache.eventmesh.common.protocol.http.header.message.SendMessageBatchV2RequestHeader)2 ProtocolHandleException (org.apache.eventmesh.protocol.api.exception.ProtocolHandleException)2 CloudEventBuilder (io.cloudevents.core.builder.CloudEventBuilder)1