package com.takensoft.taken_bi_manager;

import java.util.LinkedHashMap;
import java.util.List;

import com.takensoft.taken_bi_manager.common.connection.db.util.DBConnectionUtil;
import com.takensoft.taken_bi_manager.common.connection.db.util.DataTypeUtil;
import com.takensoft.taken_bi_manager.common.connection.db.vo.ConnectionDB;
import com.takensoft.taken_bi_manager.common.vo.CheckMessage;
import com.takensoft.taken_bi_manager.common.vo.SystemCode.DatabaseType;
import com.takensoft.taken_bi_manager.data.vo.ColumnData;
import com.takensoft.taken_bi_manager.data.vo.DataTable;
import com.takensoft.taken_bi_manager.data.vo.Dataset;

public class DBConnectTest {
	public static void main(String[] args) throws Exception {
		
		
		DBConnectionUtil dbc = new DBConnectionUtil();
		ConnectionDB cdb = new ConnectionDB();
		
		cdb.setDatabaseNm("crosswalks");
		cdb.setDatabaseType(DatabaseType.POSTGRESQL);
		cdb.setConectIp("210.180.118.83");
		cdb.setConectPort("5432");
		cdb.setConectNm("테스트 DB");
		cdb.setUserId("takensoft");
		cdb.setSchemaNm("crosswalk");
	//	cdb.setUserPassword("Ts2020kr!@#");
		cdb.setUserPassword("tts64103165!@");
		
		
		dbc.createDatabaseDAO(cdb);				
		CheckMessage checkMessage = dbc.dbConnectionCheck(cdb);				
		List<Dataset>  datasets = dbc.getDBConnectionTableList(cdb);
		
		
		for(Dataset temp  : datasets) {
			System.out.println(temp.getTableNm());
			System.out.println("---------------------------------------------------");
			DataTable dt = new DataTable(temp);					
			dbc.setDataTableByDBConnectionTable(cdb, dt);
			for(List<Object> item : dt.getRowData()) {				
				for(Object data : item) {					
					System.out.println(data);
				}
			}
		
			 
			/*
			
			cd = DataTypeUtil.convertDataTypeDbtoJavaList(cd, cdb.getDatabaseType());
			for(ColumnData it: cd) {
				System.out.println("컬럼명 : " + it.getColumnNm());
				System.out.println("타입 : " +it.getDbDataType() + ": " + it.getDataTy());
				System.out.println("길이 : " +it.getDataSize());
				
				if(it.getColumnNm().equals("cmmn_code_group")) {
					
				}
			}			
			System.out.println("---------------------------------------------------");
			*/
		}
		
		
		
		
		
		
		System.out.println(checkMessage.getMessage());
		
		
		
	}
}
