@RequestMapping(method = RequestMethod.GET) public ModelAndView showPopulatedForm( @RequestParam(value = "productId", required = true) Integer productId) { ModelAndView modelAndView = new ModelAndView("editSavingsProduct"); configurationDto = this.configurationServiceFacade.getAccountingConfiguration(); modelAndView.addObject("GLCodeMode", configurationDto.getGlCodeMode()); SavingsProductFormDto referenceData = this.adminServiceFacade.retrieveSavingsProductFormReferenceData(); SavingsProductDto savingsProductDto = adminServiceFacade.retrieveSavingsProductDetails(productId); SavingsProductFormBean savingsProductBean = new SavingsProductFormBeanAssembler().assembleReferenceData(referenceData); ProductDetailsDto productDto = savingsProductDto.getProductDetails(); GeneralProductBean productBean = new GeneralProductBeanAssembler() .assembleFrom(savingsProductBean.getGeneralDetails(), productDto); savingsProductBean.setGeneralDetails(productBean); savingsProductBean.setSelectedDepositType(savingsProductDto.getDepositType().toString()); savingsProductBean.setAmountForDeposit(savingsProductDto.getAmountForDeposit()); if (savingsProductDto.getGroupMandatorySavingsType() > 0) { savingsProductBean.setSelectedGroupSavingsApproach( savingsProductDto.getGroupMandatorySavingsType().toString()); } else { savingsProductBean.setSelectedGroupSavingsApproach(""); } savingsProductBean.setMaxWithdrawalAmount(savingsProductDto.getMaxWithdrawal()); savingsProductBean.setInterestRate(savingsProductDto.getInterestRate()); savingsProductBean.setSelectedInterestCalculation( savingsProductDto.getInterestCalculationType().toString()); savingsProductBean.setInterestCalculationFrequency( savingsProductDto.getInterestCalculationFrequency()); savingsProductBean.setSelectedFequencyPeriod( savingsProductDto.getInterestCalculationFrequencyPeriod().toString()); savingsProductBean.setInterestPostingMonthlyFrequency( savingsProductDto.getInterestPostingFrequency()); savingsProductBean.setMinBalanceRequiredForInterestCalculation( Long.toString(savingsProductDto.getMinBalanceForInterestCalculation().longValue())); savingsProductBean.setIsDaily(savingsProductDto.isDailyPosting()); savingsProductBean.setSelectedPrincipalGlCode(savingsProductDto.getDepositGlCode().toString()); savingsProductBean.setSelectedInterestGlCode(savingsProductDto.getInterestGlCode().toString()); savingsProductBean.setNotUpdateable(savingsProductDto.isOpenSavingsAccountsExist()); modelAndView.addObject("savingsProduct", savingsProductBean); return modelAndView; }