release v2.3.4

remove basic wrapper methods
This commit is contained in:
tommyskeff
2024-10-31 17:18:35 +00:00
parent b869ca04c0
commit 18d334a530
8 changed files with 2 additions and 92 deletions

42
futur-api/.gitignore vendored
View File

@@ -1,42 +0,0 @@
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

View File

View File

@@ -3,8 +3,6 @@ package dev.tommyjs.futur.promise;
import dev.tommyjs.futur.executor.PromiseExecutor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.redisson.api.RFuture;
import reactor.core.publisher.Mono;
import java.util.*;
import java.util.concurrent.CompletableFuture;
@@ -148,21 +146,11 @@ public abstract class AbstractPromiseFactory<F> implements PromiseFactory {
return promise;
}
@Override
public <T> @NotNull Promise<T> wrapMono(@NotNull Mono<T> mono) {
return wrap(mono.toFuture());
}
@Override
public <T> @NotNull Promise<T> wrap(@NotNull CompletableFuture<T> future) {
return wrap(future, future);
}
@Override
public <T> @NotNull Promise<T> wrapRedisson(@NotNull RFuture<T> future) {
return wrap(future, future);
}
private <T> @NotNull Promise<T> wrap(@NotNull CompletionStage<T> completion, Future<T> future) {
Promise<T> promise = unresolved();

View File

@@ -2,9 +2,7 @@ package dev.tommyjs.futur.promise;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.redisson.api.RFuture;
import org.slf4j.Logger;
import reactor.core.publisher.Mono;
import java.util.Arrays;
import java.util.List;
@@ -89,10 +87,6 @@ public interface PromiseFactory {
return race(false, promises);
}
<T> @NotNull Promise<T> wrapMono(@NotNull Mono<T> mono);
<T> @NotNull Promise<T> wrapRedisson(@NotNull RFuture<T> future);
<T> @NotNull Promise<T> wrap(@NotNull CompletableFuture<T> future);
default @NotNull Promise<Void> start() {

View File

@@ -1,6 +1,5 @@
package dev.tommyjs.futur;
import dev.tommyjs.futur.executor.PromiseExecutor;
import dev.tommyjs.futur.executor.SinglePoolExecutor;
import dev.tommyjs.futur.impl.SimplePromiseFactory;
import dev.tommyjs.futur.promise.Promise;
@@ -8,11 +7,9 @@ import dev.tommyjs.futur.promise.PromiseFactory;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import reactor.core.publisher.Mono;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -22,22 +19,9 @@ public final class PromiseTests {
private final ScheduledExecutorService executor = Executors.newScheduledThreadPool(5);
private final PromiseFactory pfac = new SimplePromiseFactory<>(new SinglePoolExecutor(executor), logger);
@Test
public void testMono() {
Exception value = new Exception("Test Error");
var error = pfac.wrapMono(Mono.error(value));
assert Objects.requireNonNull(error.getCompletion()).isError();
assert error.getCompletion().getException() == value;
var resolved = pfac.wrapMono(Mono.just(value));
assert !Objects.requireNonNull(resolved.getCompletion()).isError();
assert resolved.getCompletion().getResult() == value;
}
@Test
public void testShutdown() {
executor.close();
executor.shutdown();
Promise<?> promise = pfac.resolve(null).thenSupplyAsync(() -> null);
try {
promise.await();