use of com.alibaba.csp.sentinel.dashboard.domain.cluster.request.ClusterServerModifyRequest in project Sentinel by alibaba.
the class ClusterConfigController method apiModifyClusterConfig.
@PostMapping("/config/modify_single")
public Result<Boolean> apiModifyClusterConfig(@RequestBody String payload) {
if (StringUtil.isBlank(payload)) {
return Result.ofFail(-1, "empty request body");
}
try {
JSONObject body = JSON.parseObject(payload);
if (body.containsKey(KEY_MODE)) {
int mode = body.getInteger(KEY_MODE);
switch(mode) {
case ClusterStateManager.CLUSTER_CLIENT:
ClusterClientModifyRequest data = JSON.parseObject(payload, ClusterClientModifyRequest.class);
Result<Boolean> res = checkValidRequest(data);
if (res != null) {
return res;
}
clusterConfigService.modifyClusterClientConfig(data).get();
return Result.ofSuccess(true);
case ClusterStateManager.CLUSTER_SERVER:
ClusterServerModifyRequest d = JSON.parseObject(payload, ClusterServerModifyRequest.class);
Result<Boolean> r = checkValidRequest(d);
if (r != null) {
return r;
}
// TODO: bad design here, should refactor!
clusterConfigService.modifyClusterServerConfig(d).get();
return Result.ofSuccess(true);
default:
return Result.ofFail(-1, "invalid mode");
}
}
return Result.ofFail(-1, "invalid parameter");
} catch (ExecutionException ex) {
logger.error("Error when modifying cluster config", ex.getCause());
return errorResponse(ex);
} catch (Throwable ex) {
logger.error("Error when modifying cluster config", ex);
return Result.ofFail(-1, ex.getMessage());
}
}
use of com.alibaba.csp.sentinel.dashboard.domain.cluster.request.ClusterServerModifyRequest in project spring-boot-student by wyh-spring-ecosystem-student.
the class ClusterConfigService method modifyClusterServerConfig.
public CompletableFuture<Void> modifyClusterServerConfig(ClusterServerModifyRequest request) {
ServerTransportConfig transportConfig = request.getTransportConfig();
ServerFlowConfig flowConfig = request.getFlowConfig();
Set<String> namespaceSet = request.getNamespaceSet();
if (invalidTransportConfig(transportConfig)) {
throw new IllegalArgumentException("Invalid transport config in request");
}
if (invalidFlowConfig(flowConfig)) {
throw new IllegalArgumentException("Invalid flow config in request");
}
if (namespaceSet == null) {
throw new IllegalArgumentException("namespace set cannot be null");
}
String app = request.getApp();
String ip = request.getIp();
int port = request.getPort();
return sentinelApiClient.modifyClusterServerNamespaceSet(app, ip, port, namespaceSet).thenCompose(v -> sentinelApiClient.modifyClusterServerTransportConfig(app, ip, port, transportConfig)).thenCompose(v -> sentinelApiClient.modifyClusterServerFlowConfig(app, ip, port, flowConfig)).thenCompose(v -> sentinelApiClient.modifyClusterMode(ip, port, ClusterStateManager.CLUSTER_SERVER));
}
use of com.alibaba.csp.sentinel.dashboard.domain.cluster.request.ClusterServerModifyRequest in project Sentinel by alibaba.
the class ClusterConfigService method modifyClusterServerConfig.
public CompletableFuture<Void> modifyClusterServerConfig(ClusterServerModifyRequest request) {
ServerTransportConfig transportConfig = request.getTransportConfig();
ServerFlowConfig flowConfig = request.getFlowConfig();
Set<String> namespaceSet = request.getNamespaceSet();
if (invalidTransportConfig(transportConfig)) {
throw new IllegalArgumentException("Invalid transport config in request");
}
if (invalidFlowConfig(flowConfig)) {
throw new IllegalArgumentException("Invalid flow config in request");
}
if (namespaceSet == null) {
throw new IllegalArgumentException("namespace set cannot be null");
}
String app = request.getApp();
String ip = request.getIp();
int port = request.getPort();
return sentinelApiClient.modifyClusterServerNamespaceSet(app, ip, port, namespaceSet).thenCompose(v -> sentinelApiClient.modifyClusterServerTransportConfig(app, ip, port, transportConfig)).thenCompose(v -> sentinelApiClient.modifyClusterServerFlowConfig(app, ip, port, flowConfig)).thenCompose(v -> sentinelApiClient.modifyClusterMode(ip, port, ClusterStateManager.CLUSTER_SERVER));
}
use of com.alibaba.csp.sentinel.dashboard.domain.cluster.request.ClusterServerModifyRequest in project pig by pig-mesh.
the class ClusterConfigService method modifyClusterServerConfig.
public CompletableFuture<Void> modifyClusterServerConfig(ClusterServerModifyRequest request) {
ServerTransportConfig transportConfig = request.getTransportConfig();
ServerFlowConfig flowConfig = request.getFlowConfig();
Set<String> namespaceSet = request.getNamespaceSet();
if (invalidTransportConfig(transportConfig)) {
throw new IllegalArgumentException("Invalid transport config in request");
}
if (invalidFlowConfig(flowConfig)) {
throw new IllegalArgumentException("Invalid flow config in request");
}
if (namespaceSet == null) {
throw new IllegalArgumentException("namespace set cannot be null");
}
String app = request.getApp();
String ip = request.getIp();
int port = request.getPort();
return sentinelApiClient.modifyClusterServerNamespaceSet(app, ip, port, namespaceSet).thenCompose(v -> sentinelApiClient.modifyClusterServerTransportConfig(app, ip, port, transportConfig)).thenCompose(v -> sentinelApiClient.modifyClusterServerFlowConfig(app, ip, port, flowConfig)).thenCompose(v -> sentinelApiClient.modifyClusterMode(ip, port, ClusterStateManager.CLUSTER_SERVER));
}
use of com.alibaba.csp.sentinel.dashboard.domain.cluster.request.ClusterServerModifyRequest in project pig by pig-mesh.
the class ClusterConfigController method apiModifyClusterConfig.
@PostMapping("/config/modify_single")
public Result<Boolean> apiModifyClusterConfig(@RequestBody String payload) {
if (StringUtil.isBlank(payload)) {
return Result.ofFail(-1, "empty request body");
}
try {
JSONObject body = JSON.parseObject(payload);
if (body.containsKey(KEY_MODE)) {
int mode = body.getInteger(KEY_MODE);
switch(mode) {
case ClusterStateManager.CLUSTER_CLIENT:
ClusterClientModifyRequest data = JSON.parseObject(payload, ClusterClientModifyRequest.class);
Result<Boolean> res = checkValidRequest(data);
if (res != null) {
return res;
}
clusterConfigService.modifyClusterClientConfig(data).get();
return Result.ofSuccess(true);
case ClusterStateManager.CLUSTER_SERVER:
ClusterServerModifyRequest d = JSON.parseObject(payload, ClusterServerModifyRequest.class);
Result<Boolean> r = checkValidRequest(d);
if (r != null) {
return r;
}
// TODO: bad design here, should refactor!
clusterConfigService.modifyClusterServerConfig(d).get();
return Result.ofSuccess(true);
default:
return Result.ofFail(-1, "invalid mode");
}
}
return Result.ofFail(-1, "invalid parameter");
} catch (ExecutionException ex) {
logger.error("Error when modifying cluster config", ex.getCause());
return errorResponse(ex);
} catch (Throwable ex) {
logger.error("Error when modifying cluster config", ex);
return Result.ofFail(-1, ex.getMessage());
}
}
Aggregations