|
|
@@ -2,9 +2,7 @@ package cn.reghao.bnt.agent.ws.event.handler;
|
|
|
|
|
|
import cn.reghao.bnt.common.docker.Docker;
|
|
|
import cn.reghao.bnt.common.docker.DockerService;
|
|
|
-import cn.reghao.bnt.common.docker.model.ContainerOps;
|
|
|
-import cn.reghao.bnt.common.docker.model.ImageDelete;
|
|
|
-import cn.reghao.bnt.common.docker.model.ImageQuery;
|
|
|
+import cn.reghao.bnt.common.docker.model.DockerQuery;
|
|
|
import cn.reghao.bnt.common.machine.Machine;
|
|
|
import cn.reghao.bnt.common.msg.MessageSender;
|
|
|
import cn.reghao.bnt.common.msg.constant.DockerOps;
|
|
|
@@ -13,16 +11,19 @@ import cn.reghao.bnt.common.msg.event.EvtDockerOpsResult;
|
|
|
import cn.reghao.jutil.jdk.event.handler.Handler;
|
|
|
import cn.reghao.jutil.jdk.event.message.Event;
|
|
|
import cn.reghao.jutil.jdk.event.message.EventMessage;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
-import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import static cn.reghao.bnt.common.msg.constant.DockerOps.containerRm;
|
|
|
|
|
|
/**
|
|
|
* @author reghao
|
|
|
* @date 2025-12-16 20:03:03
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
public class EvtDockerHandler extends Handler {
|
|
|
private final MessageSender messageSender;
|
|
|
private final DockerService dockerService;
|
|
|
@@ -37,44 +38,27 @@ public class EvtDockerHandler extends Handler {
|
|
|
EvtDockerOps evtDockerOps = (EvtDockerOps) evt;
|
|
|
|
|
|
String ops = evtDockerOps.getOps();
|
|
|
+ DockerQuery dockerQuery = evtDockerOps.getDockerQuery();
|
|
|
List<String> payload = evtDockerOps.getPayload();
|
|
|
EvtDockerOpsResult evtDockerOpsResult = new EvtDockerOpsResult(ops, Machine.ID);
|
|
|
List<Object> list = new ArrayList<>();
|
|
|
try {
|
|
|
switch (DockerOps.valueOf(ops)) {
|
|
|
case imageList -> {
|
|
|
- ImageQuery imageQuery = new ImageQuery();
|
|
|
- list.addAll(dockerService.getDockerImages(imageQuery));
|
|
|
+ list.addAll(dockerService.getDockerImages(dockerQuery));
|
|
|
}
|
|
|
case imageRm -> {
|
|
|
- List<String> imageIds = payload.stream().map(obj -> (String) obj).collect(Collectors.toList());
|
|
|
- ImageDelete imageDelete = new ImageDelete();
|
|
|
- imageDelete.setImageIds(imageIds);
|
|
|
- dockerService.rmDockerImages(imageDelete);
|
|
|
+ dockerService.rmDockerImages(evtDockerOps);
|
|
|
}
|
|
|
case containerList -> list.addAll(dockerService.getDockerContainers());
|
|
|
case containerRm -> {
|
|
|
payload.forEach(obj -> {
|
|
|
String containerId = (String) obj;
|
|
|
- ContainerOps containerOps = new ContainerOps(3, containerId);
|
|
|
- dockerService.handleDockerContainer(containerOps);
|
|
|
- });
|
|
|
- }
|
|
|
- case containerStart -> {
|
|
|
- payload.forEach(obj -> {
|
|
|
- String containerId = (String) obj;
|
|
|
- ContainerOps containerOps = new ContainerOps(1, containerId);
|
|
|
- dockerService.handleDockerContainer(containerOps);
|
|
|
- });
|
|
|
- }
|
|
|
- case containerStop -> {
|
|
|
- payload.forEach(obj -> {
|
|
|
- String containerId = (String) obj;
|
|
|
- ContainerOps containerOps = new ContainerOps(2, containerId);
|
|
|
- dockerService.handleDockerContainer(containerOps);
|
|
|
+ dockerService.handleDockerContainer(containerRm.name(), containerId);
|
|
|
});
|
|
|
}
|
|
|
default -> {
|
|
|
+ log.error("Unsupported Docker operation: {}", ops);
|
|
|
}
|
|
|
}
|
|
|
} catch (Exception e) {
|