package com.dbs.mplus.fatima.framework.util;

import com.dbs.mplus.fatima.framework.MPlusFrameworkConstants;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

/**
 * 결과 메시지 만들어 내기 
 * @author aple
 *
 */
public class MPlusMessageUtil {
    /**
     * 결과정리 
     * @param ret
     * @return
     */
    public static JSONObject genActionResult(Boolean ret, String msg) {
    	JSONObject obj = null; 
    	
    	try { 
	    	obj = new JSONObject(); 
	    	obj.put(MPlusFrameworkConstants.KEY_SUCCESS, ret);
	    	if(msg != null) { 
	    		obj.put(MPlusFrameworkConstants.KEY_RESULT, msg);
	    	} 
    	}
    	catch(final JSONException ex) { 
    		// 결과 정리하다가 에러나는건.. 못 알려주지 않겠나? 
    		MPlusLogUtil.ERROR(MPlusMessageUtil.class, "ret : " + ret + ", msg : " + msg, ex);
    		return null;
    	}

    	return obj;
    }

	/**
	 * 결과정리
	 * @param successText
	 * @param resultMsg
	 * @return
	 */
	public static JSONObject genActionResult(String successText, String resultMsg) {
		JSONObject obj = null;

		try {
			obj = new JSONObject();
			obj.put(MPlusFrameworkConstants.KEY_SUCCESS, successText);
			if(resultMsg != null) {
				obj.put(MPlusFrameworkConstants.KEY_RESULT, resultMsg);
			}
		}
		catch(final JSONException ex) {
			// 결과 정리하다가 에러나는건.. 못 알려주지 않겠나?
			MPlusLogUtil.ERROR(MPlusMessageUtil.class, "successText : " + successText + ", resultMsg : " + resultMsg, ex);
			return null;
		}

		return obj;
	}

    /**
     * 결과정리
     * @param ret
     * @param array
     * @return
     */
    public static JSONObject genActionArrayResult(Boolean ret, JSONArray array) {
    	JSONObject obj = null;

    	try {
	    	obj = new JSONObject();
	    	obj.put(MPlusFrameworkConstants.KEY_SUCCESS, ret);
	    	if(array != null) {
	    		obj.put(MPlusFrameworkConstants.KEY_RESULT, array);
	    	}
    	}
    	catch(final JSONException ex) {
    		// 결과 정리하다가 에러나는건.. 못 알려주지 않겠나?
    		MPlusLogUtil.ERROR(MPlusMessageUtil.class, "ret : " + ret + ", array : " + array, ex);
    		return null; 
    	}
    	
    	return obj;   	
    }    
}
