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(); }
@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 Time createFromSeries() { // create time element final DateTime phenStartTime = new DateTime(hSeries.getFirstValueAt(), DateTimeZone.UTC); final DateTime phenEndTime = new DateTime(hSeries.getLastValueAt(), DateTimeZone.UTC); return createTime(phenStartTime, phenEndTime); }
private DatasetEntity insertDataset(DatasetEntity dataset, CategoryEntity category, ProcedureEntity procedure, OfferingEntity offering, FeatureEntity feature, PhenomenonEntity phenomenon, Session session) { dataset.setCategory(category); dataset.setProcedure(procedure); dataset.setOffering(offering); dataset.setFeature(feature); dataset.setPhenomenon(phenomenon); if (dataset.getUnit() != null) { dataset.getUnit().setService(dataset.getService()); } return new ProxyDatasetDao<>(session).getOrInsertInstance(dataset); }
public boolean hasSameObservationIdentifier(DatasetEntity toCheck, DatasetEntity s) { return toCheck.getFeature().equals(s.getFeature()) && toCheck.getProcedure().equals(s.getProcedure()) && toCheck.getObservableProperty().equals(s.getObservableProperty()); }
private DatasetEntity getObservationConstellation(PhenomenonEntity observableProperty) throws OwsExceptionReport { return daos.dataset().checkOrInsertSeries(dataset.getProcedure(), observableProperty, dataset.getOffering(), dataset.getCategory(), featureOfInterest, true, session); }
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()); }
@Override public void copy(Dataset dataset) { setIdentifier(dataset.getIdentifier()); setIdentifierCodespace(dataset.getIdentifierCodespace()); setName(dataset.getName()); setNameCodespace(dataset.getNameCodespace()); setDescription(dataset.getDescription()); if (dataset.getParameters() != null) { setParameters(dataset.getParameters() .stream() .collect(Collectors.toSet())); setCategory(dataset.getCategory()); setDeleted(dataset.isDeleted()); setDeleted(dataset.isDeleted()); setDisabled(dataset.isDisabled()); setFeature(dataset.getFeature()); setFirstObservation(dataset.getFirstObservation()); setFirstQuantityValue(dataset.getFirstQuantityValue()); setFirstValueAt(dataset.getFirstValueAt()); setHidden(dataset.isHidden()); setLastObservation(dataset.getLastObservation()); setLastQuantityValue(dataset.getLastQuantityValue()); setLastValueAt(dataset.getLastValueAt()); setObservationCount(dataset.getObservationCount()); setObservationType(dataset.getObservationType()); setOffering(dataset.getOffering()); setPhenomenon(dataset.getPhenomenon()); setPlatform(dataset.getPlatform()); setProcedure(dataset.getProcedure());
@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(); }
boolean minChanged = false; boolean maxChanged = false; if (!series.isSetFirstValueAt() || (series.isSetFirstValueAt() && series.getFirstValueAt().after(hObservation.getSamplingTimeStart()))) { minChanged = true; series.setFirstValueAt(hObservation.getSamplingTimeStart()); series.setFirstObservation(hObservation); if (!series.isSetLastValueAt() || (series.isSetLastValueAt() && series.getLastValueAt().before(hObservation.getSamplingTimeEnd()))) { maxChanged = true; series.setLastValueAt(hObservation.getSamplingTimeEnd()); series.setLastObservation(hObservation); series.setFirstQuantityValue(((QuantityDataEntity) hObservation).getValue()); series.setLastQuantityValue(((QuantityDataEntity) hObservation).getValue());
offerings.add(dataset.getOffering()); if (!daos.dataset().checkObservationType(dataset, observationType, session)) { throw new InvalidParameterValueException().withMessage( "The requested observationType (%s) is invalid for procedure = %s, observedProperty = %s and offering = %s! The valid observationType is '%s'!", observationType, observation.getDataset().getProcedure().getIdentifier(), dataset.getObservableProperty().getIdentifier(), dataset.getOffering().getIdentifier(), dataset.getObservationType().getFormat()); observationContext.setPhenomenon(dataset.getObservableProperty()); observationContext.setProcedure(dataset.getProcedure()); observationContext.setOffering(dataset.getOffering()); observationContext.setCategory(dataset.getCategory());
public final T createDatasetEntity( ProcedureEntity procedure, CategoryEntity category, FeatureEntity feature, OfferingEntity offering, PhenomenonEntity phenomenon, ProxyServiceEntity service) { T datasetEntity = createDatasetEntity(service); datasetEntity.setDomainId(getDomainId()); datasetEntity.setProcedure(procedure); datasetEntity.setCategory(category); datasetEntity.setFeature(feature); datasetEntity.setPhenomenon(phenomenon); datasetEntity.setOffering(offering); datasetEntity.setPublished(true); datasetEntity.setDeleted(false); datasetEntity.setService(service); getLatest().map(DataEntity::getTimestart).ifPresent(datasetEntity::setLastValueAt); getFirst().map(DataEntity::getTimestart).ifPresent(datasetEntity::setFirstValueAt); return datasetEntity; }
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 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()); }
@Override public Criteria getTemoralReferencedObservationCriteriaFor(OmObservation observation, DatasetEntity oc, Session session) throws OwsExceptionReport { Criteria criteria = getDefaultObservationTimeCriteria(session); Criteria seriesCriteria = addRestrictionsToCriteria(criteria, oc.getProcedure().getIdentifier(), oc.getObservableProperty().getIdentifier(), observation.getObservationConstellation().getFeatureOfInterestIdentifier(), oc.getOffering().getIdentifier()); addAdditionalObservationIdentification(seriesCriteria, observation); return criteria; }
private Set<OfferingEntity> getOfferings(DatasetEntity hObservationConstellation) { Set<OfferingEntity> offerings = Sets.newHashSet(); offerings.add(hObservationConstellation.getOffering()); return offerings; }
private boolean isProfileObservation(DatasetEntity observationConstellation) { return observationConstellation.isSetObservationType() && (OmConstants.OBS_TYPE_PROFILE_OBSERVATION .equals(observationConstellation.getObservationType().getFormat()) || GWMLConstants.OBS_TYPE_GEOLOGY_LOG.equals(observationConstellation.getObservationType().getFormat()) || GWMLConstants.OBS_TYPE_GEOLOGY_LOG_COVERAGE .equals(observationConstellation.getObservationType().getFormat())); }
hObservationConstellationReferenceSeries.setObservableProperty(hObservableProperty); hObservationConstellationReferenceSeries.setOffering(hOfferingReferenceSeries); hObservationConstellationReferenceSeries.setProcedure(hProcedureReferenceSeries); Map<String, CodespaceEntity> codespaceCache = CollectionHelper.synchronizedMap(); Map<UoM, UnitEntity> unitCache = CollectionHelper.synchronizedMap(); Collections.singleton(hFeature.getIdentifier()), session).get(0); hReferenceSeries.setPublished(false); session.update(hReferenceSeries); ObservationContext ctxReferenced = new ObservationContext();
public boolean isSetFeature() { return getFeature() != null; }
public static Collection<String> getAllProcedureIdentifiersFromDatasets(Collection<DatasetEntity> datasets) { Set<String> procedures = Sets.newTreeSet(); for (DatasetEntity dataset : datasets) { if (dataset.getProcedure() != null && !Strings.isNullOrEmpty(dataset.getProcedure().getIdentifier())) { procedures.add(dataset.getProcedure().getIdentifier()); } } return procedures; }