Skip to content

Commit 09c4f34

Browse files
committed
feat: clean code
1 parent 9b17298 commit 09c4f34

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

backend/services/data-cleaning-service/src/main/java/com/datamate/cleaning/application/CleaningTaskService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ public List<CleaningResultDto> getTaskResults(String taskId) {
149149
}
150150

151151
public List<CleaningTaskLog> getTaskLog(String taskId) {
152+
cleanTaskValidator.checkTaskId(taskId);
152153
String logPath = FLOW_PATH + "/" + taskId + "/output.log";
153154
try (Stream<String> lines = Files.lines(Paths.get(logPath))) {
154155
List<CleaningTaskLog> logs = new ArrayList<>();
@@ -188,6 +189,7 @@ private String getLogLevel(String logLine, String defaultLevel) {
188189

189190
@Transactional
190191
public void deleteTask(String taskId) {
192+
cleanTaskValidator.checkTaskId(taskId);
191193
cleaningTaskRepo.deleteTaskById(taskId);
192194
operatorInstanceRepo.deleteByInstanceId(taskId);
193195
cleaningResultRepo.deleteByInstanceId(taskId);
@@ -322,6 +324,7 @@ private void scanDataset(String taskId, String srcDatasetId, Set<String> succeed
322324
}
323325

324326
private void doScan(String taskId, String srcDatasetId, Predicate<DatasetFile> filterCondition) {
327+
cleanTaskValidator.checkTaskId(taskId);
325328
String targetFilePath = FLOW_PATH + "/" + taskId + "/dataset.jsonl";
326329
File targetFile = new File(targetFilePath);
327330
if (targetFile.getParentFile() != null && !targetFile.getParentFile().exists()) {

backend/services/data-cleaning-service/src/main/java/com/datamate/cleaning/infrastructure/validator/CleanTaskValidator.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,25 @@
44
import com.datamate.cleaning.domain.repository.CleaningTaskRepository;
55
import com.datamate.cleaning.interfaces.dto.OperatorInstanceDto;
66
import com.datamate.common.infrastructure.exception.BusinessException;
7+
import com.datamate.common.infrastructure.exception.SystemErrorCode;
78
import lombok.RequiredArgsConstructor;
89
import org.apache.commons.lang3.StringUtils;
910
import org.springframework.stereotype.Component;
1011

1112
import java.util.List;
1213
import java.util.Locale;
14+
import java.util.regex.Pattern;
1315

1416

1517
@Component
1618
@RequiredArgsConstructor
1719
public class CleanTaskValidator {
1820
private final CleaningTaskRepository cleaningTaskRepo;
1921

22+
private final Pattern UUID_PATTERN = Pattern.compile(
23+
"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
24+
);
25+
2026
public void checkNameDuplication(String name) {
2127
if (cleaningTaskRepo.isNameExist(name)) {
2228
throw BusinessException.of(CleanErrorCode.DUPLICATE_TASK_NAME);
@@ -39,4 +45,10 @@ public void checkInputAndOutput(List<OperatorInstanceDto> operators) {
3945
front.getName(), back.getName()));
4046
}
4147
}
48+
49+
public void checkTaskId(String id) {
50+
if (id == null || !UUID_PATTERN.matcher(id).matches()) {
51+
throw BusinessException.of(SystemErrorCode.INVALID_PARAMETER);
52+
}
53+
}
4254
}

0 commit comments

Comments
 (0)