/** * This methods retrieve the statistics which are linked the component given in argument * * @param session The hibernate session * @param component The component for which the method searches the statistics * @return The list of statistics linked to the segmentation * @throws JrafEnterpriseException Exception occurs during the retrieve work */ public static List<SharedRepoStatsDTO> retrieveStats(ISession session, ComponentDTO component) throws JrafEnterpriseException { List<SharedRepoStatsDTO> listStatsDto = new ArrayList<SharedRepoStatsDTO>(); try { // The method retrieves the segment linked to the component SegmentDAOImpl segmentDao = SegmentDAOImpl.getInstance(); List<SegmentBO> segmentlist = segmentDao.findModuleSegments(session, component.getID()); // The method retrieves the segmentation corresponding to the list of segment SegmentationDAOImpl dao = SegmentationDAOImpl.getInstance(); List<SegmentationBO> segmentList = (List<SegmentationBO>) dao.findContainsSegments(session, segmentlist); if (segmentList.size() > 0) { SegmentationBO segmentationBo = segmentList.get(0); Set<SharedRepoStatsBO> statsBoList = segmentationBo.getStatsList(); for (SharedRepoStatsBO statsBo : statsBoList) { listStatsDto.add(SharedRepoStatsTransform.bo2dto(statsBo)); } } } catch (JrafDaoException e) { FacadeHelper.convertException(e, "retrieveStats"); } finally { FacadeHelper.closeSession(session, SharedRepoStatsFacade.class.getName() + ".retrieveStats"); } return listStatsDto; }
/** * This method persists in the database the list of statistics given in argument * * @param session The hibernate session * @param statsListDto The list of statistics to persist in the database * @throws JrafEnterpriseException exception occurs the saveAll work */ public static void saveAll(ISession session, List<SharedRepoStatsDTO> statsListDto) throws JrafEnterpriseException { try { SharedRepoStatsDAOImpl sharedRepoDao = SharedRepoStatsDAOImpl.getInstance(); SegmentationDAOImpl segmentationDao = SegmentationDAOImpl.getInstance(); for (SharedRepoStatsDTO sharedRepoStatsDto : statsListDto) { SharedRepoStatsBO statsBo = SharedRepoStatsTransform.dto2bo(sharedRepoStatsDto); SegmentationBO segment = (SegmentationBO) segmentationDao.get(session, statsBo.getSegmentation().getSegmentationId()); segment.getStatsList().add(statsBo); statsBo.setSegmentation(segment); sharedRepoDao.save(session, statsBo); } } catch (JrafDaoException e) { FacadeHelper.convertException(e, "saveAll"); } }