Example usage for org.springframework.context.support DefaultMessageSourceResolvable getCodes

List of usage examples for org.springframework.context.support DefaultMessageSourceResolvable getCodes

Introduction

In this page you can find the example usage for org.springframework.context.support DefaultMessageSourceResolvable getCodes.

Prototype

@Override
    @Nullable
    public String[] getCodes() 

Source Link

Usage

From source file:technology.tikal.gae.service.template.RestControllerTemplate.java

@ExceptionHandler({ MessageSourceResolvableException.class })
@ResponseStatus(HttpStatus.BAD_REQUEST)/*from  ww w . j  a va 2s.co  m*/
public BasicErrorMessage handleMsgException(MessageSourceResolvableException ex, HttpServletRequest request,
        HttpServletResponse response) {
    if (this.logger.isInfoEnabled()) {
        ex.printStackTrace();
    }
    response.setHeader("Content-Type", "application/json;charset=UTF-8");
    DefaultMessageSourceResolvable detail = ex.getMsgResolve();
    Locale locale = LocaleContextHolder.getLocale();
    BasicErrorMessage result = new BasicErrorMessage();
    String[] msg = new String[] {
            this.messageSource.getMessage(detail.getCode(), detail.getArguments(), "", locale) };
    String[][] code = new String[1][];
    code[0] = detail.getCodes();
    String[][] args = new String[1][];
    String[] tmpArgs = new String[detail.getArguments().length];
    int index = 0;
    for (Object x : detail.getArguments()) {
        tmpArgs[index] = x.toString();
        index = index + 1;
    }
    args[0] = tmpArgs;
    result.setType(ex.getClass().getSimpleName());
    result.setMessage(msg);
    result.setCode(code);
    result.setArguments(args);
    return result;
}