@Override public PhenomenonEntity getObservableProperty() { return getPhenomenon(); }
public static Set<String> getAllObservablePropertyIdentifiersFromDatasets(Collection<DatasetEntity> datasets) { Set<String> observableProperties = Sets.newTreeSet(); for (DatasetEntity dataset : datasets) { if (dataset.getPhenomenon() != null && !Strings.isNullOrEmpty(dataset.getPhenomenon().getIdentifier())) { observableProperties.add(dataset.getPhenomenon().getIdentifier()); } } return observableProperties; }
public static Map<String,Collection<DatasetEntity>> mapByObservableProperty( Collection<DatasetEntity> datasets) { Map<String,Collection<DatasetEntity>> map = Maps.newHashMap(); for (DatasetEntity dataset : datasets) { if (dataset.getPhenomenon() != null && !Strings.isNullOrEmpty(dataset.getPhenomenon().getIdentifier())) { CollectionHelper.addToCollectionMap(dataset.getPhenomenon().getIdentifier(), dataset, map); } } return map; } }
private String createPhenomenon(final DataEntity<?> hObservation) throws CodedException { long start = System.currentTimeMillis(); LOGGER.trace("Creating Phenomenon..."); final String phenID = hObservation.getDataset().getPhenomenon().getIdentifier(); if (!observedProperties.containsKey(phenID)) { OmObservableProperty omObservableProperty = createObservableProperty(hObservation.getDataset().getPhenomenon()); observedProperties.put(phenID, omObservableProperty); } LOGGER.trace("Creating Phenomenon done in {} ms.", System.currentTimeMillis() - start); return phenID; }
private String createPhenomenon(final DataEntity<?> hObservation) throws CodedException { long start = System.currentTimeMillis(); LOGGER.trace("Creating Phenomenon..."); final String phenID = hObservation.getDataset().getPhenomenon().getIdentifier(); if (!observedProperties.containsKey(phenID)) { OmObservableProperty omObservableProperty = createObservableProperty(hObservation.getDataset().getPhenomenon()); observedProperties.put(phenID, omObservableProperty); } LOGGER.trace("Creating Phenomenon done in {} ms.", System.currentTimeMillis() - start); return phenID; }
@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(); }
@Override public String toString() { StringBuilder sb = new StringBuilder(); return sb.append(getClass().getSimpleName()) .append(" [") .append(" id: ") .append(getId()) .append(" , category: ") .append(getCategory()) .append(" , phenomenon: ") .append(getPhenomenon()) .append(" , procedure: ") .append(getProcedure()) .append(" , offering: ") .append(getOffering()) .append(" , feature: ") .append(getFeature()) .append(" , service: ") .append(getService()) .append(" ]") .toString(); }
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(); }
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 ""; }
public synchronized DatasetEntity insertDataset(DatasetEntity dataset) { Session session = getSession(); Transaction transaction = null; try { transaction = session.beginTransaction(); ProcedureEntity procedure = insertProcedure(dataset.getProcedure(), session); CategoryEntity category = insertCategory(dataset.getCategory(), session); OfferingEntity offering = insertOffering(dataset.getOffering(), session); FeatureEntity feature = insertFeature(dataset.getFeature(), session); PhenomenonEntity phenomenon = insertPhenomenon(dataset.getPhenomenon(), session); DatasetEntity inserted = insertDataset(dataset, category, procedure, offering, feature, phenomenon, session); session.flush(); transaction.commit(); return inserted; } catch (HibernateException e) { if (transaction != null) { transaction.rollback(); } LOGGER.error("Error occured while saving dataset: ", e); } finally { returnSession(session); } return null; }
protected GetDataAvailabilityResponse getDataAvailability(DatasetEntity seriesEntity) { return getDataAvailability(seriesEntity.getProcedure().getDomainId(), seriesEntity.getOffering().getDomainId(), seriesEntity.getPhenomenon().getDomainId(), seriesEntity.getFeature().getDomainId(), seriesEntity.getService().getUrl()); }
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; }
protected <T extends SweAbstractDataComponent> T setCommonValues( T component, Data<?> valuedObservation) throws CodedException { if (valuedObservation != null) { PhenomenonEntity op = valuedObservation.getDataset().getPhenomenon(); component.setIdentifier(op.getIdentifier()); component.setDefinition(op.getIdentifier()); component.setDescription(op.getDescription()); if (op.isSetNameCodespace()) { String codespace = op.getNameCodespace().getName(); try { component.setName(new CodeType(op.getName(), new URI(codespace))); } catch (URISyntaxException e) { throw new NoApplicableCodeException().causedBy(e).withMessage( "Error while creating URI from '{}'", codespace); } } else { component.setName(op.getName()); } if (valuedObservation.getDataset().hasUnit() && component instanceof SweAbstractUomType) { SweAbstractUomType<?> uomType = (SweAbstractUomType<?>) component; uomType.setUom(valuedObservation.getDataset().getUnit().getUnit()); } } return component; }
protected <T extends SweAbstractDataComponent> T setCommonValues( T component, Data<?> valuedObservation) throws CodedException { if (valuedObservation != null) { PhenomenonEntity op = valuedObservation.getDataset().getPhenomenon(); component.setIdentifier(op.getIdentifier()); component.setDefinition(op.getIdentifier()); component.setDescription(op.getDescription()); if (op.isSetNameCodespace()) { String codespace = op.getNameCodespace().getName(); try { component.setName(new CodeType(op.getName(), new URI(codespace))); } catch (URISyntaxException e) { throw new NoApplicableCodeException().causedBy(e).withMessage( "Error while creating URI from '{}'", codespace); } } else { component.setName(op.getName()); } if (valuedObservation.getDataset().hasUnit() && component instanceof SweAbstractUomType) { SweAbstractUomType<?> uomType = (SweAbstractUomType<?>) component; uomType.setUom(valuedObservation.getDataset().getUnit().getUnit()); } } return component; }
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; }
public void addValuesToSeries(DatasetEntity contextual) { if (!contextual.isSetFeature() && isSetFeatureOfInterest()) { contextual.setFeature(getFeatureOfInterest()); } if (contextual.getPhenomenon() == null && isSetPhenomenon()) { contextual.setPhenomenon(getPhenomenon()); } if (contextual.getProcedure() == null && isSetProcedure()) { contextual.setProcedure(getProcedure()); } if (!contextual.isSetOffering() && isSetOffering()) { contextual.setOffering(getOffering()); } if (contextual.getCategory() == null && isSetCategory()) { contextual.setCategory(getCategory()); } if (!contextual.isSetObservationType() && isSetObservationType()) { contextual.setObservationType(getObservationType()); } if (!contextual.hasUnit() && isSetUnit()) { contextual.setUnit(getUnit()); } contextual.setHidden(isHiddenChild()); contextual.setMobile(isMobile()); contextual.setInsitu(isInsitu()); }
public void addValuesToSeries(DatasetEntity contextual) { if (!contextual.isSetFeature() && isSetFeatureOfInterest()) { contextual.setFeature(getFeatureOfInterest()); } if (contextual.getPhenomenon() == null && isSetPhenomenon()) { contextual.setPhenomenon(getPhenomenon()); } if (contextual.getProcedure() == null && isSetProcedure()) { contextual.setProcedure(getProcedure()); } if (!contextual.isSetOffering() && isSetOffering()) { contextual.setOffering(getOffering()); } if (contextual.getCategory() == null && isSetCategory()) { contextual.setCategory(getCategory()); } if (!contextual.isSetObservationType() && isSetObservationType()) { contextual.setObservationType(getObservationType()); } if (!contextual.hasUnit() && isSetUnit()) { contextual.setUnit(getUnit()); } contextual.setHidden(isHiddenChild()); contextual.setMobile(isMobile()); contextual.setInsitu(isInsitu()); }