Untitled
unknown
plain_text
a year ago
2.0 kB
9
Indexable
package com.sec.smp.rm.service.filereader;
import com.sec.smp.rm.enums.ResponseCode;
import com.sec.smp.rm.exceptions.ForwardException;
import com.sec.smp.rm.service.aidregister.helper.ApplicationManager;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@Service
public class CSVReaderService {
private static final Logger LOGGER = LoggerFactory.getLogger(CSVReaderService.class);
public void processFile(MultipartFile file) throws IOException {
validateFileType(file);
Map<String, Set<String>> clientIPMap = new HashMap<>();
String cvsSplitBy = "\t";
try (BufferedReader reader = new BufferedReader(new InputStreamReader(file.getInputStream()))) {
String line;
while ((line = reader.readLine()) != null) {
String[] data = line.split(cvsSplitBy);
if (data.length != 2) {
LOGGER.debug("Invalid data format in file: {}", Arrays.toString(data));
continue; // Skip this line and move to the next one
}
String aid = data[0];
String ip = data[1];
}
for (Map.Entry<String, Set<String>> entry : clientIPMap.entrySet()) {
ApplicationManager.getInstance().setInHashset(entry.getKey(), entry.getValue());
}
}
}
private void validateFileType(MultipartFile file) {
// Check if the file type is not .csv
if (!file.getOriginalFilename().endsWith(".csv")) {
throw new ForwardException(ResponseCode.INVALID_FILE_TYPE);
}
}
}
Editor is loading...
Leave a Comment