List of usage examples for org.hibernate.criterion Projections distinct
public static Projection distinct(Projection projection)
From source file:org.n52.sos.ds.hibernate.GetFeatureOfInterestDAO.java
License:Open Source License
/** * Get Detached Criteria for series concept. Criteria results are * FeatureOfInterest entities.//from w w w .j a v a2s . c o m * * @param req * GetFeatureOfInterest request * @param session * Hibernate Sesstion * @return Detached Criteria * @throws CodedException If an error occurs during processing */ private DetachedCriteria getDetachedCriteriaForSeriesWithProcedureObservableProperty( GetFeatureOfInterestRequest req, Session session) throws CodedException { final DetachedCriteria detachedCriteria = DetachedCriteria .forClass(EntitiyHelper.getInstance().getSeriesEntityClass()); detachedCriteria.add(Restrictions.eq(Series.DELETED, false)); // observableProperties if (req.isSetObservableProperties()) { detachedCriteria.createCriteria(Series.OBSERVABLE_PROPERTY) .add(Restrictions.in(ObservableProperty.IDENTIFIER, req.getObservedProperties())); } // procedures if (req.isSetProcedures()) { detachedCriteria.createCriteria(Series.PROCEDURE) .add(Restrictions.in(Procedure.IDENTIFIER, req.getProcedures())); } detachedCriteria.setProjection(Projections.distinct(Projections.property(Series.FEATURE_OF_INTEREST))); return detachedCriteria; }
From source file:org.n52.sos.ds.hibernate.GetFeatureOfInterestDAO.java
License:Open Source License
/** * Get Detached Criteria for SOS 1.0.0 and series concept. Criteria results * are FeatureOfInterest entities./*from www. j a v a 2s . c o m*/ * * @param req * GetFeatureOfInterest request * @param session * Hibernate Sesstion * @return Detached Criteria * @throws OwsExceptionReport * If an error occurs during processing */ private DetachedCriteria getDetachedCriteriaForFeautreOfInterestForSeries(GetFeatureOfInterestRequest req, Session session) throws OwsExceptionReport { final DetachedCriteria detachedCriteria = DetachedCriteria .forClass(EntitiyHelper.getInstance().getSeriesEntityClass()); detachedCriteria.add(Subqueries.propertyIn(Series.ID, getDetachedCriteriaForSeriesWithProcedureObservablePropertyTemporalFilter(req, session))); detachedCriteria.setProjection(Projections.distinct(Projections.property(Series.FEATURE_OF_INTEREST))); return detachedCriteria; }
From source file:org.n52.sos.ds.hibernate.GetFeatureOfInterestDAO.java
License:Open Source License
/** * Get Detached Criteria for SOS 1.0.0 and series concept. Criteria results * are Series entities.// ww w . j a va 2s . c o m * * @param req * GetFeatureOfInterest request * @param session * Hibernate Sesstion * @return Detached Criteria * @throws CodedException If an error occurs during processing */ private DetachedCriteria getDetachedCriteriaForSeriesWithProcedureObservablePropertyTemporalFilter( GetFeatureOfInterestRequest req, Session session) throws CodedException { final DetachedCriteria detachedCriteria = DetachedCriteria .forClass(EntitiyHelper.getInstance().getObservationInfoEntityClass()); DetachedCriteria seriesCriteria = detachedCriteria.createCriteria(SeriesObservationInfo.SERIES); detachedCriteria.add(Restrictions.eq(Series.DELETED, false)); // observableProperties if (req.isSetObservableProperties()) { seriesCriteria.createCriteria(Series.OBSERVABLE_PROPERTY) .add(Restrictions.in(ObservableProperty.IDENTIFIER, req.getObservedProperties())); } // procedures if (req.isSetProcedures()) { seriesCriteria.createCriteria(Series.PROCEDURE) .add(Restrictions.in(Procedure.IDENTIFIER, req.getProcedures())); } // temporal filter if (req.isSetTemporalFilters()) { detachedCriteria.add(TemporalRestrictions.filter(req.getTemporalFilters())); } detachedCriteria.setProjection(Projections.distinct(Projections.property(SeriesObservationInfo.SERIES))); return detachedCriteria; }
From source file:org.n52.sos.ds.hibernate.HibernateFeatureQueryHandler.java
License:Open Source License
@Deprecated @Override//w w w.j av a 2 s . c o m @SuppressWarnings("unchecked") public Collection<String> getFeatureIDs(final SpatialFilter filter, final Object connection) throws OwsExceptionReport { final Session session = HibernateSessionHolder.getSession(connection); try { if (GeometryHandler.getInstance().isSpatialDatasource()) { final Criteria c = session.createCriteria(FeatureOfInterest.class) .setProjection(Projections.distinct(Projections.property(FeatureOfInterest.IDENTIFIER))); if (filter != null) { c.add(SpatialRestrictions.filter(FeatureOfInterest.GEOMETRY, filter.getOperator(), getGeometryHandler() .switchCoordinateAxisFromToDatasourceIfNeeded(filter.getGeometry()))); } return c.list(); } else { final List<String> identifiers = new LinkedList<String>(); final List<FeatureOfInterest> features = session.createCriteria(FeatureOfInterest.class).list(); if (filter != null) { final Geometry envelope = GeometryHandler.getInstance() .getFilterForNonSpatialDatasource(filter); for (final FeatureOfInterest feature : features) { final Geometry geom = getGeomtery(feature, session); if (geom != null && envelope.contains(geom)) { identifiers.add(feature.getIdentifier()); } } } return identifiers; } } catch (final HibernateException he) { throw new NoApplicableCodeException().causedBy(he) .withMessage("An error occurred while querying feature identifiers for spatial filter!"); } }
From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java
License:Open Source License
/** * Get procedure identifiers for FOI//from w w w .j av a 2s . co m * * @param session * Hibernate session * @param feature * FOI object * * @return Related procedure identifiers */ @Deprecated @SuppressWarnings("unchecked") public static List<String> getProceduresForFeatureOfInterest(Session session, FeatureOfInterest feature) { return session.createCriteria(Observation.class).add(Restrictions.eq(Observation.DELETED, false)) .createCriteria(Observation.FEATURE_OF_INTEREST) .add(Restrictions.eq(FeatureOfInterest.IDENTIFIER, feature.getIdentifier())) .setProjection(Projections.distinct(Projections.property(FeatureOfInterest.IDENTIFIER))).list(); }
From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java
License:Open Source License
@Deprecated @SuppressWarnings("unchecked") public static List<String> getObservationIdentifiers(Session session) { return session.createCriteria(Observation.class).add(Restrictions.eq(Observation.DELETED, false)) .add(Restrictions.isNotNull(Observation.IDENTIFIER)) .setProjection(Projections.distinct(Projections.property(Observation.IDENTIFIER))).list(); }
From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java
License:Open Source License
/** * Get FOI identifiers for an offering identifier * /*from ww w. j a v a 2s . c o m*/ * @param offeringID * Offering identifier * @param session * Hibernate session * @return FOI identifiers for offering */ @Deprecated @SuppressWarnings("unchecked") public static List<String> getFeatureOfInterestIdentifiersForOffering(String offeringID, Session session) { Criteria c = session.createCriteria(Observation.class).add(Restrictions.eq(Observation.DELETED, false)); c.createCriteria(Observation.FEATURE_OF_INTEREST) .setProjection(Projections.distinct(Projections.property(FeatureOfInterest.IDENTIFIER))); c.createCriteria(Observation.OFFERINGS).add(Restrictions.eq(Offering.IDENTIFIER, offeringID)); return c.list(); }
From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java
License:Open Source License
@Deprecated @SuppressWarnings("unchecked") public static List<String> getProcedureIdentifiersForOffering(String offeringID, Session session) { Criteria c = session.createCriteria(Observation.class).add(Restrictions.eq(Observation.DELETED, false)); c.createCriteria(Observation.PROCEDURE) .setProjection(Projections.distinct(Projections.property(Procedure.IDENTIFIER))); c.createCriteria(Observation.OFFERINGS).add(Restrictions.eq(Offering.IDENTIFIER, offeringID)); return c.list(); }
From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java
License:Open Source License
@Deprecated @SuppressWarnings("unchecked") public static List<String> getObservablePropertyIdentifiersForOffering(String offeringID, Session session) { Criteria c = session.createCriteria(Observation.class).add(Restrictions.eq(Observation.DELETED, false)); c.createCriteria(Observation.OBSERVABLE_PROPERTY) .setProjection(Projections.distinct(Projections.property(ObservableProperty.IDENTIFIER))); c.createCriteria(Observation.OFFERINGS).add(Restrictions.eq(Offering.IDENTIFIER, offeringID)); return c.list(); }
From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java
License:Open Source License
@Deprecated @SuppressWarnings("unchecked") public static List<String> getFeatureOfInterestIdentifiersForObservationConstellation( ObservationConstellation oc, Session session) { Criteria criteria = session.createCriteria(Observation.class) .add(Restrictions.eq(Observation.DELETED, false)) .add(Restrictions.eq(Observation.PROCEDURE, oc.getProcedure())) .add(Restrictions.eq(Observation.OBSERVABLE_PROPERTY, oc.getObservableProperty())); criteria.createCriteria(Observation.OFFERINGS) .add(Restrictions.eq(Offering.ID, oc.getOffering().getOfferingId())); criteria.createCriteria(Observation.FEATURE_OF_INTEREST) .setProjection(Projections.distinct(Projections.property(FeatureOfInterest.IDENTIFIER))); return criteria.list(); }