private Collection<String> getObservationTypes(Entry<OfferingEntity, Set<OfferingEntity>> entry) { Set<String> observationTypes = new HashSet<>(); entry.getValue().stream() .map(OfferingEntity::getIdentifier) .map(this::getObservationTypes) .forEach(observationTypes::addAll); observationTypes.addAll(getObservationTypes(entry.getKey().getIdentifier())); return observationTypes; }
public List<String> getOfferingsForSeries(DatasetEntity series, Session session) { return Lists.newArrayList(series.getOffering().getIdentifier()); }
public List<String> getOfferingsForSeries(DatasetEntity series, Session session) { return Lists.newArrayList(series.getOffering().getIdentifier()); }
private Set<String> createOfferingSet(DataEntity<?> hObservation, String procedure, String observedProperty) { long start = System.currentTimeMillis(); LOGGER.trace("Creating Offerings..."); Set<String> offerings = Sets.newHashSet(); offerings.add(hObservation.getDataset().getOffering().getIdentifier()); LOGGER.trace("Creating Offerings done in {} ms.", System.currentTimeMillis() - start); return offerings; }
public static Collection<String> getAllOfferingIdentifiersFromDatasets(Collection<DatasetEntity> datasets) { Set<String> offerings = Sets.newTreeSet(); for (DatasetEntity dataset : datasets) { if (dataset.getOffering() != null && !Strings.isNullOrEmpty(dataset.getOffering().getIdentifier())) { offerings.add(dataset.getOffering().getIdentifier()); } } return offerings; }
private Set<String> createOfferingSet(DataEntity<?> hObservation, String procedure, String observedProperty) { long start = System.currentTimeMillis(); LOGGER.trace("Creating Offerings..."); Set<String> offerings = Sets.newHashSet(); offerings.add(hObservation.getDataset().getOffering().getIdentifier()); LOGGER.trace("Creating Offerings done in {} ms.", System.currentTimeMillis() - start); return offerings; }
public static Set<String> getAllOfferingIdentifiersFromDatasetEntitys( Collection<DatasetEntity> datasets) { Set<String> offerings = new HashSet<String>(datasets.size()); for (DatasetEntity dataset : datasets) { if (dataset.getOffering() != null && !Strings.isNullOrEmpty(dataset.getOffering().getIdentifier())) { offerings.add(dataset.getOffering().getIdentifier()); } } return offerings; }
public static Map<String,Collection<DatasetEntity>> mapByOffering( Collection<DatasetEntity> datasets) { Map<String,Collection<DatasetEntity>> map = Maps.newHashMap(); for (DatasetEntity dataset : datasets) { if (dataset.getOffering() != null && !Strings.isNullOrEmpty(dataset.getOffering().getIdentifier())) { CollectionHelper.addToCollectionMap(dataset.getOffering().getIdentifier(), dataset, map); } } return map; }
private ReferencedEnvelope getObservedArea(Entry<OfferingEntity, Set<OfferingEntity>> entry) throws OwsExceptionReport { ReferencedEnvelope envelope = new ReferencedEnvelope(); if (!entry.getValue().isEmpty()) { for (OfferingEntity offering : entry.getValue()) { envelope.expandToInclude(getObservedArea(offering.getIdentifier())); } } else { envelope.expandToInclude(getObservedArea(entry.getKey().getIdentifier())); } return envelope; }
@Override protected OfferingCacheUpdateTask[] getUpdatesToExecute() throws OwsExceptionReport { Collection<OfferingCacheUpdateTask> offeringUpdateTasks = Lists.newArrayList(); for (OfferingEntity offering : getOfferingsToUpdate()){ Collection<DatasetEntity> datasets = getOfferingDatasets().get(offering.getIdentifier()); offeringUpdateTasks.add(new OfferingCacheUpdateTask( offering, datasets, this.defaultLanguage, this.i18NDAORepository)); } return offeringUpdateTasks.toArray(new OfferingCacheUpdateTask[offeringUpdateTasks.size()]); }
private Set<String> getChildOfferings(OfferingEntity offering) { Set<String> childs = Sets.newTreeSet(); if (offering.hasChildren()) { for (OfferingEntity child : offering.getChildren()) { childs.add(child.getIdentifier()); childs.addAll(getChildOfferings(child)); } } return childs; }
private ReferenceType getOfferingReference(Dataset entity, Map<String, ReferenceType> offerings){ String identifier = entity.getOffering().getIdentifier(); if (!offerings.containsKey(identifier)) { ReferenceType referenceType = new ReferenceType(identifier); if (entity.getOffering().isSetName()) { referenceType.setTitle(entity.getOffering().getName()); } offerings.put(identifier, referenceType); } return offerings.get(identifier); }
* Insert featureOfInterest/related feature relations if relatedFeatures * exists for offering. * * @param featureOfInterest * FeatureOfInerest * @param offering * Offering * @param session * Hibernate session */ public void checkOrInsertRelatedFeatureRelation(AbstractFeatureEntity featureOfInterest, OfferingEntity offering, Session session) { getDaoFactory().getRelatedFeatureDAO().getRelatedFeatureForOffering(offering.getIdentifier(), session).stream() .filter(relatedFeature -> !featureOfInterest.getIdentifier().equals(relatedFeature.getFeature().getIdentifier())) .forEachOrdered(relatedFeature -> insertRelationship(relatedFeature.getFeature(), featureOfInterest, session)); } /**
* Insert featureOfInterest/related feature relations if relatedFeatures * exists for offering. * * @param featureOfInterest * FeatureOfInerest * @param offering * Offering * @param session * Hibernate session */ public void checkOrInsertRelatedFeatureRelation(AbstractFeatureEntity featureOfInterest, OfferingEntity offering, Session session) { getDaoFactory().getRelatedFeatureDAO().getRelatedFeatureForOffering(offering.getIdentifier(), session).stream() .filter(relatedFeature -> !featureOfInterest.getIdentifier().equals(relatedFeature.getFeature().getIdentifier())) .forEachOrdered(relatedFeature -> insertRelationship(relatedFeature.getFeature(), featureOfInterest, session)); } /**
/** * Get result template object for observation constellation * * @param observationConstellation * Observation constellation object * @param session * Hibernate session * @return Result template object */ public ResultTemplateEntity getResultTemplateObjectsForObservationConstellation( final DatasetEntity observationConstellation, final Session session) { return getResultTemplateObject(observationConstellation.getOffering().getIdentifier(), observationConstellation.getObservableProperty().getIdentifier(), session); }
/** * Get result template object for observation constellation * * @param observationConstellation * Observation constellation object * @param session * Hibernate session * @return Result template object */ public ResultTemplateEntity getResultTemplateObjectsForObservationConstellation( final DatasetEntity observationConstellation, final Session session) { return getResultTemplateObject(observationConstellation.getOffering().getIdentifier(), observationConstellation.getObservableProperty().getIdentifier(), session); }
private void addSosOfferingToObservationOffering(OfferingEntity offering, SosObservationOffering sosObservationOffering, GetCapabilitiesRequest request) throws CodedException { SosOffering sosOffering = new SosOffering(offering.getIdentifier(), false); sosObservationOffering.setOffering(sosOffering); // add offering name I18NHelper.addOfferingNames(getCache(), sosOffering, getRequestedLocale(request), Locale.ROOT, false); // add offering description I18NHelper.addOfferingDescription(sosOffering, getRequestedLocale(request), Locale.ROOT, getCache()); }
@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; }
@Override public void execute() { LOGGER.debug("Executing RelatedFeaturesCacheUpdate"); startStopwatch(); try { for (RelatedFeatureEntity relatedFeature : new RelatedFeatureDao(getSession()) .getAllInstances(new DbQuery(IoParameters.createDefaults()))) { String identifier = relatedFeature.getFeature().getIdentifier(); for (OfferingEntity offering : relatedFeature.getOfferings()) { getCache().addRelatedFeatureForOffering(offering.getIdentifier(), identifier); } getCache().addRoleForRelatedFeature(identifier, relatedFeature.getRole()); } } catch (HibernateException | DataAccessException dae) { getErrors().add(new NoApplicableCodeException().causedBy(dae) .withMessage("Error while updating related feature cache!")); } LOGGER.debug("Finished executing RelatedFeaturesCacheUpdate ({})", getStopwatchResult()); } }
@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; }