use of org.mifos.framework.hibernate.helper.HibernateTransactionHelperForStaticHibernateUtil in project head by mifos.
the class AdminServiceFacadeWebTier method createSavingsProduct.
@Override
public PrdOfferingDto createSavingsProduct(SavingsProductDto savingsProductRequest) {
// enforced by integrity constraints on table also.
this.savingsProductDao.validateProductWithSameNameDoesNotExist(savingsProductRequest.getProductDetails().getName());
this.savingsProductDao.validateProductWithSameShortNameDoesNotExist(savingsProductRequest.getProductDetails().getShortName());
// domain rule validation - put on domain entity
validateStartDateIsNotBeforeToday(savingsProductRequest.getProductDetails().getStartDate());
validateStartDateIsNotOverOneYearFromToday(savingsProductRequest.getProductDetails().getStartDate());
validateEndDateIsPastStartDate(savingsProductRequest.getProductDetails().getStartDate(), savingsProductRequest.getProductDetails().getEndDate());
MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
SavingsOfferingBO savingsProduct = new SavingsProductAssembler(this.loanProductDao, this.savingsProductDao, this.generalLedgerDao).fromDto(user, savingsProductRequest);
HibernateTransactionHelper transactionHelper = new HibernateTransactionHelperForStaticHibernateUtil();
try {
transactionHelper.startTransaction();
this.savingsProductDao.save(savingsProduct);
transactionHelper.commitTransaction();
return savingsProduct.toDto();
} catch (Exception e) {
transactionHelper.rollbackTransaction();
throw new MifosRuntimeException(e);
} finally {
transactionHelper.closeSession();
}
}
use of org.mifos.framework.hibernate.helper.HibernateTransactionHelperForStaticHibernateUtil in project head by mifos.
the class PluginManager method loadImportPlugins.
/**
* Returns list of import plugins. Note that {@link ServiceLoader} caches
* loads, so multiple invocations should not incur extra overhead.
*/
public List<TransactionImport> loadImportPlugins() {
List<TransactionImport> plugins = new ArrayList<TransactionImport>();
ClassLoader pluginClassLoader = initializePluginClassLoader();
ServiceLoader<TransactionImport> loader = ServiceLoader.load(TransactionImport.class, pluginClassLoader);
for (TransactionImport ti : loader) {
ti.setAccountService(new StandardAccountService(ApplicationContextProvider.getBean(LegacyAccountDao.class), ApplicationContextProvider.getBean(LegacyLoanDao.class), ApplicationContextProvider.getBean(LegacyAcceptedPaymentTypeDao.class), new PersonnelDaoHibernate(new GenericDaoHibernate()), new CustomerDaoHibernate(new GenericDaoHibernate()), ApplicationContextProvider.getBean(LoanBusinessService.class), new HibernateTransactionHelperForStaticHibernateUtil(), ApplicationContextProvider.getBean(LegacyMasterDao.class), ApplicationContextProvider.getBean(MonthClosingServiceFacade.class), ApplicationContextProvider.getBean(SavingsServiceFacade.class), ApplicationContextProvider.getBean(GroupLoanAccountServiceFacade.class)));
ti.setCustomerSearchService(new CustomerSearchServiceImpl(new CustomerDaoHibernate(new GenericDaoHibernate())));
plugins.add(ti);
}
return plugins;
}
Aggregations