package com.kbstar.eai.common.header; 

import com.eactive.eai.common.header.HeaderActionSupport;
import com.eactive.eai.common.util.CommonLib;
import com.eactive.eai.transformer.util.IConv;

/** 
* 1. 기능 : ASCII를 EBCDIC Single로 변환하는 Class
* 2. 처리 개요 : 
*     - 추가시에만 기능처리
* 3. 주의사항 
*     - AD 의 경우는 S는 ADD, R 는 DELETE
*     - DA 의 경우는 S는 DELETE, R 는 ADD
* @author  : 
* @version : v 1.0.0
* @see :
* @since : 
*/
public class POSCOA2EHeaderAction extends HeaderActionSupport 
{ 
    private static final int HEADER_LENGTH = 0; //

    public POSCOA2EHeaderAction(){
    	super.setHeaderLength(HEADER_LENGTH);
    	
    }

	public byte[] addHeaderDA(byte[] orgData , byte[] message) {
		return addHeader(orgData,message);   	

    }
	public byte[] addHeaderAD(byte[] orgData , byte[] message) {
		return addHeader(orgData,message);
        

    }   	
	public byte[] addHeader(byte[] orgData , byte[] message ) {
		
		byte[] full = message;
		
		byte[] header = null;
		if(message.length > 52) {
			header = new byte[52];
			System.arraycopy(message,  0, header, 0, header.length);
	    	header = IConv.asciiHexaToEBCDICHexa(header);
			System.arraycopy(header, 0, full, 0, header.length);
	        return full;
		}
		else {
			full = IConv.asciiHexaToEBCDICHexa(full);
			return full;
		}
    }   	
	
//	   public static void main(String args[]) throws Exception {
//		   String actionName = "com.kbstar.eai.common.header.POSCOA2EHeaderAction";
//System.out.println(actionName);		   
//		   POSCOA2EHeaderAction action = new POSCOA2EHeaderAction();
//		   byte[] msg = "111111111111111111111111111111111111111111111111112233333".getBytes();
//		   byte[] res = action.addHeader(msg, msg);
//		   
//		   System.out.println(CommonLib.getDumpMessage(res));
//            
//		   byte[] msg2 = "11111111111111111111111111111111111111111111111111".getBytes();
//		   byte[] res2 = action.addHeader(msg2, msg2);
//		   
//		   System.out.println(CommonLib.getDumpMessage(res2));
//            
//	    }	
} 

