Update
This commit is contained in:
parent
03132ca0bf
commit
8241493fc0
@ -11,7 +11,7 @@ public interface ReactorTelegramClient {
|
|||||||
|
|
||||||
Flux<Object> receive();
|
Flux<Object> receive();
|
||||||
|
|
||||||
<T extends TdApi.Object> Mono<T> send(TdApi.Function query);
|
Mono<TdApi.Object> send(TdApi.Function query);
|
||||||
|
|
||||||
<T extends TdApi.Object> T execute(TdApi.Function query);
|
TdApi.Object execute(TdApi.Function query);
|
||||||
}
|
}
|
||||||
|
@ -46,14 +46,13 @@ public class WrappedReactorTelegramClient implements ReactorTelegramClient {
|
|||||||
* @return a publisher that will emit exactly one item, or an error
|
* @return a publisher that will emit exactly one item, or an error
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public <T extends TdApi.Object> Mono<T> send(TdApi.Function query) {
|
public Mono<TdApi.Object> send(TdApi.Function query) {
|
||||||
return Flux.from(reactiveTelegramClient.send(query)).single().handle((item, sink) -> {
|
return Flux.from(reactiveTelegramClient.send(query)).single().handle((item, sink) -> {
|
||||||
if (item.getConstructor() == Error.CONSTRUCTOR) {
|
if (item.getConstructor() == Error.CONSTRUCTOR) {
|
||||||
var error = ((TdApi.Error) item);
|
var error = ((TdApi.Error) item);
|
||||||
sink.error(new TdError(error.code, error.message));
|
sink.error(new TdError(error.code, error.message));
|
||||||
} else {
|
} else {
|
||||||
//noinspection unchecked
|
sink.next(item);
|
||||||
sink.next((T) item);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -66,8 +65,7 @@ public class WrappedReactorTelegramClient implements ReactorTelegramClient {
|
|||||||
* @throws NullPointerException if query is null.
|
* @throws NullPointerException if query is null.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public <T extends TdApi.Object> T execute(TdApi.Function query) {
|
public TdApi.Object execute(TdApi.Function query) {
|
||||||
//noinspection unchecked
|
return reactiveTelegramClient.execute(query);
|
||||||
return (T) reactiveTelegramClient.execute(query);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ import it.tdlight.jni.TdApi.AuthorizationStateClosing;
|
|||||||
import it.tdlight.jni.TdApi.AuthorizationStateReady;
|
import it.tdlight.jni.TdApi.AuthorizationStateReady;
|
||||||
import it.tdlight.jni.TdApi.Close;
|
import it.tdlight.jni.TdApi.Close;
|
||||||
import it.tdlight.jni.TdApi.ConnectionStateReady;
|
import it.tdlight.jni.TdApi.ConnectionStateReady;
|
||||||
import it.tdlight.jni.TdApi.Error;
|
|
||||||
import it.tdlight.jni.TdApi.FormattedText;
|
import it.tdlight.jni.TdApi.FormattedText;
|
||||||
import it.tdlight.jni.TdApi.Function;
|
import it.tdlight.jni.TdApi.Function;
|
||||||
import it.tdlight.jni.TdApi.Message;
|
import it.tdlight.jni.TdApi.Message;
|
||||||
@ -24,7 +23,6 @@ import it.tdlight.jni.TdApi.UpdateAuthorizationState;
|
|||||||
import it.tdlight.jni.TdApi.UpdateConnectionState;
|
import it.tdlight.jni.TdApi.UpdateConnectionState;
|
||||||
import it.tdlight.jni.TdApi.UpdateNewMessage;
|
import it.tdlight.jni.TdApi.UpdateNewMessage;
|
||||||
import it.tdlight.tdlibsession.td.ReactorTelegramClient;
|
import it.tdlight.tdlibsession.td.ReactorTelegramClient;
|
||||||
import it.tdlight.tdlibsession.td.TdError;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -109,29 +107,23 @@ public class TestClient implements ReactorTelegramClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <T extends TdApi.Object> Mono<T> send(Function query) {
|
public Mono<TdApi.Object> send(Function query) {
|
||||||
return Mono.<T>fromCallable(() -> {
|
return Mono.fromCallable(() -> {
|
||||||
TdApi.Object result = executeCommon(query);
|
TdApi.Object result = executeCommon(query);
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
if (result.getConstructor() != Error.CONSTRUCTOR) {
|
return result;
|
||||||
//noinspection unchecked
|
|
||||||
return (T) result;
|
|
||||||
} else {
|
|
||||||
Error error = (Error) result;
|
|
||||||
throw new TdError(error.code, error.message);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
throw new TdError(500, "Unsupported");
|
return new TdApi.Error(500, "Unsupported");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <T extends TdApi.Object> T execute(Function query) {
|
public TdApi.Object execute(Function query) {
|
||||||
TdApi.Object result = executeCommon(query);
|
TdApi.Object result = executeCommon(query);
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
return (T) result;
|
return result;
|
||||||
}
|
}
|
||||||
throw new TdError(500, "Unsupported");
|
return new TdApi.Error(500, "Unsupported");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
Loading…
Reference in New Issue
Block a user