private void updateSeries(DatasetEntity dataset, String observationType, Session session) { FormatEntity obsType = new FormatDAO().getFormatEntityObject(observationType, session); dataset.setObservationType(obsType); session.saveOrUpdate(dataset); // update hidden child observation constellations // TODO should hidden child observation constellations be restricted to // the parent observation type? Set<String> offerings = dataset.getOffering().getChildren().stream().map(o -> o.getIdentifier()).collect(Collectors.toSet()); if (CollectionHelper.isNotEmpty(offerings)) { Criteria c = session.createCriteria(getSeriesClass()) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .add(Restrictions.eq(DatasetEntity.PROPERTY_PHENOMENON, dataset.getObservableProperty())) .add(Restrictions.eq( DatasetEntity.PROPERTY_PROCEDURE, dataset.getProcedure())) .add(Restrictions.eq(DatasetEntity.HIDDEN_CHILD, true)); c.createCriteria( DatasetEntity.PROPERTY_OFFERING).add(Restrictions.in(OfferingEntity.IDENTIFIER, offerings)); LOGGER.debug("QUERY updateSeries(observationConstellation, observationType): {}", HibernateHelper.getSqlString(c)); List<DatasetEntity> hiddenChildObsConsts = c.list(); for (DatasetEntity hiddenChildObsConst : hiddenChildObsConsts) { hiddenChildObsConst.setObservationType(obsType); session.saveOrUpdate(hiddenChildObsConst); } } }
private void updateSeries(DatasetEntity dataset, String observationType, Session session) { FormatEntity obsType = new FormatDAO().getFormatEntityObject(observationType, session); dataset.setObservationType(obsType); session.saveOrUpdate(dataset); // update hidden child observation constellations // TODO should hidden child observation constellations be restricted to // the parent observation type? Set<String> offerings = dataset.getOffering().getChildren().stream().map(o -> o.getIdentifier()).collect(Collectors.toSet()); if (CollectionHelper.isNotEmpty(offerings)) { Criteria c = session.createCriteria(getSeriesClass()) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .add(Restrictions.eq(DatasetEntity.PROPERTY_PHENOMENON, dataset.getObservableProperty())) .add(Restrictions.eq( DatasetEntity.PROPERTY_PROCEDURE, dataset.getProcedure())) .add(Restrictions.eq(DatasetEntity.HIDDEN_CHILD, true)); c.createCriteria( DatasetEntity.PROPERTY_OFFERING).add(Restrictions.in(OfferingEntity.IDENTIFIER, offerings)); LOGGER.debug("QUERY updateSeries(observationConstellation, observationType): {}", HibernateHelper.getSqlString(c)); List<DatasetEntity> hiddenChildObsConsts = c.list(); for (DatasetEntity hiddenChildObsConst : hiddenChildObsConsts) { hiddenChildObsConst.setObservationType(obsType); session.saveOrUpdate(hiddenChildObsConst); } } }
private DatasetEntity insertObservationConstellationForProfiles(AbstractSeriesDAO obsConstDao, FormatDAO obsTypeDao, OmObservation o, Session session) throws OwsExceptionReport { ProcedureEntity procedure = daoFactory.getProcedureDAO() .getProcedureForIdentifier(o.getObservationConstellation().getProcedureIdentifier(), session); PhenomenonEntity observableProperty = daoFactory.getObservablePropertyDAO() .getOrInsertObservableProperty(o.getObservationConstellation().getObservableProperty(), session); OfferingEntity offering = daoFactory.getOfferingDAO() .getOfferingForIdentifier(o.getObservationConstellation().getOfferings().iterator().next(), session); CategoryEntity category = daoFactory.getObservablePropertyDAO() .getOrInsertCategory(observableProperty, session); DatasetEntity oc = obsConstDao.checkOrInsertSeries(procedure, observableProperty, offering, category, false, session); if (o.getObservationConstellation().isSetObservationType()) { oc.setObservationType(obsTypeDao .getFormatEntityObject(o.getObservationConstellation().getObservationType(), session)); } return oc; }
private DatasetEntity insertObservationConstellationForProfiles(AbstractSeriesDAO obsConstDao, FormatDAO obsTypeDao, OmObservation o, Session session) throws OwsExceptionReport { ProcedureEntity procedure = daoFactory.getProcedureDAO() .getProcedureForIdentifier(o.getObservationConstellation().getProcedureIdentifier(), session); PhenomenonEntity observableProperty = daoFactory.getObservablePropertyDAO() .getOrInsertObservableProperty(o.getObservationConstellation().getObservableProperty(), session); OfferingEntity offering = daoFactory.getOfferingDAO() .getOfferingForIdentifier(o.getObservationConstellation().getOfferings().iterator().next(), session); CategoryEntity category = daoFactory.getObservablePropertyDAO() .getOrInsertCategory(observableProperty, session); DatasetEntity oc = obsConstDao.checkOrInsertSeries(procedure, observableProperty, offering, category, false, session); if (o.getObservationConstellation().isSetObservationType()) { oc.setObservationType(obsTypeDao .getFormatEntityObject(o.getObservationConstellation().getObservationType(), session)); } return oc; }
setLastValueAt(dataset.getLastValueAt()); setObservationCount(dataset.getObservationCount()); setObservationType(dataset.getObservationType()); setOffering(dataset.getOffering()); setPhenomenon(dataset.getPhenomenon());
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()); }