@Override public String toString() { StringBuilder sb = new StringBuilder(); return sb.append(getClass().getSimpleName()) .append(" [") .append(" url: ") .append(getUrl()) .append(", type: ") .append(getType()) .append(", version: ") .append(getVersion()) .append(", noDataValues: ") .append(getNoDataValues()) .append(" ]") .toString(); }
private boolean isConfiguredServiceInstance(Long id) { return serviceEntity != null && serviceEntity.getId() .equals(id); }
boolean supportsFirstLatest = entity.isSupportsFirstLatest(); String serviceUrl = entity.getUrl(); String type = getServiceType(entity); features.put(ServiceOutput.SUPPORTED_MIME_TYPES, getSupportedDatasets(result)); String version = (entity.getVersion() != null) ? entity.getVersion() : "2.0";
private DataEntity<?> createObservationBounds(DatasetEntity entity, String order) { String e = String.format("Datastreams(%s)/Observations?$orderby=phenomenonTime%%20%s&$top=1", entity.getDomainId(), order); Observations observations = (Observations) doGetRequest(entity.getService().getUrl(), e, Observations.class); if (observations.getValue().size() == 1) { return createObservation(observations.getValue().get(0)); } return null; }
private CategoryValue createValue(CategoryDataEntity observation, CategoryDatasetEntity series, DbQuery query, String observationValue) { ServiceEntity service = getServiceEntity(series); String textValue = !service.isNoDataValue(observation) ? observation.getValue() : null; return createValue(textValue, observation, query); }
private List<DataEntity<?>> createObservations(DatasetEntity seriesEntity, DateTime start, DateTime end) { String entity = String.format("Datastreams(%s)/Observations?$filter=" + "phenomenonTime%%20gt%%20'%s'" + "%%20and%%20" + "phenomenonTime%%20lt%%20'%s'", seriesEntity.getDomainId(), start.toString(formatter), end.toString(formatter)); Observations observations = (Observations) doGetRequest(seriesEntity.getService().getUrl(), entity, Observations.class); List<DataEntity<?>> list = new LinkedList<>(); addObservationsToList(observations, list); while (observations.getNextLink() != null) { observations = (Observations) doGetRequest(observations.getNextLink(), Observations.class); addObservationsToList(observations, list); } return list; }
private QuantityValue createValue(QuantityDataEntity observation, QuantityDatasetEntity dataset, DbQuery query) { ServiceEntity service = getServiceEntity(dataset); BigDecimal observationValue = !service.isNoDataValue(observation) ? format(observation, dataset) : null; return createValue(observationValue, observation, query); }
protected GetObservationResponse getObservation(DatasetEntity seriesEntity, List<TemporalFilter> temporalFilter, SpatialFilter spatialFilter, String responseFormat) { GetObservationRequest request = new GetObservationRequest(SosConstants.SOS, Sos2Constants.SERVICEVERSION); request.addProcedure(seriesEntity.getProcedure().getDomainId()); request.addOffering(seriesEntity.getOffering().getDomainId()); request.addObservedProperty(seriesEntity.getPhenomenon().getDomainId()); request.addFeatureIdentifier(seriesEntity.getFeature().getDomainId()); Optional.ofNullable(temporalFilter).ifPresent(request::setTemporalFilters); Optional.ofNullable(spatialFilter).ifPresent(request::setSpatialFilter); Optional.ofNullable(responseFormat).ifPresent(request::setResponseFormat); return (GetObservationResponse) getSosResponseFor(request, Sos2Constants.NS_SOS_20, seriesEntity.getService().getUrl()); } }
@Override public CategoryValue createSeriesValueFor(CategoryDataEntity observation, CategoryDatasetEntity series, DbQuery query) { ServiceEntity service = getServiceEntity(series); String observationValue = !service.isNoDataValue(observation) ? observation.getValue() : null; CategoryValue value = createValue(observation, series, query, observationValue); return addMetadatasIfNeeded(observation, value, series, query); }
protected GetDataAvailabilityResponse getDataAvailability(DatasetEntity seriesEntity) { return getDataAvailability(seriesEntity.getProcedure().getDomainId(), seriesEntity.getOffering().getDomainId(), seriesEntity.getPhenomenon().getDomainId(), seriesEntity.getFeature().getDomainId(), seriesEntity.getService().getUrl()); }
@Override public BooleanValue createSeriesValueFor(BooleanDataEntity observation, BooleanDatasetEntity series, DbQuery query) { ServiceEntity service = getServiceEntity(series); Boolean observationValue = !service.isNoDataValue(observation) ? observation.getValue() : null; BooleanValue value = prepareValue(observation, query); value.setValue(observationValue); return addMetadatasIfNeeded(observation, value, series, query); }
@Override public TextValue createSeriesValueFor(TextDataEntity observation, TextDatasetEntity series, DbQuery query) { if (observation == null) { // do not fail on empty observations return null; } ServiceEntity service = getServiceEntity(series); String observationValue = !service.isNoDataValue(observation) ? observation.getValue() : null; TextValue value = prepareValue(observation, query); value.setValue(observationValue); return addMetadatasIfNeeded(observation, value, series, query); }
@Override public CountValue createSeriesValueFor(CountDataEntity observation, CountDatasetEntity series, DbQuery query) { if (observation == null) { // do not fail on empty observations return null; } ServiceEntity service = getServiceEntity(series); Integer observationValue = !service.isNoDataValue(observation) ? observation.getValue() : null; CountValue value = prepareValue(observation, query); value.setValue(observationValue); return addMetadatasIfNeeded(observation, value, series, query); }
@Override public RecordValue createSeriesValueFor(RecordDataEntity observation, RecordDatasetEntity series, DbQuery query) { if (observation == null) { // do not fail on empty observations return null; } ServiceEntity service = getServiceEntity(series); Map<String, Object> observationValue = !service.isNoDataValue(observation) ? observation.getValue() : null; RecordValue value = prepareValue(observation, query); value.setValue(observationValue); return addMetadatasIfNeeded(observation, value, series, query); }