public WizardVO wizardImei(ArrayList<ImeiVO> listOfImeiVO) throws MSMApplicationException, MSMSystemException { Properties properties = getSettings(); String smsMessage = "You are able to download NDG client here: "; String link = properties.getProperty("urlServer") + "/ndg-servlets/GetClient?to="; log.debug("wizardImei: " + link); WizardVO wizardVo = new WizardVO(); for (ImeiVO imeiVO : listOfImeiVO) { if (imeiManager.hasImei(imeiVO)) { wizardVo.addImei(imeiVO.getImei()); } if (imeiManager.hasMsisdn(imeiVO)) { wizardVo.addPhone(imeiVO.getMsisdn()); } } if (!wizardVo.isFilled()) { for (ImeiVO imeiVO : listOfImeiVO) { createIMEI(imeiVO); log.debug("newIMEI: " + imeiVO.getImei()); } log.debug("sendLinkSMS: " + smsMessage + link); sendLinkSMS(smsMessage + link, listOfImeiVO); } return wizardVo; }
public void createIMEI(ImeiVO imeiVO) throws MSMApplicationException { NdgUser userLogged = findNdgUserByName(imeiVO.getUserName()); if (userManager.userAdminHasPositiveBalance(UserVO.IMEI_LIMIT, userLogged.getUserAdmin())) { imeiManager.createIMEI(imeiVO); sendDynamicJad(imeiVO.getMsisdn(), imeiVO.getImei()); } else { throw new ImeiLimitReachedException(); } userManager.updateUserAdminBalance(UserVO.IMEI_LIMIT, userLogged.getUserAdmin()); }
public void sendDynamicJad(String msisdn, String imei) throws MSMApplicationException { String urlToJad = null; try { urlToJad = deviceManager.createDynamicJad(msisdn); ArrayList<ImeiVO> listoOfDevices = new ArrayList<ImeiVO>(); ImeiVO imeiVo = new ImeiVO(); imeiVo.setImei(imei); imeiVo.setMsisdn(msisdn); listoOfDevices.add(imeiVo); if (SmsHandlerFactory.getInstance().hasSmsSupport()) { sendLinkSMS(urlToJad, listoOfDevices); } } catch (MSMApplicationException e) { e.printStackTrace(); } }
public void deleteIMEI(String _imei) throws MSMApplicationException { try { ImeiVO imeiVO = getImei(_imei); if (imeiVO.getRealImei() == 'N') { deleteJadDir(imeiVO.getMsisdn()); } imeiManager.deleteIMEI(_imei); } catch (RuntimeException e) { Throwable cause = e.getCause(); for (int i = 0; i < 3 && cause != null; i++) { cause = cause.getCause(); if (cause instanceof ConstraintViolationException) { throw new ImeiHasRelationshipException(); } } throw e; } }
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(); } } }