diff --git a/src/main/java/com/example/goorm/CsvFieldDto.java b/src/main/java/com/example/goorm/CsvFieldDto.java deleted file mode 100644 index acd516b..0000000 --- a/src/main/java/com/example/goorm/CsvFieldDto.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.goorm; - -public class CsvFieldDto { - private String name; - private String type; - private String pos; -// String name = lineArr[0]; -// String type = lineArr[1].split("/")[1]; -// String pos = lineArr[2]; -} diff --git a/src/main/java/com/example/goorm/FileItemReaderJobConfig.java b/src/main/java/com/example/goorm/FileItemReaderJobConfig.java index d55e782..a51184b 100644 --- a/src/main/java/com/example/goorm/FileItemReaderJobConfig.java +++ b/src/main/java/com/example/goorm/FileItemReaderJobConfig.java @@ -1,93 +1,93 @@ -package com.example.goorm; - -import com.example.goorm.oreum.CsvReader; -import com.example.goorm.oreum.CsvWriter; -import com.example.goorm.oreum.Oreum; -import com.example.goorm.oreum.repository.OreumRepository; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.batch.core.Job; -import org.springframework.batch.core.Step; -import org.springframework.batch.core.configuration.annotation.JobBuilderFactory; -import org.springframework.batch.core.configuration.annotation.StepBuilderFactory; -import org.springframework.batch.item.ItemProcessor; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -@Slf4j -@Configuration -@RequiredArgsConstructor -public class FileItemReaderJobConfig { - private final JobBuilderFactory jobBuilderFactory; - private final StepBuilderFactory stepBuilderFactory; - - private final OreumRepository oreumRepository; - private final CsvReader csvReader; - private final CsvWriter csvWriter; - - private static final int chunkSize = 366; - - private static int monthCheck = 1; - private static int dayCheck = 1; - - // csvFileItemReaderJob 라는 이름의 job 생성 - @Bean - public Job csvFileItemReaderJob() { - return jobBuilderFactory.get("csvFileItemReaderJob") - .start(csvFileItemReaderStep()) - .build(); - } - - @Bean - public ItemProcessor csvProcessor() { - return oreumStr -> { - String[] lineArr = oreumStr.split(","); - String name = lineArr[0]; - String type = lineArr[1].split("/")[1]; - String pos = lineArr[2]; - System.out.println(name+" "+type+" "+pos); - double x = Double.parseDouble(pos.split(" ")[0]); - double y = Double.parseDouble(pos.split(" ")[1]); - double z = Double.parseDouble(pos.split(" ")[2]); - - Oreum oreum = Oreum.builder() - .name(name) - .xPos(x) - .yPos(y) - .zPos(z) - .month(monthCheck) - .day(dayCheck) - .build(); - - oreum.toTypeEnum(type); - oreumRepository.save(oreum); - if((monthCheck == 1 || monthCheck == 3 || monthCheck == 5 || monthCheck == 7 - || monthCheck == 8 || monthCheck == 10 || monthCheck ==12) && dayCheck == 31) { - monthCheck++; - dayCheck = 0; - } - else if(monthCheck == 2 && dayCheck == 29){ - monthCheck++; - dayCheck = 0; - } - else if((monthCheck == 4 || monthCheck == 6 || monthCheck ==9 || monthCheck == 11) && dayCheck == 30){ - monthCheck++; - dayCheck = 0; - } - dayCheck++; - return oreum; - }; - } - - // csvFileItemReaderStep 이라는 이름의 Step 생성 - @Bean - public Step csvFileItemReaderStep() { - return stepBuilderFactory.get("csvFileItemReaderStep") - .chunk(chunkSize) - // Reader 에서 읽어올 타입 - String, Writer에 넘겨줄 타입이 Oreum - .reader(csvReader.csvFileItemReader()) // 일단 csv에서 String 읽기 - .processor(csvProcessor()) // String을 가공 - .writer(csvWriter) - .build(); - } -} +//package com.example.goorm; +// +//import com.example.goorm.oreum.CsvReader; +//import com.example.goorm.oreum.CsvWriter; +//import com.example.goorm.oreum.Oreum; +//import com.example.goorm.oreum.repository.OreumRepository; +//import lombok.RequiredArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.batch.core.Job; +//import org.springframework.batch.core.Step; +//import org.springframework.batch.core.configuration.annotation.JobBuilderFactory; +//import org.springframework.batch.core.configuration.annotation.StepBuilderFactory; +//import org.springframework.batch.item.ItemProcessor; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +// +//@Slf4j +//@Configuration +//@RequiredArgsConstructor +//public class FileItemReaderJobConfig { +// private final JobBuilderFactory jobBuilderFactory; +// private final StepBuilderFactory stepBuilderFactory; +// +// private final OreumRepository oreumRepository; +// private final CsvReader csvReader; +// private final CsvWriter csvWriter; +// +// private static final int chunkSize = 366; +// +// private static int monthCheck = 1; +// private static int dayCheck = 1; +// +// // csvFileItemReaderJob 라는 이름의 job 생성 +// @Bean +// public Job csvFileItemReaderJob() { +// return jobBuilderFactory.get("csvFileItemReaderJob") +// .start(csvFileItemReaderStep()) +// .build(); +// } +// +// @Bean +// public ItemProcessor csvProcessor() { +// return oreumStr -> { +// String[] lineArr = oreumStr.split(","); +// String name = lineArr[0]; +// String type = lineArr[1].split("/")[1]; +// String pos = lineArr[2]; +// System.out.println(name+" "+type+" "+pos); +// double x = Double.parseDouble(pos.split(" ")[0]); +// double y = Double.parseDouble(pos.split(" ")[1]); +// double z = Double.parseDouble(pos.split(" ")[2]); +// +// Oreum oreum = Oreum.builder() +// .name(name) +// .xPos(x) +// .yPos(y) +// .zPos(z) +// .month(monthCheck) +// .day(dayCheck) +// .build(); +// +// oreum.toTypeEnum(type); +// oreumRepository.save(oreum); +// if((monthCheck == 1 || monthCheck == 3 || monthCheck == 5 || monthCheck == 7 +// || monthCheck == 8 || monthCheck == 10 || monthCheck ==12) && dayCheck == 31) { +// monthCheck++; +// dayCheck = 0; +// } +// else if(monthCheck == 2 && dayCheck == 29){ +// monthCheck++; +// dayCheck = 0; +// } +// else if((monthCheck == 4 || monthCheck == 6 || monthCheck ==9 || monthCheck == 11) && dayCheck == 30){ +// monthCheck++; +// dayCheck = 0; +// } +// dayCheck++; +// return oreum; +// }; +// } +// +// // csvFileItemReaderStep 이라는 이름의 Step 생성 +// @Bean +// public Step csvFileItemReaderStep() { +// return stepBuilderFactory.get("csvFileItemReaderStep") +// .chunk(chunkSize) +// // Reader 에서 읽어올 타입 - String, Writer에 넘겨줄 타입이 Oreum +// .reader(csvReader.csvFileItemReader()) // 일단 csv에서 String 읽기 +// .processor(csvProcessor()) // String을 가공 +// .writer(csvWriter) +// .build(); +// } +//} diff --git a/src/main/java/com/example/goorm/oreum/CsvReader.java b/src/main/java/com/example/goorm/oreum/CsvReader.java index 345f701..e23145f 100644 --- a/src/main/java/com/example/goorm/oreum/CsvReader.java +++ b/src/main/java/com/example/goorm/oreum/CsvReader.java @@ -1,22 +1,22 @@ -package com.example.goorm.oreum; - -import lombok.RequiredArgsConstructor; -import org.springframework.batch.item.file.FlatFileItemReader; -import org.springframework.batch.item.file.mapping.DefaultLineMapper; -import org.springframework.batch.item.file.transform.DelimitedLineTokenizer; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.io.ClassPathResource; - -@Configuration -@RequiredArgsConstructor -public class CsvReader { - @Bean - public FlatFileItemReader csvFileItemReader() { - /* file read */ - FlatFileItemReader flatFileItemReader = new FlatFileItemReader<>(); - flatFileItemReader.setResource(new ClassPathResource("C:\\Users\\Windows10\\Desktop\\오름.txt")); - flatFileItemReader.setEncoding("UTF-8"); // encoding - return flatFileItemReader; - } -} \ No newline at end of file +//package com.example.goorm.oreum; +// +//import lombok.RequiredArgsConstructor; +//import org.springframework.batch.item.file.FlatFileItemReader; +//import org.springframework.batch.item.file.mapping.DefaultLineMapper; +//import org.springframework.batch.item.file.transform.DelimitedLineTokenizer; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.core.io.ClassPathResource; +// +//@Configuration +//@RequiredArgsConstructor +//public class CsvReader { +// @Bean +// public FlatFileItemReader csvFileItemReader() { +// /* file read */ +// FlatFileItemReader flatFileItemReader = new FlatFileItemReader<>(); +// flatFileItemReader.setResource(new ClassPathResource("C:\\Users\\Windows10\\Desktop\\오름.txt")); +// flatFileItemReader.setEncoding("UTF-8"); // encoding +// return flatFileItemReader; +// } +//} \ No newline at end of file diff --git a/src/main/java/com/example/goorm/oreum/CsvWriter.java b/src/main/java/com/example/goorm/oreum/CsvWriter.java index c86bcb3..c6f868a 100644 --- a/src/main/java/com/example/goorm/oreum/CsvWriter.java +++ b/src/main/java/com/example/goorm/oreum/CsvWriter.java @@ -1,21 +1,21 @@ -package com.example.goorm.oreum; - -import com.example.goorm.oreum.repository.OreumRepository; -import lombok.RequiredArgsConstructor; -import org.springframework.batch.item.ItemWriter; -import org.springframework.context.annotation.Configuration; - -import java.util.ArrayList; -import java.util.List; - -@Configuration -@RequiredArgsConstructor -public class CsvWriter implements ItemWriter { - - private final OreumRepository oreumRepository; - - @Override - public void write(List list) throws Exception { - oreumRepository.saveAll(new ArrayList(list)); - } -} \ No newline at end of file +//package com.example.goorm.oreum; +// +//import com.example.goorm.oreum.repository.OreumRepository; +//import lombok.RequiredArgsConstructor; +//import org.springframework.batch.item.ItemWriter; +//import org.springframework.context.annotation.Configuration; +// +//import java.util.ArrayList; +//import java.util.List; +// +//@Configuration +//@RequiredArgsConstructor +//public class CsvWriter implements ItemWriter { +// +// private final OreumRepository oreumRepository; +// +// @Override +// public void write(List list) throws Exception { +// oreumRepository.saveAll(new ArrayList(list)); +// } +//} \ No newline at end of file