Skip to content

Package: Sender$1

Sender$1

nameinstructionbranchcomplexitylinemethod
send(KuraPayloadProto.KuraPayload.Builder)
M: 9 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
{...}
M: 9 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2017, 2022 Red Hat Inc and others
3: *
4: * This program and the accompanying materials are made
5: * available under the terms of the Eclipse Public License 2.0
6: * which is available at https://www.eclipse.org/legal/epl-2.0/
7: *
8: * SPDX-License-Identifier: EPL-2.0
9: *
10: * Contributors:
11: * Red Hat Inc - initial API and implementation
12: *******************************************************************************/
13: package org.eclipse.kapua.kura.simulator.app;
14:
15: import com.google.protobuf.ByteString;
16: import org.eclipse.kapua.kura.simulator.Transport;
17: import org.eclipse.kapua.kura.simulator.payload.Metrics;
18: import org.eclipse.kapua.kura.simulator.proto.KuraPayloadProto.KuraPayload;
19: import org.eclipse.kapua.kura.simulator.proto.KuraPayloadProto.KuraPayload.Builder;
20: import org.eclipse.kapua.kura.simulator.topic.Topic;
21:
22: import java.nio.charset.Charset;
23: import java.nio.charset.StandardCharsets;
24: import java.util.Collections;
25: import java.util.Map;
26:
27: public interface Sender {
28:
29: public void send(KuraPayload.Builder payload);
30:
31: public default void send(final byte[] body) {
32: send(Collections.emptyMap(), body);
33: }
34:
35: public default void send(final String body) {
36: send(Collections.emptyMap(), body.getBytes(StandardCharsets.UTF_8));
37: }
38:
39: public default void send(final String body, final Charset charset) {
40: send(Collections.emptyMap(), body.getBytes(charset));
41: }
42:
43: public default void send(final Map<String, Object> metrics) {
44: send(metrics, null);
45: }
46:
47: public default void send() {
48: send(null, (byte[]) null);
49: }
50:
51: public default void send(final Map<String, Object> metrics, final byte[] body) {
52: final Builder payload = KuraPayload.newBuilder();
53:
54: if (metrics != null) {
55: Metrics.buildMetrics(payload, metrics);
56: }
57:
58: if (body != null) {
59: payload.setBody(ByteString.copyFrom(body));
60: }
61:
62: send(payload);
63: }
64:
65: public static Sender transportSender(final Topic topic, final Transport transport) {
66: return new Sender() {
67:
68: @Override
69: public void send(final Builder payload) {
70: transport.sendMessage(topic, payload.build().toByteArray());
71: }
72: };
73: }
74: }