ProcessTemplateDAO { public List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> selectPTList(int processTemplateId) { Session session = sessionFactory.openSession(); List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> returningList = new ArrayList<com.wipro.ats.bdre.md.beans.table.ProcessTemplate>(); try { session.beginTransaction(); Criteria criteria1 = session.createCriteria(ProcessTemplate.class); criteria1.add(Restrictions.eq(PROCESSTEMPLATEID, processTemplateId)); criteria1.add(Restrictions.eq(DELETEFLAG, false)); List<ProcessTemplate> processTemplatesList1 = criteria1.list(); Criteria criteria2 = session.createCriteria(ProcessTemplate.class); criteria2.add(Restrictions.eq(PARENTPROCESSTEMPLATEID, processTemplateId)); criteria2.add(Restrictions.eq(DELETEFLAG, false)); List<ProcessTemplate> processTemplatesList2 = criteria2.list(); List<ProcessTemplate> completeProcessTemplatesList = new ArrayList<ProcessTemplate>(); completeProcessTemplatesList.addAll(processTemplatesList1); completeProcessTemplatesList.addAll(processTemplatesList2); Iterator<ProcessTemplate> iterator = completeProcessTemplatesList.iterator(); while (iterator.hasNext()) { ProcessTemplate processTemplate = iterator.next(); com.wipro.ats.bdre.md.beans.table.ProcessTemplate tableProcessTemplate = new com.wipro.ats.bdre.md.beans.table.ProcessTemplate(); tableProcessTemplate.setProcessTemplateId(processTemplate.getProcessTemplateId()); tableProcessTemplate.setDescription(processTemplate.getDescription()); tableProcessTemplate.setProcessName(processTemplate.getProcessName()); tableProcessTemplate.setBusDomainId(processTemplate.getBusDomain().getBusDomainId()); tableProcessTemplate.setProcessTypeId(processTemplate.getProcessType().getProcessTypeId()); if (processTemplate.getProcessTemplate() != null) tableProcessTemplate.setParentProcessId(processTemplate.getProcessTemplate().getProcessTemplateId()); tableProcessTemplate.setCanRecover(processTemplate.getCanRecover()); tableProcessTemplate.setBatchPattern(processTemplate.getBatchCutPattern()); tableProcessTemplate.setNextProcessTemplateId(processTemplate.getNextProcessTemplateId()); if (processTemplate.getWorkflowType()!=null) tableProcessTemplate.setWorkflowId(processTemplate.getWorkflowType().getWorkflowId()); if(processTemplate.getUserRoles()!=null) tableProcessTemplate.setOwnerRoleId(processTemplate.getUserRoles().getUserRoleId()); if(processTemplate.getPermissionTypeByUserAccessId()!=null) tableProcessTemplate.setPermissionTypeByUserAccessId(processTemplate.getPermissionTypeByUserAccessId().getPermissionTypeId()); if(processTemplate.getPermissionTypeByUserAccessId()!=null) tableProcessTemplate.setPermissionTypeByGroupAccessId(processTemplate.getPermissionTypeByUserAccessId().getPermissionTypeId()); if(processTemplate.getPermissionTypeByOthersAccessId()!=null) tableProcessTemplate.setPermissionTypeByOthersAccessId(processTemplate.getPermissionTypeByOthersAccessId().getPermissionTypeId()); tableProcessTemplate.setCounter(completeProcessTemplatesList.size()); returningList.add(tableProcessTemplate); } session.getTransaction().commit(); } catch (MetadataException e) { session.getTransaction().rollback(); LOGGER.error(e); } finally { session.close(); } return returningList; }  List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> list(Integer pageNum, Integer numResults, Integer processId); Integer totalRecordCount(); ProcessTemplate get(Integer id); Integer insert(ProcessTemplate processTemplate); void update(ProcessTemplate processTemplate); void delete(Integer id); List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> selectPTList(int processTemplateId); List<com.wipro.ats.bdre.md.beans.table.Process> selectPListForTemplate(int processTemplateId); List<com.wipro.ats.bdre.md.beans.table.Process> selectPPListForTemplateId(int processTemplateId); List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> listSubProcessTemplates(int processTemplateId); com.wipro.ats.bdre.md.beans.table.Process selectNextForPid(Integer processId, Integer parentProcessId); List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> selectMissingSubPList(Integer processId, Integer processTemplateId); List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> selectMissingSubTList(Integer processId, Integer processTemplateId); List<com.wipro.ats.bdre.md.beans.table.Properties> selectMissingPropListForP(Integer processId, Integer processTemplateId); List<com.wipro.ats.bdre.md.beans.table.PropertiesTemplate> selectMissingPropListForT(Integer processId, Integer parentProcessId, Integer processTemplateId);  }
@Test public void testSelectPTList() throws Exception { List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> returnedList = processTemplateDAO.selectPTList(0); LOGGER.info("size of returned list is " + returnedList.size()); }