package com.eactive.eai.rms.onl.common.util;///*
// * @(#) GauceParamUtil.java 1.0, 2008. 04. 29
// *
// * Copyright (c) eactive.com, All rights reserved.
// */
//
//package com.eactive.eai.rms.onl.common.util;
//
//import java.sql.Types;
//import java.util.ArrayList;
//import java.util.HashMap;
//
//import com.eactive.eai.common.util.NullControl;
//
///**
// * <pre>
// * 1. ��� : DB�� �Ķ���� ó���� ���� ��ȯ ��ƿ
// * 2. ó�� ���� :
// *     - GauceDataRow	---�� Object[]
// *     - Object[] 		---�� Types[]
// * 3. ���ǻ��� :
// * </pre>
// * 
// * @author : vs.net
// * @version : $Revision: 1.9 $
// * @since : rts 2.0
// */
//public class ParamUtil {
//
//	// DB���� �۾��ϱ� ���� GauceDataRow�� Object �迭�� ��ȯ�Ͽ� �����Ѵ�.
//	// GauceDataSet �÷� ������� Object�� �����Ѵ�.
//	public static Object[] getRowToObjectArray(GauceDataSet ds)
//			throws Exception {
//		return getRowToObjectArray(ds, 0);
//	}
//
//	// Overload method
//	public static Object[] getRowToObjectArray(GauceDataSet ds, int rowIndex)
//			throws Exception {
//		if (rowIndex >= ds.getDataColCnt())
//			throw new IndexOutOfBoundsException("�ο� �ε����� �÷������� �����ϴ�.");
//
//		Object[] obj = new Object[ds.getDataColCnt()];
//		GauceDataRow[] dr = ds.getDataRows();
//
//		for (int i = 0; i < ds.getDataColCnt(); i++) {
//			switch (ds.getDataColumn(i).getColType()) {
//			case GauceDataColumn.TB_STRING:
//				obj[i] = new String(dr[rowIndex].getString(i));
//				break;
//			case GauceDataColumn.TB_INT:
//				obj[i] = new Integer(dr[rowIndex].getInt(i));
//				break;
//			case GauceDataColumn.TB_DECIMAL:
//				obj[i] = new Double(dr[rowIndex].getDouble(i));
//				break;
//			}
//		}
//
//		return obj;
//	}
//
//	// DB���� �۾��ϱ� ���� GauceDataRow�� Object �迭�� ��ȯ�Ͽ� �����Ѵ�.
//	// ArrayList�� �÷��� ������� Object�� �����Ѵ�.
//	public static Object[] getRowToObjectArray(GauceDataSet ds,
//			ArrayList colNameList) throws Exception {
//		return getRowToObjectArray(ds, colNameList, 0);
//	}
//
//	// Overload method
//	public static Object[] getRowToObjectArray(GauceDataSet ds,
//			ArrayList colNameList, int rowIndex) throws Exception {
//		if (colNameList.size() > ds.getDataColCnt())
//			throw new IndexOutOfBoundsException("�ο� �ε����� �÷������� �����ϴ�.");
//
//		Object[] obj = new Object[colNameList.size()];
//		GauceDataRow[] dr = ds.getDataRows();
//
//		for (int i = 0; i < colNameList.size(); i++) {
//			for (int j = 0; j < ds.getDataColCnt(); j++) {
//				if (colNameList.get(i).toString().equals(
//						ds.getDataColumn(j).getColName())) {
//					switch (ds.getDataColumn(j).getColType()) {
//					case GauceDataColumn.TB_STRING:
//						obj[i] = new String(dr[rowIndex].getString(j));
//						break;
//					case GauceDataColumn.TB_INT:
//						obj[i] = new Integer(dr[rowIndex].getInt(j));
//						break;
//					case GauceDataColumn.TB_DECIMAL:
//						obj[i] = new Double(dr[rowIndex].getDouble(j));
//						break;
//					default:
//						obj[i] = new String(dr[rowIndex].getString(j));
//					}
//
//					break;
//				}
//			}
//		}
//
//		return obj;
//	}
//
//	// Object�� ��� ���� DB Mapping Type�� �����Ѵ�.
//	public static int[] getObjectToTypeArray(Object[] obj) {
//		int[] types = new int[obj.length];
//
//		for (int i = 0; i < obj.length; i++) {
//			if (obj[i] instanceof String) {
//				types[i] = Types.VARCHAR;
//			} else if (obj[i] instanceof Integer) {
//				types[i] = Types.INTEGER;
//			} else if (obj[i] instanceof Long) {
//				types[i] = Types.BIGINT;
//			} else if (obj[i] instanceof Double) {
//				types[i] = Types.DECIMAL;
//			} else {
//				types[i] = Types.VARCHAR;
//			}
//		}
//
//		return types;
//	}
//
//	public static HashMap getRowHashMap(GauceDataSet dataSet, int rowIndex)
//			throws Exception {
////		if (rowIndex >= dataSet.getDataColCnt())
////			throw new IndexOutOfBoundsException("�ο� �ε����� �÷������� �����ϴ�.");
//
//		HashMap map = new HashMap();
//		
//		GauceDataRow[] rows = dataSet.getDataRows();
//		GauceDataColumn[] gdc = dataSet.getDataColumns();
//		if(rows != null && gdc != null){
//
//			for(int i=0; i < dataSet.getDataColCnt(); i++){
//				map.put(gdc[i].getColName(), NullControl.addSpace(rows[rowIndex].getString(i)));
//			}
//			
//		}
//
//		return map;
//	}
//	
//	public static HashMap getRowHashMap(GauceDataSet ds) throws Exception {
//		return getRowHashMap(ds, 0);
//	}
//
//}
