public boolean isSetFeature() { return getFeature() != null; }
public static Collection<String> getAllFeatureIdentifiersFromDatasets(Collection<DatasetEntity> datasets) { Set<String> features = Sets.newTreeSet(); for (DatasetEntity dataset : datasets) { if (dataset.getFeature() != null && !Strings.isNullOrEmpty(dataset.getFeature().getIdentifier())) { features.add(dataset.getFeature().getIdentifier()); } } return features; }
* Get featureOfInterest identifiers for observation constellation * * @param oc * Observation constellation * @param session * Hibernate session Hibernate session * @return FeatureOfInterest identifiers for observation constellation * @throws CodedException */ @SuppressWarnings("unchecked") public List<String> getIdentifiers(DatasetEntity oc, Session session) throws OwsExceptionReport { return Lists.newArrayList(oc.getFeature().getIdentifier()); } /**
* Get featureOfInterest identifiers for observation constellation * * @param oc * Observation constellation * @param session * Hibernate session Hibernate session * @return FeatureOfInterest identifiers for observation constellation * @throws CodedException */ @SuppressWarnings("unchecked") public List<String> getIdentifiers(DatasetEntity oc, Session session) throws OwsExceptionReport { return Lists.newArrayList(oc.getFeature().getIdentifier()); } /**
private String createFeatureOfInterest(final DataEntity<?> hObservation) throws OwsExceptionReport { long start = System.currentTimeMillis(); LOGGER.trace("Creating Feature..."); final String foiID = hObservation.getDataset().getFeature().getIdentifier(); if (!features.containsKey(foiID)) { final AbstractFeature featureByID = createFeatureOfInterest(hObservation.getDataset().getFeature()); features.put(foiID, featureByID); } LOGGER.trace("Creating Feature done in {} ms.", System.currentTimeMillis() - start); return foiID; }
private String createFeatureOfInterest(final DataEntity<?> hObservation) throws OwsExceptionReport { long start = System.currentTimeMillis(); LOGGER.trace("Creating Feature..."); final String foiID = hObservation.getDataset().getFeature().getIdentifier(); if (!features.containsKey(foiID)) { final AbstractFeature featureByID = createFeatureOfInterest(hObservation.getDataset().getFeature()); features.put(foiID, featureByID); } LOGGER.trace("Creating Feature done in {} ms.", System.currentTimeMillis() - start); return foiID; }
private Collection<String> getFeatureTypes() { return datasets.stream().filter(d -> d.isSetFeature()).filter(d -> d.getFeature().isSetFeatureType()) .map(d -> d.getFeature().getFeatureType().getFormat()).collect(Collectors.toSet()); }
@SuppressWarnings("unchecked") private T getInstance(T dataset) { return (T) getDefaultCriteria(ProxyDbQuery.createDefaults()) .add(Restrictions.eq(DatasetEntity.PROPERTY_VALUE_TYPE, dataset.getValueType())) .add(Restrictions.eq(DatasetEntity.PROPERTY_CATEGORY, dataset.getCategory())) .add(Restrictions.eq(DatasetEntity.PROPERTY_FEATURE, dataset.getFeature())) .add(Restrictions.eq(DatasetEntity.PROPERTY_PROCEDURE, dataset.getProcedure())) .add(Restrictions.eq(DatasetEntity.PROPERTY_PHENOMENON, dataset.getPhenomenon())) .add(Restrictions.eq(DatasetEntity.PROPERTY_OFFERING, dataset.getOffering())) .add(Restrictions.eq(DatasetEntity.PROPERTY_SERVICE, dataset.getService())) .uniqueResult(); }
private String createSeriesLabel(DatasetEntity<?> series, String locale) { String station = series.getFeature().getLabelFrom(locale); String procedure = series.getProcedure().getLabelFrom(locale); String phenomenon = series.getPhenomenon().getLabelFrom(locale); String offering = series.getOffering().getLabelFrom(locale); StringBuilder sb = new StringBuilder(); sb.append(phenomenon).append(" "); sb.append(procedure).append(", "); sb.append(station).append(", "); return sb.append(offering).toString(); }
private String createDatasetLabel(DatasetEntity dataset, String locale) { PhenomenonEntity phenomenon = dataset.getPhenomenon(); ProcedureEntity procedure = dataset.getProcedure(); OfferingEntity offering = dataset.getOffering(); AbstractFeatureEntity feature = dataset.getFeature(); String procedureLabel = procedure.getLabelFrom(locale); String phenomenonLabel = phenomenon.getLabelFrom(locale); String offeringLabel = offering.getLabelFrom(locale); String stationLabel = feature.getLabelFrom(locale); StringBuilder sb = new StringBuilder(); return sb.append(phenomenonLabel) .append(" ") .append(procedureLabel) .append(", ") .append(stationLabel) .append(", ") .append(offeringLabel) .toString(); }
public boolean hasSameObservationIdentifier(DatasetEntity toCheck, DatasetEntity s) { return toCheck.getFeature().equals(s.getFeature()) && toCheck.getProcedure().equals(s.getProcedure()) && toCheck.getObservableProperty().equals(s.getObservableProperty()); }
public boolean hasSameObservationIdentifier(DatasetEntity toCheck, DatasetEntity s) { return toCheck.getFeature().equals(s.getFeature()) && toCheck.getProcedure().equals(s.getProcedure()) && toCheck.getObservableProperty().equals(s.getObservableProperty()); }
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()); } }
private String createGetObservationUrl(DataEntity hObservation) throws DateTimeFormatException, UnsupportedEncodingException { if (isKvpSupported()) { final StringBuilder url = new StringBuilder(); // service URL url.append(encodeBaseGetUrl(Sos2Constants.SERVICEVERSION)); // request url.append(encodeRequest(SosConstants.Operations.GetObservation.name())); // procedure url.append(encodeParam(SosConstants.GetObservationParams.procedure.name(), hObservation.getDataset().getProcedure().getIdentifier())); // observedProperty url.append(encodeParam(SosConstants.GetObservationParams.observedProperty.name(), hObservation.getDataset().getPhenomenon().getIdentifier())); // featureOfInterest url.append(encodeParam(SosConstants.GetObservationParams.featureOfInterest.name(), hObservation.getDataset().getFeature().getIdentifier())); // phenomenonTime url.append(encodeTemporalFilterParam(hObservation)); return url.toString(); } return ""; }
private String createGetObservationUrl(DataEntity hObservation) throws DateTimeFormatException, UnsupportedEncodingException { if (isKvpSupported()) { final StringBuilder url = new StringBuilder(); // service URL url.append(encodeBaseGetUrl(Sos2Constants.SERVICEVERSION)); // request url.append(encodeRequest(SosConstants.Operations.GetObservation.name())); // procedure url.append(encodeParam(SosConstants.GetObservationParams.procedure.name(), hObservation.getDataset().getProcedure().getIdentifier())); // observedProperty url.append(encodeParam(SosConstants.GetObservationParams.observedProperty.name(), hObservation.getDataset().getPhenomenon().getIdentifier())); // featureOfInterest url.append(encodeParam(SosConstants.GetObservationParams.featureOfInterest.name(), hObservation.getDataset().getFeature().getIdentifier())); // phenomenonTime url.append(encodeTemporalFilterParam(hObservation)); return url.toString(); } return ""; }
protected ReferencedEnvelope getEnvelopeForOffering(OfferingEntity offering) throws OwsExceptionReport { if (offering.isSetGeometry()) { return new ReferencedEnvelope(JTSConverter.convert(offering.getGeometry()).getEnvelopeInternal(), offering.getGeometry().getSRID()); } else if (datasets != null && !datasets.isEmpty()) { Envelope e = new Envelope(); int srid = -1; for (DatasetEntity de : datasets) { if (de.isSetFeature() && de.getFeature().isSetGeometry() && !de.getFeature().getGeometryEntity().isEmpty()) { if (srid < 0 ) { srid = de.getFeature().getGeometryEntity().getGeometry().getSRID(); } e.expandToInclude(JTSConverter.convert(de.getFeature().getGeometryEntity().getGeometry()).getEnvelopeInternal()); } } return new ReferencedEnvelope(e, srid); } return new ReferencedEnvelope(); }
protected String getPlatformId(DatasetEntity dataset) { ProcedureEntity procedure = dataset.getProcedure(); boolean mobile = dataset.isMobile(); boolean insitu = dataset.isInsitu(); PlatformType type = PlatformType.toInstance(mobile, insitu); DescribableEntity entity = type.isStationary() ? dataset.getFeature() : procedure; return type.createId(entity.getId()); }
protected GetDataAvailabilityResponse getDataAvailability(DatasetEntity seriesEntity) { return getDataAvailability(seriesEntity.getProcedure().getDomainId(), seriesEntity.getOffering().getDomainId(), seriesEntity.getPhenomenon().getDomainId(), seriesEntity.getFeature().getDomainId(), seriesEntity.getService().getUrl()); }
protected SeriesParameters createSeriesParameters(DatasetEntity series, DbQuery parameters) throws DataAccessException { SeriesParameters seriesParameter = new SeriesParameters(); seriesParameter.setService(getCondensedExtendedService(parameters)); seriesParameter.setOffering(getCondensedExtendedOffering(series.getOffering(), parameters)); seriesParameter.setProcedure(getCondensedExtendedProcedure(series.getProcedure(), parameters)); seriesParameter.setPhenomenon(getCondensedExtendedPhenomenon(series.getPhenomenon(), parameters)); seriesParameter.setFeature(getCondensedExtendedFeature(series.getFeature(), parameters)); seriesParameter.setCategory(getCondensedExtendedCategory(series.getCategory(), parameters)); seriesParameter.setPlatform(getCondensedPlatform(series.getPlatform(), parameters)); return seriesParameter; }
protected DatasetParameters createDatasetParameters(DatasetEntity dataset, DbQuery query, Session session) throws DataAccessException { DatasetParameters metadata = new DatasetParameters(); ServiceEntity service = getServiceEntity(dataset); metadata.setService(getCondensedExtendedService(service, query)); metadata.setOffering(getCondensedExtendedOffering(dataset.getOffering(), query)); metadata.setProcedure(getCondensedExtendedProcedure(dataset.getProcedure(), query)); metadata.setPhenomenon(getCondensedExtendedPhenomenon(dataset.getPhenomenon(), query)); metadata.setFeature(getCondensedExtendedFeature(dataset.getFeature(), query)); DescribableEntity category = dataset.getCategory() == null ? dataset.getPhenomenon() : dataset.getCategory(); metadata.setCategory(getCondensedExtendedCategory(category, query)); // seriesParameter.setPlatform(getCondensedPlatform(series, parameters, session)); // #309 return metadata; }