//package com.eactive.eai.batch.eventscheduler.util;
//
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
///**
//* 1. 기능 : Scheduler의 CronExpression을 조립 및 파싱하기 위한 클래스
//* 2. 처리 개요 :
//*     - 스케줄러 정보를 CronTrigger에서 사용될 Expression으로 조립
//*     - CronTrigger에서 사용되는 Expression을 사용자가 이해하기 쉬운 형태로 파싱
//* 3. 주의사항
//*
//* @author  : kscheon
//* @version : v 1.0.0
//*/
//public final class ExpressionParser {
//
//	/**
//     * Default Logger
//     */
//    static Logger logger = LoggerFactory.getLogger(ElinkLogger.LOGGER_SCHEDULER);
//    
//	public final static String EXP_ALL = "*";
//	public final static String EXP_RANGE = "-";
//	public final static String EXP_ADD = ",";
//	public final static String EXP_INCREMENT = "/";
//	public final static String EXP_LAST = "L";
//	public final static String EXP_NTH = "#";
//	
//	public final static String assembleExpression(String[] token){
//		int length = token.length;
//		if (length != 6){
//			logger.error("ExpressionParser ] assembleExpression - argument length is not 6 - "+length);
//		}
//		String expression = "";
//		
//		for (int i=0; i< length; i++){
//			expression = expression+token[i];
//			
//			if (i <length-1){
//				expression = expression + " ";
//			}
//		}
//    	
//		return expression;
//	}
//	
//	public final static String assembleExpressionByDate(String date){
//		String expression = "";
//		int length = 7;
//		
//		String token[] = new String[length];
//		
//		token[0] =  date.substring(12, 14);
//		token[1] = date.substring(10,12);
//		token[2] = date.substring(8,10);
//		token[3] = date.substring(6,8);
//		token[4] = date.substring(4,6);
//		token[5] = "?";					// Day-of-Week (1-7 or SUN-SAT)
//		token[6] = date.substring(0,4);
//		
//		for (int i=0; i< length; i++){
//			if("00".equals(token[i])){ //00초, 00분, 00시 이면 0으로 대체
//				token[i] = "0";
//			}
//			expression = expression+token[i];
//			
//			if (i <length-1){
//				expression = expression + " ";
//			}
//		}
//		return expression;
//	}
//	
//	public final static String[] parseExpression (String exp){
//		return new String[6];
//	}
//	
//	
//    
//	public final static String getCronExpByPollTime(String pollTime)throws Exception{
//    	String token[] = new String[]{"*", "*", "*", "*", "*", "?"};
//    	
//    	String parseResult[] = pollTime.split(":");
//    	System.out.println("ExpressionParser ] pollTime ["+pollTime+"]");
//    	if (parseResult.length !=4){
//    		logger.error("ExpressionParser ] Pollling Time 오류");
//    		throw new Exception("ExpressionParser ] Pollling Time 오류");
//    	}
//    	//초, 분, 시, 일로 만들것...
//    	for (int i=0; i<parseResult.length-1; i++){
//    		if("0".equals(parseResult[i])){
//    			token[i] = parseResult[i];
//    		} else {
//    			token[i] = "0/"+parseResult[i];
//    			break;
//    		}
//    	}
//    	if (!"0".equals(parseResult[parseResult.length-1])){
//    		token[parseResult.length-1] = "0/"+parseResult[parseResult.length-1];
//    	}
//    	
//    	String exp = "";
//    	for (int j=0; j<token.length-1; j++){
//    		exp = exp + token[j]+" ";
//    		
//    	}
//    	exp = exp +token[token.length-1];
//    	
//    	logger.debug("ExpressionParser ] setCronExpByPollTime - cronExpression["+exp+"]");
//    	return exp;
//    	
//    	
//    }
//	
//}
