private int resourceSchedules( Asset defaultAsset, ArrayList<ResourceSchedule> getResourceSchedules, HashMap<String, Asset> assets, List<SlideshowInterval> timelineIntervalList, int slide, long timeInMillis) { int sizeSchedules = getResourceSchedules.size(); for (int i = 0; i < sizeSchedules - 1; ++i) { ResourceSchedule GetResourceSchedules = getResourceSchedules.get(i); if (timeInMillis > GetResourceSchedules.getStartTime()) { ++slide; } timelineIntervalList.add( resourceScheduleToDate( GetResourceSchedules, assets.get(GetResourceSchedules.getResourceId()))); if (defaultAsset != null) { long getEndTime = GetResourceSchedules.getEndTime(); if (getEndTime != getResourceSchedules.get(i + 1).getStartTime()) { if (getEndTime < timeInMillis) { ++slide; } timelineIntervalList.add( defaultDate( getEndTime, getResourceSchedules.get(i + 1).getStartTime(), defaultAsset)); } } } return slide; }
private SlideshowInterval resourceScheduleToDate(ResourceSchedule schedule, Asset asset) { SlideshowInterval out = new SlideshowInterval(); out.setStartDate(timestampToTimelineDate(schedule.getStartTime())); out.setEndDate(timestampToTimelineDate(schedule.getEndTime())); out.setHeadline(schedule.getName()); out.setAsset(asset); return out; }
private HashMap<String, Asset> setRecourceIds(ArrayList<ResourceSchedule> getResourceSchedules) { Set<String> resourceIds = new HashSet<>(); for (ResourceSchedule item : getResourceSchedules) { resourceIds.add(item.getResourceId()); } Iterable<Resource> resourcesSet = resourceHolderResourceRepository.findAll(resourceIds); HashMap<String, Asset> assets = resourcesToAssetMap(resourcesSet); return assets; }
public SlideshowData generateTimelineData(String resourceHolderId) throws Exception { ResourceHolder resourceHolder = resourceHolderRepository.findOne(resourceHolderId); exceptionNullResourceHolder(resourceHolder); Resource resource = getIdResource(); Asset defaultAsset = defaultAsset(resource); Slideshow timeline = new Slideshow(); setTimeline(defaultAsset, timeline); ResourceSchedule schedule = ScheduleServiceImplSimple.findOne(resource.getScheduleId()); nullExceptionSchedule(schedule); ArrayList<ResourceSchedule> getResourceSchedules = schedule.getResourceSchedules(); int sizeOfResourceSchedules = getResourceSchedules.size(); if (sizeOfResourceSchedules == 0) { throw new Exception("", null); } HashMap<String, Asset> assets = setRecourceIds(getResourceSchedules); List<SlideshowInterval> timelineIntervalList = new ArrayList<>(); int slide = 0; Calendar calendar = GregorianCalendar.getInstance(); long timeInMillis = calendar.getTimeInMillis(); slide = resourceSchedules( defaultAsset, getResourceSchedules, assets, timelineIntervalList, slide, timeInMillis); if (sizeOfResourceSchedules > 0) { ResourceSchedule sizeOfResourceSchedule = getResourceSchedules.get(sizeOfResourceSchedules - 1); if (timeInMillis > sizeOfResourceSchedule.getEndTime()) { slide = 0; } timelineIntervalList.add( resourceScheduleToDate( sizeOfResourceSchedule, assets.get(sizeOfResourceSchedule.getResourceId()))); } timeline.setDate(timelineIntervalList); return new SlideshowData(timeline, slide); }
public SlideshowData generateTimelineData(String resourceHolderId, String contentId) throws Exception { Resource resource = getResource(contentId); Asset defaultAsset = null; if (resource != null) { defaultAsset = resourceToAsset(resource); } Slideshow timeline = new Slideshow(); if (defaultAsset != null) { setDefaultProperties(defaultAsset, timeline); } else { setOptionalProperties(timeline); } ResourceSchedule schedule = ScheduleServiceImplSimple.findOne(resource.getScheduleId()); if (schedule == null) { try { throw new Exception(""); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (schedule.getResourceSchedules().size() == 0) { throw new Exception("", null); } Set<String> resourceIds = new HashSet<>(); // zmienic for (ResourceSchedule item : schedule.getResourceSchedules()) { resourceIds.add(item.getResourceId()); } Iterable<Resource> resourcesSet = resourceHolderResourceRepository.findAll(resourceIds); HashMap<String, Asset> assets = resourcesToAssetMap(resourcesSet); List<SlideshowInterval> timelineIntervalList = new ArrayList<>(); int slide = 0; Calendar calendar = GregorianCalendar.getInstance(); for (int i = 0; i < schedule.getResourceSchedules().size() - 1; ++i) { long startTime = schedule.getResourceSchedules().get(i).getStartTime(); if (calendar.getTimeInMillis() > startTime) { ++slide; } timelineIntervalList.add( resourceScheduleToDate( schedule.getResourceSchedules().get(i), assets.get(schedule.getResourceSchedules().get(i).getResourceId()))); if (defaultAsset != null) { if (schedule.getResourceSchedules().get(i).getEndTime() != schedule.getResourceSchedules().get(i + 1).getStartTime()) { if (schedule.getResourceSchedules().get(i).getEndTime() < calendar.getTimeInMillis()) { ++slide; } timelineIntervalList.add( defaultDate( schedule.getResourceSchedules().get(i).getEndTime(), schedule.getResourceSchedules().get(i + 1).getStartTime(), defaultAsset)); } } } if (schedule.getResourceSchedules().size() > 0) { if (calendar.getTimeInMillis() > schedule .getResourceSchedules() .get(schedule.getResourceSchedules().size() - 1) .getEndTime()) { slide = 0; } timelineIntervalList.add( resourceScheduleToDate( schedule.getResourceSchedules().get(schedule.getResourceSchedules().size() - 1), assets.get( schedule .getResourceSchedules() .get(schedule.getResourceSchedules().size() - 1) .getResourceId()))); } timeline.setDate(timelineIntervalList); return new SlideshowData(timeline, slide); }