public void postResult(StringBuffer resultBuffered, TransactionLogVO postResultTransaction) throws MSMApplicationException, MSMSystemException { ResultParser parser = new ResultParser(); ResultXml resultBean = null; NdgUser userLogged = null; try { resultBean = parser.parseResult(resultBuffered, "UTF-8"); } catch (Exception e) { throw new ResultNotParsedException(); } if (resultBean != null) { ImeiVO imei = imeiManager.getIMEI(resultBean.getImei()); userLogged = findNdgUserByName(imei.getUserName()); if (userManager.userAdminHasPositiveBalance(UserVO.RESULT_LIMIT, userLogged.getUserAdmin())) { resultHandler.postResult(resultBuffered, postResultTransaction); userManager.updateUserAdminBalance(UserVO.RESULT_LIMIT, userLogged.getUserAdmin()); } else { throw new UserLimitReachedException(); } } }