Polish "Upgrade to Spring Boot 3"
This commit is contained in:
@@ -18,24 +18,36 @@ package org.springframework.statemachine.data.mongodb;
|
||||
import static org.junit.jupiter.api.extension.ConditionEvaluationResult.disabled;
|
||||
import static org.junit.jupiter.api.extension.ConditionEvaluationResult.enabled;
|
||||
|
||||
import java.net.Socket;
|
||||
import java.net.InetAddress;
|
||||
import java.net.ServerSocket;
|
||||
|
||||
import javax.net.ServerSocketFactory;
|
||||
|
||||
import org.junit.jupiter.api.extension.ConditionEvaluationResult;
|
||||
import org.junit.jupiter.api.extension.ExecutionCondition;
|
||||
import org.junit.jupiter.api.extension.ExtensionContext;
|
||||
|
||||
public class EnabledOnMongoDbCondition implements ExecutionCondition {
|
||||
|
||||
static final ConditionEvaluationResult ENABLED_ON_MONGO = enabled("Mongo DB found");
|
||||
static final ConditionEvaluationResult ENABLED_ON_MONGO = enabled("Mongo DB found");
|
||||
|
||||
static final ConditionEvaluationResult DISABLED_ON_MONGO = disabled("Mongo DB not found");
|
||||
static final ConditionEvaluationResult DISABLED_ON_MONGO = disabled("Mongo DB not found");
|
||||
|
||||
@Override
|
||||
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) {
|
||||
return isPortAvailable(27017) ? DISABLED_ON_MONGO : ENABLED_ON_MONGO;
|
||||
}
|
||||
|
||||
private static boolean isPortAvailable(int port) {
|
||||
try {
|
||||
ServerSocket serverSocket = ServerSocketFactory.getDefault()
|
||||
.createServerSocket(port, 1, InetAddress.getByName("localhost"));
|
||||
serverSocket.close();
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) {
|
||||
try {
|
||||
new Socket("localhost", 27017);
|
||||
return ENABLED_ON_MONGO;
|
||||
} catch (Exception e) {
|
||||
return DISABLED_ON_MONGO;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user