protected void setUpTimeForOffering(OfferingEntity offering, SosObservationOffering sosOffering) { sosOffering.setPhenomenonTime(new TimePeriod(offering.getSamplingTimeStart(), offering.getSamplingTimeEnd())); sosOffering.setResultTime(new TimePeriod(offering.getResultTimeStart(), offering.getResultTimeEnd())); }
@Override public void execute() { LOGGER.debug("Executing ObservationTimeCacheUpdate"); startStopwatch(); try { // TODD Use TimerPeriod.expand from OfferingTimes List<OfferingEntity> offerings = new OfferingDao(getSession()).getAllInstances(new DbQuery(IoParameters.createDefaults())); TimePeriod phenomenonTime = new TimePeriod(); TimePeriod resultTime = new TimePeriod(); for (OfferingEntity offering : offerings) { phenomenonTime.extendToContain(new TimePeriod(offering.getPhenomenonTimeStart(), offering.getPhenomenonTimeEnd())); resultTime.extendToContain(new TimePeriod(offering.getResultTimeStart(), offering.getResultTimeEnd())); } getCache().setMinPhenomenonTime(phenomenonTime.getStart()); getCache().setMaxPhenomenonTime(phenomenonTime.getEnd()); getCache().setMinResultTime(resultTime.getStart()); getCache().setMaxResultTime(resultTime.getEnd()); } catch (HibernateException | DataAccessException dae) { getErrors().add(new NoApplicableCodeException().causedBy(dae) .withMessage("Error while updating observation time cache!")); } LOGGER.debug("Finished executing ObservationTimeCacheUpdate ({})", getStopwatchResult()); }
offering.setResultTimeStart(observation.getResultTime()); if (offering.getResultTimeEnd() == null || (offering.getResultTimeEnd() != null && observation.getResultTime() != null && offering.getResultTimeEnd().before(observation.getResultTime()))) { offering.setResultTimeEnd(observation.getResultTime());
offering.setResultTimeStart(observation.getResultTime()); if (offering.getResultTimeEnd() == null || (offering.getResultTimeEnd() != null && observation.getResultTime() != null && offering.getResultTimeEnd().before(observation.getResultTime()))) { offering.setResultTimeEnd(observation.getResultTime());
getCache().setMaxPhenomenonTimeForOffering(identifier, DateTimeHelper.makeDateTime(offering.getSamplingTimeEnd())); getCache().setMinResultTimeForOffering(identifier, DateTimeHelper.makeDateTime(offering.getResultTimeStart())); getCache().setMaxResultTimeForOffering(identifier,DateTimeHelper.makeDateTime(offering.getResultTimeEnd()));