package com.eactive.eai.common.util;

public final class BidMsgExtractor {
	static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT);

	private BidMsgExtractor() {

	}

//	업무메시지에서 비드 메시지를 추출
//    public static BidMessage getBizKeyValue(String eaiSvcCd, String messageID, Object message, BidMessage bidMsg) 
//    throws Exception {
//        try {
//            PropManager pManager = PropManager.getInstance();
//            Properties  prop	 = pManager.getProperties("BIDMessage");
//            
//            if(prop==null) {
//                throw new RuntimeException("비드메시지 프로퍼티 정보 없음");   
//            }
//            if(prop != null) {
//                Message msg = MessageFactory.getFactory().getMessage(messageID);
//                String msgType = ((Message) msg).getLayout().getLayoutType().getName();
//                if("XML".equals(msgType)) {
//                    String rootItemName = msg.getName();
//                    String xmlString = "";
//                    
//                    if(message instanceof byte[]) {
//                        xmlString = "<"+rootItemName+">" + new String((byte[])message) + "</"+rootItemName+">";    
//                    }
//                    else if(message instanceof String) {
//                        xmlString = "<"+rootItemName+">" + (String)message + "</"+rootItemName+">";    
//                    }
//                    
//                    try {
//                    	msg.setData(xmlString);
//                    } catch(MessageSetDataException e) {
//                    	MemoryLogger.error("BidMsgExtractor | setData error", e);
//                    	throw e;
//                    }
//                }else if("JSON".equals(msgType)) {
//                    String rootItemName = msg.getName();
//                    String jsonString = "";
//                    
//                    if(message instanceof byte[]) {
//                    	jsonString = new String((byte[])message);    
//                    }
//                    else if(message instanceof String) {
//                    	jsonString = (String)message;    
//                    }
//                    
//                    try {
//    	                JSONObject value = (JSONObject)JSONValue.parse(jsonString);
//    	                JSONObject root = new JSONObject();
//    	                root.put(rootItemName, value);
//    	                jsonString = root.toJSONString();    
//    	                msg.setData(jsonString);                
//                    } catch(MessageSetDataException e) {
//                    	MemoryLogger.error("BidMsgExtractor | setData error", e);
//                    	throw e;
//                    }
//                }
//                else {
//                	try {
//	                    msg.setData(message);
//	                } catch(MessageSetDataException e) {
//	                	MemoryLogger.error("BidMsgExtractor | setData error", e);
//	                	throw e;
//	                }
//                }
//                             
//                String contentName = prop.getProperty("contents.name");
//                String userNames   = prop.getProperty("user.name");
//                String userSep	   = prop.getProperty("user.seperator");
//                String[] users	= msg.getString(userNames).split(userSep);
//                
//                
//                bidMsg.setMsg(msg.getString(contentName));
//                bidMsg.setTgtList(users);
//                
//            }
//        }
//        catch (Exception e) {
//        	logger.error("BidMsgExtractor]"+e.getMessage(),e);
//            throw e;
//        }
//        return bidMsg;
//    }
}