/** * Check if html client info already exists in servlet request as one of the attributes. If not, * parse HTML request parameter to get html client info a json string. Use it to construct html * client info object with HtmlClientInfoFactory. Note that carrier info is derived from * devicecarrierMapping file based on program code. * * @param request * @return HtmlClientInfo */ protected HtmlClientInfo getClientInfo(HttpServletRequest request) { HtmlClientInfo clientInfo = (HtmlClientInfo) request.getAttribute(HtmlFrameworkConstants.HTML_CLIENT_INFO); if (clientInfo == null) { String clientInfoString = HtmlCommonUtil.filterLastPara(request.getParameter("clientInfo")); try { clientInfoString = URLDecoder.decode(clientInfoString, "UTF-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } String clientWidth = HtmlCommonUtil.filterLastPara( request.getParameter(HtmlFrameworkConstants.CLIENT_INFO_KEY_WIDTH)); String clientHeight = HtmlCommonUtil.filterLastPara( request.getParameter(HtmlFrameworkConstants.CLIENT_INFO_KEY_HEIGHT)); String ssoToken = HtmlCommonUtil.filterLastPara( request.getParameter(HtmlFrameworkConstants.CLIENT_INFO_KEY_SSOTOKEN)); clientInfo = HtmlClientInfoFactory.getInstance() .build(clientInfoString, clientWidth, clientHeight, ssoToken); } return clientInfo; }
/** * TODO get server * * @return */ public UserManagementServiceStub getServer() { UserManagementServiceStub server = null; try { server = new UserManagementServiceStub( HtmlCommonUtil.getWSContext(), WebServiceConfigurator.getUrlOfPoiReviewWrite()); } catch (AxisFault e) { e.getCause(); } return server; }
/** * Get the cli client information from request. * * @param request * @return */ private String getClientInfoFromRequest(HttpServletRequest request) { StringBuilder sb = new StringBuilder(); HtmlClientInfo clientInfo = (HtmlClientInfo) request.getAttribute(HtmlFrameworkConstants.HTML_CLIENT_INFO); String userId = clientInfo.getUserId(); if ("".equals(userId)) { userId = HtmlCommonUtil.getString( (String) request.getAttribute(HtmlFrameworkConstants.CLI_KEY_USERID)); } String macAddress = HtmlCommonUtil.getString( (String) request.getAttribute(HtmlFrameworkConstants.CLI_KEY_MACADDRESS)); String email = HtmlCommonUtil.getString( (String) request.getAttribute(HtmlFrameworkConstants.CLI_KEY_EMAIL)); String servletPath = request.getServletPath(); sb.append("ServletUrl=[").append(servletPath).append("]&"); // hardcode ptn for cli search since we can't get PTN directly since 7.0 sb.append("Ptn=[").append("HTML5").append("]&"); sb.append("UserId=[").append(userId).append("]&"); sb.append("macAddress=[").append(macAddress).append("]&"); sb.append("email=[").append(email).append("]&"); // sb.append("Pin=[").append(clientInfo.getPin()).append("]&"); sb.append("ProgramCode=[").append(clientInfo.getProgramCode()).append("]&"); // sb.append("Carrier=[").append(clientInfo.getCarrier()).append("]&"); sb.append("Platform=[").append(clientInfo.getPlatform()).append("]&"); // sb.append("Device=[").append(clientInfo.getDevice()).append("]&"); sb.append("Version=[").append(clientInfo.getVersion()).append("]&"); // sb.append("BuildNumber[").append(clientInfo.getBuildNo()).append("]&"); sb.append("ProductType=[").append(clientInfo.getProduct()).append("]&"); sb.append("Locale=[").append(clientInfo.getLocale()).append("]&"); // sb.append("Region=[").append(clientInfo.getRegion()).append("]&"); sb.append("screenWidth=[").append(clientInfo.getWidth()).append("]&"); sb.append("screenHeight=[").append(clientInfo.getHeight()).append("]"); return sb.toString(); }