private MeasurementReferenceValueOutput[] createReferenceValueOutputs(MeasurementDatasetEntity series, DbQuery query, MeasurementDataRepository repository) throws DataAccessException { List<MeasurementReferenceValueOutput> outputs = new ArrayList<>(); Set<MeasurementDatasetEntity> referenceValues = series.getReferenceValues(); for (MeasurementDatasetEntity referenceSeriesEntity : referenceValues) { if (referenceSeriesEntity.isPublished()) { MeasurementReferenceValueOutput refenceValueOutput = new MeasurementReferenceValueOutput(); ProcedureEntity procedure = referenceSeriesEntity.getProcedure(); refenceValueOutput.setLabel(procedure.getNameI18n(query.getLocale())); refenceValueOutput.setReferenceValueId(referenceSeriesEntity.getPkid().toString()); MeasurementDataEntity lastValue = referenceSeriesEntity.getLastValue(); refenceValueOutput.setLastValue(repository.createSeriesValueFor(lastValue, referenceSeriesEntity, query)); outputs.add(refenceValueOutput); } } return outputs.toArray(new MeasurementReferenceValueOutput[0]); }
@Override public List<ReferenceValueOutput<QuantityValue>> createReferenceValueOutputs(QuantityDatasetEntity datasetEntity, DbQuery query) { List<QuantityDatasetEntity> referenceValues = datasetEntity.getReferenceValues(); List<ReferenceValueOutput<QuantityValue>> outputs = new ArrayList<>(); for (QuantityDatasetEntity referenceSeriesEntity : referenceValues) { ReferenceValueOutput<QuantityValue> refenceValueOutput = new ReferenceValueOutput<>(); ProcedureEntity procedure = referenceSeriesEntity.getProcedure(); refenceValueOutput.setLabel(procedure.getNameI18n(query.getLocale())); refenceValueOutput.setReferenceValueId(createReferenceDatasetId(query, referenceSeriesEntity)); QuantityDataEntity lastValue = (QuantityDataEntity) referenceSeriesEntity.getLastObservation(); refenceValueOutput.setLastValue(createSeriesValueFor(lastValue, referenceSeriesEntity, query)); outputs.add(refenceValueOutput); } return outputs; }
private List<ReferenceValueOutput<QuantityValue>> createReferenceValueOutputs(QuantityDatasetEntity series, DbQuery query, QuantityDataRepository repository, Session session) throws DataAccessException { List<ReferenceValueOutput<QuantityValue>> outputs = new ArrayList<>(); List<QuantityDatasetEntity> referenceValues = series.getReferenceValues(); DataDao<QuantityDataEntity> dataDao = createDataDao(session); for (DatasetEntity referenceSeriesEntity : referenceValues) { if (referenceSeriesEntity.isPublished() && referenceSeriesEntity instanceof QuantityDatasetEntity) { ReferenceValueOutput<QuantityValue> refenceValueOutput = new ReferenceValueOutput<>(); ProcedureEntity procedure = referenceSeriesEntity.getProcedure(); refenceValueOutput.setLabel(procedure.getNameI18n(query.getLocale())); refenceValueOutput.setReferenceValueId(referenceSeriesEntity.getId() .toString()); QuantityDatasetEntity quantityDatasetEntity = (QuantityDatasetEntity) referenceSeriesEntity; QuantityDataEntity lastValue = dataDao.getDataValueViaTimeend(series, query); refenceValueOutput.setLastValue(repository.createSeriesValueFor(lastValue, quantityDatasetEntity, query)); outputs.add(refenceValueOutput); } } return outputs; }