Skip to content

Commit 48faa30

Browse files
committed
Fixed tests
1 parent 02a6f30 commit 48faa30

File tree

4 files changed

+77
-29
lines changed

4 files changed

+77
-29
lines changed

services-api/src/main/java/io/scalecube/services/ServiceCall.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -435,11 +435,11 @@ private ServiceMessage toServiceMessage(MethodInfo methodInfo, Object request) {
435435
ServiceMessage message = (ServiceMessage) request;
436436
builder = ServiceMessage.from(message);
437437
data = message.data();
438-
dataFormat = message.dataFormat(); // data format from message
438+
dataFormat = Optional.ofNullable(message.dataFormat()).orElse(contentType);
439439
} else {
440440
builder = ServiceMessage.builder();
441441
data = request;
442-
dataFormat = contentType; // data format from service call
442+
dataFormat = contentType;
443443
}
444444

445445
return builder

services-api/src/main/java/io/scalecube/services/api/ServiceMessage.java

Lines changed: 67 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public Map<String, String> headers() {
9393
* @return the message header by given header name
9494
*/
9595
public String header(String name) {
96-
Objects.requireNonNull(name);
96+
Objects.requireNonNull(name, "header name");
9797
return headers.get(name);
9898
}
9999

@@ -201,64 +201,113 @@ public static class Builder {
201201

202202
private Builder() {}
203203

204+
/**
205+
* Setter for {@code data}.
206+
*
207+
* @param data data; optional
208+
* @return this builder
209+
*/
204210
public Builder data(Object data) {
205211
this.data = data;
206212
return this;
207213
}
208214

209-
public Builder dataType(Class<?> data) {
210-
headers.put(HEADER_DATA_TYPE, data.getName());
215+
/**
216+
* Setter for {@code dataType}.
217+
*
218+
* @deprecated in future releases will be dropped without replacement
219+
* @param dataType data type; no null
220+
* @return this builder
221+
*/
222+
@Deprecated
223+
public Builder dataType(Class<?> dataType) {
224+
Objects.requireNonNull(dataType, "dataType");
225+
headers.put(HEADER_DATA_TYPE, dataType.getName());
211226
return this;
212227
}
213228

229+
/**
230+
* Setter for {@code dataFormat}.
231+
*
232+
* @param dataFormat data format; not null
233+
* @return this builder
234+
*/
214235
public Builder dataFormat(String dataFormat) {
236+
Objects.requireNonNull(dataFormat, "dataFormat");
215237
headers.put(HEADER_DATA_FORMAT, dataFormat);
216238
return this;
217239
}
218240

241+
/**
242+
* Returns {@code headers}.
243+
*
244+
* @return headers
245+
*/
219246
private Map<String, String> headers() {
220247
return this.headers;
221248
}
222249

250+
/**
251+
* Setter for {@code headers}.
252+
*
253+
* @param headers headers
254+
* @return this builder
255+
*/
223256
public Builder headers(Map<String, String> headers) {
224257
headers.forEach(this::header);
225258
return this;
226259
}
227260

228261
/**
229-
* Sets a header key value pair.
262+
* Setter for header key-value pair.
230263
*
231-
* @param key key; not null
232-
* @param value value; not null
233-
* @return self
264+
* @param key header name; not null
265+
* @param value header value; not null
266+
* @return this builder
234267
*/
235268
public Builder header(String key, String value) {
236-
Objects.requireNonNull(key);
237-
Objects.requireNonNull(value);
269+
Objects.requireNonNull(key, "header name");
270+
Objects.requireNonNull(value, "header value");
238271
headers.put(key, value);
239272
return this;
240273
}
241274

242275
/**
243-
* Sets a header key value pair.
276+
* Setter for header key-value pair.
244277
*
245-
* @param key key; not null
246-
* @param value value; not null
247-
* @return self
278+
* @param key header name; not null
279+
* @param value header value; not null
280+
* @return this builder
248281
*/
249282
public Builder header(String key, Object value) {
250-
Objects.requireNonNull(key);
251-
Objects.requireNonNull(value);
283+
Objects.requireNonNull(key, "header name");
284+
Objects.requireNonNull(value, "header value");
252285
headers.put(key, value.toString());
253286
return this;
254287
}
255288

289+
/**
290+
* Setter for {@code qualifier}.
291+
*
292+
* @param qualifier qualifier; not null
293+
* @return this builder
294+
*/
256295
public Builder qualifier(String qualifier) {
257-
return header(HEADER_QUALIFIER, qualifier);
296+
return header(HEADER_QUALIFIER, Objects.requireNonNull(qualifier, "qualifier"));
258297
}
259298

260-
public Builder qualifier(String serviceName, String methodName) {
261-
return qualifier(Qualifier.asString(serviceName, methodName));
299+
/**
300+
* Setter for {@code qualifier}.
301+
*
302+
* @param namespace namespace; not null
303+
* @param action action; not null
304+
* @return this builder
305+
*/
306+
public Builder qualifier(String namespace, String action) {
307+
return qualifier(
308+
Qualifier.asString(
309+
Objects.requireNonNull(namespace, "namespace"),
310+
Objects.requireNonNull(action, "action")));
262311
}
263312

264313
public ServiceMessage build() {

services-api/src/main/java/io/scalecube/services/methods/ServiceMethodInvoker.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public ServiceMethodInvoker(
7070
public Mono<ServiceMessage> invokeOne(ServiceMessage message) {
7171
return Mono.deferWithContext(context -> authenticate(message, context))
7272
.flatMap(authData -> deferWithContextOne(message, authData))
73-
.map(response -> toResponse(response, message.qualifier(), message.dataFormat()))
73+
.map(response -> toResponse(response, message.qualifier(), message.dataFormatOrDefault()))
7474
.onErrorResume(throwable -> Mono.just(errorMapper.toMessage(throwable)));
7575
}
7676

@@ -83,7 +83,7 @@ public Mono<ServiceMessage> invokeOne(ServiceMessage message) {
8383
public Flux<ServiceMessage> invokeMany(ServiceMessage message) {
8484
return Mono.deferWithContext(context -> authenticate(message, context))
8585
.flatMapMany(authData -> deferWithContextMany(message, authData))
86-
.map(response -> toResponse(response, message.qualifier(), message.dataFormat()))
86+
.map(response -> toResponse(response, message.qualifier(), message.dataFormatOrDefault()))
8787
.onErrorResume(throwable -> Flux.just(errorMapper.toMessage(throwable)));
8888
}
8989

@@ -102,7 +102,9 @@ public Flux<ServiceMessage> invokeBidirectional(Publisher<ServiceMessage> publis
102102
.map(
103103
response ->
104104
toResponse(
105-
response, first.get().qualifier(), first.get().dataFormat())))
105+
response,
106+
first.get().qualifier(),
107+
first.get().dataFormatOrDefault())))
106108
.onErrorResume(throwable -> Flux.just(errorMapper.toMessage(throwable)));
107109
}
108110

@@ -195,9 +197,8 @@ private ServiceMessage toResponse(Object response, String qualifier, String data
195197
final Object data;
196198

197199
if (response instanceof ServiceMessage) {
198-
ServiceMessage message = (ServiceMessage) response;
199-
builder = ServiceMessage.from(message);
200-
data = message.data();
200+
builder = ServiceMessage.from((ServiceMessage) response);
201+
data = ((ServiceMessage) response).data();
201202
} else {
202203
builder = ServiceMessage.builder();
203204
data = response;

services-bytebuf-codec/src/main/java/io/scalecube/services/transport/api/ServiceMessageCodec.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ public final class ServiceMessageCodec {
3131
private final HeadersCodec headersCodec;
3232
private final Map<String, DataCodec> dataCodecs;
3333

34-
3534
/** Message codec with default Headers/Data Codecs. */
3635
public ServiceMessageCodec() {
3736
this(null, null);
@@ -108,8 +107,7 @@ public <T> T encodeAndTransform(
108107
ReferenceCountUtil.safestRelease(headersBuffer);
109108
ReferenceCountUtil.safestRelease(dataBuffer); // release data buf as well
110109
LOGGER.error("Failed to encode headers on: {}, cause: {}", message, ex.toString());
111-
throw new MessageCodecException(
112-
"Failed to encode headers on message q=" + message.qualifier(), ex);
110+
throw new MessageCodecException("Failed to encode headers message q=[" + message + "]", ex);
113111
}
114112
}
115113

0 commit comments

Comments
 (0)