package com.eactive.eai.transformer.message.logger;
//package com.eactive.eai.transformer.message.logger;
//
//import com.eactive.eai.common.util.Logger;
//import com.eactive.eai.transformer.layout.Item;
//import com.eactive.eai.transformer.message.FMLMessage;
//
//
//public class FMLMessageLogger implements MessageLogger {
//    private static Logger logger = Logger.getLogger("transformer");
//    private FMLMessage message;
//
//    public FMLMessageLogger(FMLMessage message) {
//        this.message = message;
//    }
//
//    public void doLog() {
//        System.out.println(this.getClass().getName() +
//            "> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
//        System.out.println(this.getClass().getName() +
//            "> 현재 기본 구현된 메시지 로거를 사용하고 계십니다.");
//        System.out.println(getLogMessage());
//    }
//
//    public String getLogMessage() {
//        return null;
//
//        /*
//        StringBuffer sb = new StringBuffer();
//        Item root = this.message;
//        List lst = null;
//        try {
//            lst = root.getChildList();
//            Item item = null;
//            for(int i=0;i<lst.size();i++) {
//                item = (Item)lst.get(i);
//                if(item.isGroup()) {
//                    throw new RuntimeException("FMLMessage에서는 GROUP를 지원하지 않습니다. - "+item);
//                } else {
//                    String msg = toString(item);
//                    if(msg!=null && !msg.equals(""))
//                        sb.append(item.getName()).append("={").append(msg).append("}").append(DELIMITOR);
//                }
//            }
//        } catch(Exception e) {
//            //e.printStackTrace();
//            throw new RuntimeException("FMLMessageLogger] Cannot make LogMessage. - "+e.getMessage(), e);
//        }
//
//        return sb.toString();
//        */
//    }
//
//    public String getLogMessage(boolean ebcdic) {
//        return getLogMessage();
//    }
//
//    public String toString(Item item) throws Exception {
//        return null;
//
//        /*
//        StringBuffer sb = new StringBuffer();
//
//        int occurence = message.occurence(item);
//        if(occurence<=0) {
//            return null;
//        }
//        String value = null;
//        String path = null;
//        for(int i=0;i<occurence;i++) {
//            path = item.getPath()+"["+i+"]";
//            switch(item.getDataTypeId()) {
//                case Types.TYPE_UNKNOWN    :
//                    break;
//                case Types.TYPE_STRING     :
//                    value = this.message.getString(path,item);
//                    break;
//                case Types.TYPE_INT        :
//                    value = Integer.toString(this.message.getInt(path,item));
//                    break;
//                case Types.TYPE_LONG:
//                    value = Long.toString(this.message.getLong(path,item));
//                    break;
//                case Types.TYPE_SHORT:
//                    value = Short.toString(this.message.getShort(path,item));
//                    break;
//                case Types.TYPE_DOUBLE:
//                    value = Double.toString(this.message.getDouble(path,item));
//                    break;
//                case Types.TYPE_FLOAT:
//                    value = Float.toString(this.message.getFloat(path,item));
//                    break;
//                // ASCII CHAR (1byte)
//                case Types.TYPE_CHAR:
//                    value = Character.toString(this.message.getChar(path,item));
//                    break;
//                case Types.TYPE_BYTE:
//                    value = Byte.toString(this.message.getByte(path,item));
//                    break;
//                case Types.TYPE_DATE:
//                    break;
//                case Types.TYPE_TIME:
//                    break;
//                case Types.TYPE_TIMESTAMP:
//                    break;
//                // SHORT, INTEGER, LONG, FLOAT, DOUBLE
//                case Types.TYPE_NUMBER:
//                    break;
//                // BYTE ARRAY
//                case Types.TYPE_BYTEARRAY:
//                    value = new String(this.message.getByteArray(path,item));
//                    break;
//                // NUMERIC NUMBER
//                case Types.TYPE_NUMERIC:
//                    break;
//                // PACK DECIMAL
//                case Types.TYPE_PACKDECIMAL:
//                    break;
//                // USER DEFINED JAVA OBJECT
//                case Types.TYPE_OBJECT:
//                    break;
//                default:
//                    throw new RuntimeException("정의되지 않은 기본 값 타입을 사용합니다. -  "  + item.getDataTypeId());
//            }
//            if(value!=null)
//                sb.append(value).append(DELIMITOR);
//        }
//
//        return sb.toString();
//        */
//    }
//}
