Skip to content

Commit eb0f9f4

Browse files
committed
spotlessApply
1 parent 4a06a1f commit eb0f9f4

9 files changed

Lines changed: 639 additions & 638 deletions

File tree

src/main/java/core/packetproxy/extensions/mcp/jobs/JobManager.java

Lines changed: 107 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import static packetproxy.util.Logging.log;
44

5-
import java.time.Instant;
65
import java.util.ArrayList;
76
import java.util.List;
87
import java.util.Map;
@@ -13,107 +12,110 @@
1312
* 送信系ツールのジョブ管理システム
1413
*/
1514
public class JobManager {
16-
17-
private static JobManager instance;
18-
private final Map<String, PacketSendJob> jobs = new ConcurrentHashMap<>();
19-
20-
private JobManager() {}
21-
22-
public static synchronized JobManager getInstance() {
23-
if (instance == null) {
24-
instance = new JobManager();
25-
}
26-
return instance;
27-
}
28-
29-
/**
30-
* 新しいジョブを作成し、管理対象に追加
31-
*/
32-
public String createJob(String toolName, int totalPacketsToSend) {
33-
String jobId = UUID.randomUUID().toString();
34-
PacketSendJob job = new PacketSendJob(jobId, toolName, totalPacketsToSend);
35-
jobs.put(jobId, job);
36-
log("JobManager: Created job " + jobId + " for tool " + toolName + " (total packets: " + totalPacketsToSend + ")");
37-
return jobId;
38-
}
39-
40-
/**
41-
* ジョブを取得
42-
*/
43-
public PacketSendJob getJob(String jobId) {
44-
return jobs.get(jobId);
45-
}
46-
47-
/**
48-
* ジョブの送信開始を記録
49-
*/
50-
public void markJobSending(String jobId) {
51-
PacketSendJob job = jobs.get(jobId);
52-
if (job != null) {
53-
job.updateStatus(JobStatus.SENDING);
54-
log("JobManager: Job " + jobId + " status changed to SENDING");
55-
}
56-
}
57-
58-
/**
59-
* ジョブの送信完了を記録
60-
*/
61-
public void markJobSent(String jobId, List<Integer> sentPacketIds) {
62-
PacketSendJob job = jobs.get(jobId);
63-
if (job != null) {
64-
job.updateStatus(JobStatus.SENT);
65-
job.setSentPacketIds(sentPacketIds);
66-
log("JobManager: Job " + jobId + " status changed to SENT with " + sentPacketIds.size() + " sent packets");
67-
}
68-
}
69-
70-
/**
71-
* ジョブのレスポンス受信完了を記録
72-
*/
73-
public void markJobResponseReceived(String jobId, List<Integer> responsePacketIds) {
74-
PacketSendJob job = jobs.get(jobId);
75-
if (job != null) {
76-
job.updateStatus(JobStatus.RESPONSE_RECEIVED);
77-
job.setResponsePacketIds(responsePacketIds);
78-
log("JobManager: Job " + jobId + " status changed to RESPONSE_RECEIVED with " + responsePacketIds.size() + " response packets");
79-
}
80-
}
81-
82-
/**
83-
* ジョブのエラーを記録
84-
*/
85-
public void markJobError(String jobId, String errorMessage) {
86-
PacketSendJob job = jobs.get(jobId);
87-
if (job != null) {
88-
job.updateStatus(JobStatus.ERROR);
89-
job.setErrorMessage(errorMessage);
90-
log("JobManager: Job " + jobId + " status changed to ERROR: " + errorMessage);
91-
}
92-
}
93-
94-
/**
95-
* 全てのジョブ一覧を取得
96-
*/
97-
public List<PacketSendJob> getAllJobs() {
98-
return new ArrayList<>(jobs.values());
99-
}
100-
101-
/**
102-
* 古いジョブをクリーンアップ(1時間以上経過したもの)
103-
*/
104-
public void cleanup() {
105-
long oneHourAgo = System.currentTimeMillis() - (60 * 60 * 1000);
106-
List<String> toRemove = new ArrayList<>();
107-
108-
for (Map.Entry<String, PacketSendJob> entry : jobs.entrySet()) {
109-
if (entry.getValue().getCreatedTime().toEpochMilli() < oneHourAgo) {
110-
toRemove.add(entry.getKey());
111-
}
112-
}
113-
114-
for (String jobId : toRemove) {
115-
jobs.remove(jobId);
116-
log("JobManager: Cleaned up old job " + jobId);
117-
}
118-
}
119-
}
15+
16+
private static JobManager instance;
17+
private final Map<String, PacketSendJob> jobs = new ConcurrentHashMap<>();
18+
19+
private JobManager() {
20+
}
21+
22+
public static synchronized JobManager getInstance() {
23+
if (instance == null) {
24+
instance = new JobManager();
25+
}
26+
return instance;
27+
}
28+
29+
/**
30+
* 新しいジョブを作成し、管理対象に追加
31+
*/
32+
public String createJob(String toolName, int totalPacketsToSend) {
33+
String jobId = UUID.randomUUID().toString();
34+
PacketSendJob job = new PacketSendJob(jobId, toolName, totalPacketsToSend);
35+
jobs.put(jobId, job);
36+
log("JobManager: Created job " + jobId + " for tool " + toolName + " (total packets: " + totalPacketsToSend
37+
+ ")");
38+
return jobId;
39+
}
40+
41+
/**
42+
* ジョブを取得
43+
*/
44+
public PacketSendJob getJob(String jobId) {
45+
return jobs.get(jobId);
46+
}
47+
48+
/**
49+
* ジョブの送信開始を記録
50+
*/
51+
public void markJobSending(String jobId) {
52+
PacketSendJob job = jobs.get(jobId);
53+
if (job != null) {
54+
job.updateStatus(JobStatus.SENDING);
55+
log("JobManager: Job " + jobId + " status changed to SENDING");
56+
}
57+
}
58+
59+
/**
60+
* ジョブの送信完了を記録
61+
*/
62+
public void markJobSent(String jobId, List<Integer> sentPacketIds) {
63+
PacketSendJob job = jobs.get(jobId);
64+
if (job != null) {
65+
job.updateStatus(JobStatus.SENT);
66+
job.setSentPacketIds(sentPacketIds);
67+
log("JobManager: Job " + jobId + " status changed to SENT with " + sentPacketIds.size() + " sent packets");
68+
}
69+
}
70+
71+
/**
72+
* ジョブのレスポンス受信完了を記録
73+
*/
74+
public void markJobResponseReceived(String jobId, List<Integer> responsePacketIds) {
75+
PacketSendJob job = jobs.get(jobId);
76+
if (job != null) {
77+
job.updateStatus(JobStatus.RESPONSE_RECEIVED);
78+
job.setResponsePacketIds(responsePacketIds);
79+
log("JobManager: Job " + jobId + " status changed to RESPONSE_RECEIVED with " + responsePacketIds.size()
80+
+ " response packets");
81+
}
82+
}
83+
84+
/**
85+
* ジョブのエラーを記録
86+
*/
87+
public void markJobError(String jobId, String errorMessage) {
88+
PacketSendJob job = jobs.get(jobId);
89+
if (job != null) {
90+
job.updateStatus(JobStatus.ERROR);
91+
job.setErrorMessage(errorMessage);
92+
log("JobManager: Job " + jobId + " status changed to ERROR: " + errorMessage);
93+
}
94+
}
95+
96+
/**
97+
* 全てのジョブ一覧を取得
98+
*/
99+
public List<PacketSendJob> getAllJobs() {
100+
return new ArrayList<>(jobs.values());
101+
}
102+
103+
/**
104+
* 古いジョブをクリーンアップ(1時間以上経過したもの)
105+
*/
106+
public void cleanup() {
107+
long oneHourAgo = System.currentTimeMillis() - (60 * 60 * 1000);
108+
List<String> toRemove = new ArrayList<>();
109+
110+
for (Map.Entry<String, PacketSendJob> entry : jobs.entrySet()) {
111+
if (entry.getValue().getCreatedTime().toEpochMilli() < oneHourAgo) {
112+
toRemove.add(entry.getKey());
113+
}
114+
}
115+
116+
for (String jobId : toRemove) {
117+
jobs.remove(jobId);
118+
log("JobManager: Cleaned up old job " + jobId);
119+
}
120+
}
121+
}

0 commit comments

Comments
 (0)