// Path: jbase-spring/src/main/java/com/jayqqaa12/jbase/spring/mvc/i18n/LocaleKit.java
// public class LocaleKit {
// 
//     public static final String MSG_PREFIX = "msg.";
// 
//     private static final String PREFIX = PlaceholderConfigurerSupport.DEFAULT_PLACEHOLDER_PREFIX;
//     private static final String SUFFIX = PlaceholderConfigurerSupport.DEFAULT_PLACEHOLDER_SUFFIX;
// 
//     private static PropertyPlaceholderHelper placeholderHelper = new PropertyPlaceholderHelper(PREFIX, SUFFIX);
//     private static Pattern PATTERN = Pattern.compile("[\\w]+([\\.][\\w\\d]+)+");
//     private static Locale DEFAULT_LOCALE = Locale.CHINA;
//     private static final String[] PARAM_HOLDER = new String[]{"", "", "", "", "", ""};
// 
//     private static MessageSource messageSource;
// 
// 
//     public static LocaleKit of(MessageSource messageSource) {
//         LocaleKit.messageSource = messageSource;
//         return new LocaleKit();
//     }
// 
// 
//     public static String resolverOrGet(String message, Object... args) {
// 
//         if (PATTERN.matcher(message).matches()) {
//             return get(message, args);
//         } else {
//             return resolver(message, args);
//         }
//     }
// 
//     public static String resolverOrGet(int code, String message, Object... args) {
// 
//         if (StringUtils.isEmpty(message)) {
//             return resolverOrGet(MSG_PREFIX + code, args);
//         } else {
//             return resolverOrGet(message, args);
//         }
//     }
// 
// 
//     public static String resolver(String message, Object... args) {
// 
//         final Locale locale = getLocale();
// 
//         return placeholderHelper.replacePlaceholders(message, s -> get(s, locale, args));
//     }
// 
//     public static String get(String code, Object... args) {
// 
//         return get(code, getLocale(), args);
//     }
// 
// 
//     public static String get(String code, Locale locale, Object... args) {
// 
//         if (messageSource == null) return "messageSource not init ";
// 
// 
//         if (args == null || args.length == 0) {
//             args = PARAM_HOLDER;
//         }
// 
//         String msg = code;
//         try {
//             msg = messageSource.getMessage(code, args, locale);
//         } catch (NoSuchMessageException e) {
//             //Ignore
//         }
// 
//         return msg;
//     }
// 
// 
//     public static Locale getLocale() {
//         Locale locale = LocaleContextHolder.getLocale();
// 
//         return locale == null ? DEFAULT_LOCALE : locale;
//     }
// 
// 
// //    public static Locale getLocale(HttpServletRequest request) {
// //        Locale locale = RequestContextUtils.getLocale(request);
// //
// //        return locale == null ? DEFAULT_LOCALE : locale;
// //    }
// 
//     public static void setDefaultLocale(Locale locale){
//         DEFAULT_LOCALE = locale;
//     }
// }


import com.jayqqaa12.jbase.spring.mvc.i18n.LocaleKit;
package com.jayqqaa12.jbase.spring.exception;


/**
 * Created by 12 on 2017/2/24.
 */
public class BusinessException extends RuntimeException {

    protected int code;
    protected String msg;


    public BusinessException(int code) {
// Path: jbase-spring/src/main/java/com/jayqqaa12/jbase/spring/mvc/i18n/LocaleKit.java
// public class LocaleKit {
// 
//     public static final String MSG_PREFIX = "msg.";
// 
//     private static final String PREFIX = PlaceholderConfigurerSupport.DEFAULT_PLACEHOLDER_PREFIX;
//     private static final String SUFFIX = PlaceholderConfigurerSupport.DEFAULT_PLACEHOLDER_SUFFIX;
// 
//     private static PropertyPlaceholderHelper placeholderHelper = new PropertyPlaceholderHelper(PREFIX, SUFFIX);
//     private static Pattern PATTERN = Pattern.compile("[\\w]+([\\.][\\w\\d]+)+");
//     private static Locale DEFAULT_LOCALE = Locale.CHINA;
//     private static final String[] PARAM_HOLDER = new String[]{"", "", "", "", "", ""};
// 
//     private static MessageSource messageSource;
// 
// 
//     public static LocaleKit of(MessageSource messageSource) {
//         LocaleKit.messageSource = messageSource;
//         return new LocaleKit();
//     }
// 
// 
//     public static String resolverOrGet(String message, Object... args) {
// 
//         if (PATTERN.matcher(message).matches()) {
//             return get(message, args);
//         } else {
//             return resolver(message, args);
//         }
//     }
// 
//     public static String resolverOrGet(int code, String message, Object... args) {
// 
//         if (StringUtils.isEmpty(message)) {
//             return resolverOrGet(MSG_PREFIX + code, args);
//         } else {
//             return resolverOrGet(message, args);
//         }
//     }
// 
// 
//     public static String resolver(String message, Object... args) {
// 
//         final Locale locale = getLocale();
// 
//         return placeholderHelper.replacePlaceholders(message, s -> get(s, locale, args));
//     }
// 
//     public static String get(String code, Object... args) {
// 
//         return get(code, getLocale(), args);
//     }
// 
// 
//     public static String get(String code, Locale locale, Object... args) {
// 
//         if (messageSource == null) return "messageSource not init ";
// 
// 
//         if (args == null || args.length == 0) {
//             args = PARAM_HOLDER;
//         }
// 
//         String msg = code;
//         try {
//             msg = messageSource.getMessage(code, args, locale);
//         } catch (NoSuchMessageException e) {
//             //Ignore
//         }
// 
//         return msg;
//     }
// 
// 
//     public static Locale getLocale() {
//         Locale locale = LocaleContextHolder.getLocale();
// 
//         return locale == null ? DEFAULT_LOCALE : locale;
//     }
// 
// 
// //    public static Locale getLocale(HttpServletRequest request) {
// //        Locale locale = RequestContextUtils.getLocale(request);
// //
// //        return locale == null ? DEFAULT_LOCALE : locale;
// //    }
// 
//     public static void setDefaultLocale(Locale locale){
//         DEFAULT_LOCALE = locale;
//     }
// }


// Path: jbase-spring/src/main/java/com/jayqqaa12/jbase/spring/exception/BusinessException.java
import com.jayqqaa12.jbase.spring.mvc.i18n.LocaleKit;

package com.jayqqaa12.jbase.spring.exception;


/**
 * Created by 12 on 2017/2/24.
 */
public class BusinessException extends RuntimeException {

    protected int code;
    protected String msg;


    public BusinessException(int code) {
        this(code, LocaleKit.MSG_PREFIX + code, null);