package com.pocproject.pocproject.impl; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.List; import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource; import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;
import org.apache.commons.csv.QuoteMode;
import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.database.JdbcCursorItemReader;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import com.opencsv.CSVWriter;
import com.opencsv.bean.StatefulBeanToCsv;
import com.opencsv.bean.StatefulBeanToCsvBuilder;
import com.opencsv.exceptions.CsvDataTypeMismatchException;
import com.opencsv.exceptions.CsvRequiredFieldEmptyException;
import com.pocproject.pocproject.entity.TomOrder;
import com.pocproject.pocproject.repository.TomorderRepository;
@RestController
@RequestMapping("/orderIds")
@Autowired
private TomorderRepository tomorderRepository;
@Autowired
CustomWriter customWriter;
@GetMapping
public List<String> gettingOrderId() throws CsvDataTypeMismatchException, CsvRequiredFieldEmptyException, IOException{
List<String> orderIdlist =tomorderRepository.orderIdList();
System.out.println(orderIdlist);
String filepath="orderIds.csv";
FileWriter writer=new FileWriter(filepath);
StatefulBeanToCsv<String> statefulBeanToCsv=new StatefulBeanToCsvBuilder<String>(writer).withSeparator(CSVWriter.DEFAULT_SEPARATOR)
.withQuotechar(CSVWriter.NO_QUOTE_CHARACTER)
.withEscapechar(CSVWriter.DEFAULT_ESCAPE_CHARACTER)
.withLineEnd(CSVWriter.DEFAULT_LINE_END)
.build();
if(orderIdlist!=null){
statefulBeanToCsv.write(orderIdlist);
}
return orderIdlist;
}
}