
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package com.takensoft.pohangTp.data.util;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.takensoft.pohangTp.common.file.vo.FileInfo;
import com.takensoft.pohangTp.data.vo.ColumnData;
import com.takensoft.pohangTp.data.vo.DataTable;
import com.takensoft.pohangTp.data.vo.Dataset;
/**
* @author 김성원
* @since 2024.01.09
*
* 파일, DB, API, Dataset 간의 변환을 위한 클래스
*/
public class DataTableConvert {
/**
* @author 김성원
* @since 2024.01.12
*
* 파일 -> 데이터셋 변환(엑셀, CSV, TEXT, JSON, XML)
*/
public static Dataset filetoDataset(FileInfo fileInfo) {
// 데이터 확장자
String dataType = fileInfo.getFileFom();
return null;
}
/**
* @author 김성원
* @since 2024.01.12
*
* List<Map<Object, String>> -> Dataset
*/
public static DataTable listMaptoDataset(List<Map<String, Object>> mapData) {
// 데이터 테이블 생성
DataTable dataTable = new DataTable();
// 헤더정보 리스트
List<String> header = new ArrayList<>();
// 컬럼 데이터 리스트
List<ColumnData> columnDatas = new ArrayList<ColumnData>();
int manxSize = 0;
// 제일큰 ROW의 헤더값 가져오기
for(Map<String, Object> mapItm : mapData) {
if(manxSize < mapItm.entrySet().size()) {
manxSize = mapItm.entrySet().size();
header.clear();
for (Map.Entry<String, Object> elem : mapItm.entrySet()) {
header.add(elem.getKey());
}
}
}
// row 데이터 생성
for (Map<String, Object> temp : mapData) {
List<Object> listTemp = new ArrayList();
for(String head : header) {
if(temp.get(head) == null) {
listTemp.add(null);
}else {
listTemp.add(temp.get(head));
}
}
dataTable.getRowData().add(listTemp);
}
// 컬럼명 세팅
for(String head : header) {
ColumnData columnData = new ColumnData();
// 헤더명 (컬럼명)
columnData.setColumnNm(head);
columnData.setOrginlColumnNm(head);
columnData.setDisplyColumnNm(head);
columnDatas.add(columnData);
}
// DataTable의 컬럼정보 세팅
dataTable.setColumnDatas(columnDatas);
return dataTable;
}
}