public ItemFacade saveItem(ItemFacade item) throws DataFacadeException { try { ItemDataIfc itemdata = (ItemDataIfc) item.getData(); itemdata.setLastModifiedDate(new Date()); itemdata.setLastModifiedBy(AgentFacade.getAgentString()); int retryCount = PersistenceService.getInstance().getPersistenceHelper().getRetryCount(); while (retryCount > 0) { try { getHibernateTemplate().saveOrUpdate(itemdata); item.setItemId(itemdata.getItemId()); retryCount = 0; } catch (Exception e) { log.warn("problem save or update itemdata: " + e.getMessage()); retryCount = PersistenceService.getInstance().getPersistenceHelper().retryDeadlock(e, retryCount); } } if ((item.getData() != null) && (item.getData().getSection() != null)) { AssessmentIfc assessment = item.getData().getSection().getAssessment(); assessment.setLastModifiedBy(AgentFacade.getAgentString()); assessment.setLastModifiedDate(new Date()); retryCount = PersistenceService.getInstance().getPersistenceHelper().getRetryCount(); while (retryCount > 0) { try { getHibernateTemplate().update(assessment); retryCount = 0; } catch (Exception e) { log.warn("problem updating asssessment: " + e.getMessage()); retryCount = PersistenceService.getInstance() .getPersistenceHelper() .retryDeadlock(e, retryCount); } } } return item; } catch (Exception e) { e.printStackTrace(); return null; } }