/**
   * 모바일 기기 정보 등록 Service interface 호출 및 결과를 반환한다.
   *
   * @param deviceIdentVO
   */
  @RequestMapping(value = "/mbl/com/mdi/insertDeviceIdent.do")
  @Secured("ROLE_ADMIN")
  public String insertDeviceIdent(
      @ModelAttribute DeviceIdentVO deviceIdentVO, BindingResult bindingResult, ModelMap model) {

    beanValidator.validate(deviceIdentVO, bindingResult);
    if (bindingResult.hasErrors()) {

      model.addAttribute("browserCmmCodeDetailList", cmmUseService.selectCmmCodeList("COM083"));
      model.addAttribute("osCmmCodeDetailList", cmmUseService.selectCmmCodeList("COM084"));

      RequestContextHolder.getRequestAttributes()
          .setAttribute("jspPrefix", "aramframework/mbl", RequestAttributes.SCOPE_REQUEST);
      return WebUtil.adjustViewName("/com/mdi/DeviceIdentRegist");
    }

    // 로그인VO에서 사용자 정보 가져오기
    LoginVO loginVO = (LoginVO) UserDetailsHelper.getAuthenticatedUser();
    deviceIdentVO.setMberId(loginVO.getId());
    deviceIdentVO.setBrowserNm("COM083");
    deviceIdentVO.setOsNm("COM084");

    deviceIdentService.insertDeviceIdent(deviceIdentVO);

    // XML 파일 생성
    deviceIdentService.createDeviceIndentListToXML();

    model.addAttribute("message", MessageHelper.getMessage("success.common.insert"));
    return WebUtil.redirectJsp(model, "/mbl/com/mdi/listDeviceIdent.do");
  }
  /**
   * 모바일 기기 목록 조회 Service interface 호출 및 결과를 반환한다.
   *
   * @param deviceIdentVO
   */
  @IncludedInfo(name = "모바일 기기 정보", order = 10020, gid = 100)
  @RequestMapping(value = "/mbl/com/mdi/listDeviceIdent.do")
  @Secured("ROLE_ADMIN")
  public String listDeviceIdent(@ModelAttribute DeviceIdentVO deviceIdentVO, ModelMap model) {

    PaginationInfo paginationInfo = new PaginationInfo();
    deviceIdentVO.fillPageInfo(paginationInfo);

    model.addAttribute("resultList", deviceIdentService.selectDeviceIdentList(deviceIdentVO));

    int totCnt = deviceIdentService.selectDeviceIdentListCnt(deviceIdentVO);
    deviceIdentVO.setTotalRecordCount(totCnt);

    paginationInfo.setTotalRecordCount(totCnt);
    model.addAttribute("paginationInfo", paginationInfo);

    RequestContextHolder.getRequestAttributes()
        .setAttribute("jspPrefix", "aramframework/mbl", RequestAttributes.SCOPE_REQUEST);
    return WebUtil.adjustViewName("/com/mdi/DeviceIdentList");
  }
  /** 모바일 기기 정보 조회 Service interface 호출 및 결과를 반환한다.(JSON 통신) */
  @RequestMapping(value = "/mbl/com/mdi/goMobileDeviceIdentJson.mdo")
  public ModelAndView goMobileDeviceIdentJson(HttpServletRequest request) {

    ModelAndView modelAndView = new ModelAndView("jsonView");

    String uagentInfo = request.getHeader("user-agent");

    DeviceIdentVO deviceIdentVO = deviceIdentService.getDeviceIdentFromXML(uagentInfo);

    if (deviceIdentVO == null) {

      deviceIdentVO = new DeviceIdentVO();

      // 로그인VO에서 사용자 정보 가져오기
      LoginVO loginVO = (LoginVO) UserDetailsHelper.getAuthenticatedUser();
      deviceIdentVO.setMberId(loginVO.getId());

      // Unknown 코드 및 명 입력
      deviceIdentVO.setBrowserCode("BRS001");
      deviceIdentVO.setBrowserNm("Unknown");
      deviceIdentVO.setOsCode("OS01");
      deviceIdentVO.setOsNm("Unknown");

      // User-Agent 입력
      deviceIdentVO.setUagentInfo(uagentInfo);

      // 등록상태 입력
      deviceIdentVO.setRecentCode("REG01");

      // DB 저장
      deviceIdentService.insertDeviceIdent(deviceIdentVO);

      // XML 파일 생성
      deviceIdentService.createDeviceIndentListToXML();
    }

    modelAndView.addObject("result", deviceIdentVO);

    return modelAndView;
  }