List of usage examples for org.hibernate.criterion Projections distinct
public static Projection distinct(Projection projection)
From source file:org.n52.sos.ds.hibernate.dao.FeatureOfInterestTypeDAO.java
License:Open Source License
/** * Get all featureOfInterest types// w w w . ja v a2 s . c o m * * @param session * Hibernate session * @return All featureOfInterest types */ @SuppressWarnings("unchecked") public List<String> getFeatureOfInterestTypes(final Session session) { Criteria criteria = session.createCriteria(FeatureOfInterestType.class) .add(Restrictions.ne(FeatureOfInterestType.FEATURE_OF_INTEREST_TYPE, OGCConstants.UNKNOWN)) .setProjection( Projections.distinct(Projections.property(FeatureOfInterestType.FEATURE_OF_INTEREST_TYPE))); LOGGER.debug("QUERY getFeatureOfInterestTypes(): {}", HibernateHelper.getSqlString(criteria)); return criteria.list(); }
From source file:org.n52.sos.ds.hibernate.dao.FeatureOfInterestTypeDAO.java
License:Open Source License
/** * Get featureOfInterest type objects for featureOfInterest identifiers * // w w w.j a v a2 s . c o m * @param featureOfInterestIdentifiers * FeatureOfInterest identifiers * @param session * Hibernate session * @return FeatureOfInterest type objects */ @SuppressWarnings("unchecked") public List<String> getFeatureOfInterestTypesForFeatureOfInterest( final Collection<String> featureOfInterestIdentifiers, final Session session) { Criteria criteria = session.createCriteria(FeatureOfInterest.class) .add(Restrictions.in(FeatureOfInterest.IDENTIFIER, featureOfInterestIdentifiers)); criteria.createCriteria(FeatureOfInterest.FEATURE_OF_INTEREST_TYPE).setProjection( Projections.distinct(Projections.property(FeatureOfInterestType.FEATURE_OF_INTEREST_TYPE))); LOGGER.debug("QUERY getFeatureOfInterestTypesForFeatureOfInterest(featureOfInterestIdentifiers): {}", HibernateHelper.getSqlString(criteria)); return criteria.list(); }
From source file:org.n52.sos.ds.hibernate.dao.i18n.AbstractHibernateI18NDAO.java
License:Open Source License
@Override @SuppressWarnings("unchecked") public Collection<Locale> getAvailableLocales(Session session) throws OwsExceptionReport { Criteria criteria = session.createCriteria(getHibernateEntityClass()); criteria.setProjection(Projections.distinct(Projections.property(AbstractHibernateI18NMetadata.LOCALE))); return criteria.list(); }
From source file:org.n52.sos.ds.hibernate.dao.ObservablePropertyDAO.java
License:Open Source License
/** * Get observable property identifiers for offering identifier * * @param offeringIdentifier// w w w . ja v a 2 s . co m * Offering identifier * @param session * Hibernate session * @return Observable property identifiers * @throws CodedException * If an error occurs */ @SuppressWarnings("unchecked") public List<String> getObservablePropertyIdentifiersForOffering(final String offeringIdentifier, final Session session) throws OwsExceptionReport { final boolean flag = HibernateHelper.isEntitySupported(ObservationConstellation.class); Criteria c = null; if (flag) { c = getDefaultCriteria(session); c.add(Subqueries.propertyIn(Procedure.ID, getDetachedCriteriaObservablePropertiesForOfferingFromObservationConstellation( offeringIdentifier, session))); c.setProjection(Projections.distinct(Projections.property(ObservableProperty.IDENTIFIER))); } else { AbstractObservationDAO observationDAO = DaoFactory.getInstance().getObservationDAO(); c = observationDAO.getDefaultObservationInfoCriteria(session); if (observationDAO instanceof SeriesObservationDAO) { Criteria seriesCriteria = c.createCriteria(SeriesObservationInfo.SERIES); seriesCriteria.createCriteria(Series.OBSERVABLE_PROPERTY) .setProjection(Projections.distinct(Projections.property(ObservableProperty.IDENTIFIER))); } else { c.createCriteria(AbstractObservation.OBSERVABLE_PROPERTY) .setProjection(Projections.distinct(Projections.property(ObservableProperty.IDENTIFIER))); } new OfferingDAO().addOfferingRestricionForObservation(c, offeringIdentifier); } LOGGER.debug( "QUERY getProcedureIdentifiersForOffering(offeringIdentifier) using ObservationContellation entitiy ({}): {}", flag, HibernateHelper.getSqlString(c)); return c.list(); }
From source file:org.n52.sos.ds.hibernate.dao.ObservablePropertyDAO.java
License:Open Source License
/** * Get observable property identifiers for procedure identifier * * @param procedureIdentifier//from w w w .ja va 2 s.co m * Procedure identifier * @param session * Hibernate session * @return Observable property identifiers */ @SuppressWarnings("unchecked") public List<String> getObservablePropertyIdentifiersForProcedure(final String procedureIdentifier, final Session session) { final boolean flag = HibernateHelper.isEntitySupported(ObservationConstellation.class); Criteria c = null; if (flag) { c = getDefaultCriteria(session); c.setProjection(Projections.distinct(Projections.property(ObservableProperty.IDENTIFIER))); c.add(Subqueries.propertyIn(ObservableProperty.ID, getDetachedCriteriaObservablePropertyForProcedureFromObservationConstellation( procedureIdentifier, session))); } else { if (HibernateHelper.isEntitySupported(Series.class)) { c = getDefaultCriteria(session); c.setProjection(Projections.distinct(Projections.property(ObservableProperty.IDENTIFIER))); c.add(Subqueries.propertyIn(ObservableProperty.ID, getDetachedCriteriaObservablePropertiesForProcedureFromSeries(procedureIdentifier, session))); } else { c = session.createCriteria(ObservationInfo.class) .add(Restrictions.eq(AbstractObservation.DELETED, false)); c.createCriteria(ObservationInfo.OBSERVABLE_PROPERTY) .setProjection(Projections.distinct(Projections.property(ObservableProperty.IDENTIFIER))); c.createCriteria(ObservationInfo.PROCEDURE) .add(Restrictions.eq(Procedure.IDENTIFIER, procedureIdentifier)); } } LOGGER.debug( "QUERY getObservablePropertyIdentifiersForProcedure(observablePropertyIdentifier) using ObservationContellation entitiy ({}): {}", flag, HibernateHelper.getSqlString(c)); return c.list(); }
From source file:org.n52.sos.ds.hibernate.dao.ObservablePropertyDAO.java
License:Open Source License
/** * Get Hibernate Detached Criteria to get ObservableProperty entities from * ObservationConstellation for procedure identifier * * @param procedureIdentifier// w w w.j ava 2s .c om * Procedure identifier parameter * @param session * Hibernate session * @return Hibernate Detached Criteria */ private DetachedCriteria getDetachedCriteriaObservablePropertyForProcedureFromObservationConstellation( String procedureIdentifier, Session session) { final DetachedCriteria detachedCriteria = DetachedCriteria.forClass(ObservationConstellation.class); detachedCriteria.add(Restrictions.eq(ObservationConstellation.DELETED, false)); detachedCriteria.createCriteria(ObservationConstellation.PROCEDURE) .add(Restrictions.eq(Procedure.IDENTIFIER, procedureIdentifier)); detachedCriteria.setProjection( Projections.distinct(Projections.property(ObservationConstellation.OBSERVABLE_PROPERTY))); return detachedCriteria; }
From source file:org.n52.sos.ds.hibernate.dao.ObservablePropertyDAO.java
License:Open Source License
/** * Get Hibernate Detached Criteria to get ObservableProperty entities from * Series for procedure identifier/* w w w .j av a2 s . c om*/ * * @param procedureIdentifier * Procedure identifier parameter * @param session * Hibernate session * @return Hibernate Detached Criteria */ private DetachedCriteria getDetachedCriteriaObservablePropertiesForProcedureFromSeries( String procedureIdentifier, Session session) { final DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Series.class); detachedCriteria.add(Restrictions.eq(Series.DELETED, false)); detachedCriteria.createCriteria(Series.PROCEDURE) .add(Restrictions.eq(Procedure.IDENTIFIER, procedureIdentifier)); detachedCriteria.setProjection(Projections.distinct(Projections.property(Series.OBSERVABLE_PROPERTY))); return detachedCriteria; }
From source file:org.n52.sos.ds.hibernate.dao.ObservablePropertyDAO.java
License:Open Source License
/** * Get Hibernate Detached Criteria to get ObservableProperty entities from * ObservationConstellation for offering identifier * * @param offeringIdentifier// w w w .jav a2s.com * Offering identifier parameter * @param session * Hibernate session * @return Hibernate Detached Criteria */ private DetachedCriteria getDetachedCriteriaObservablePropertiesForOfferingFromObservationConstellation( String offeringIdentifier, Session session) { final DetachedCriteria detachedCriteria = DetachedCriteria.forClass(ObservationConstellation.class); detachedCriteria.add(Restrictions.eq(ObservationConstellation.DELETED, false)); detachedCriteria.createCriteria(ObservationConstellation.OFFERING) .add(Restrictions.eq(Offering.IDENTIFIER, offeringIdentifier)); detachedCriteria.setProjection( Projections.distinct(Projections.property(ObservationConstellation.OBSERVABLE_PROPERTY))); return detachedCriteria; }
From source file:org.n52.sos.ds.hibernate.dao.ObservationDAO.java
License:Open Source License
@SuppressWarnings("unchecked") public Collection<String> getObservationIdentifiers(String procedureIdentifier, Session session) { Criteria criteria = session.createCriteria(ObservationInfo.class) .setProjection(Projections.distinct(Projections.property(ObservationInfo.IDENTIFIER))) .add(Restrictions.isNotNull(ObservationInfo.IDENTIFIER)) .add(Restrictions.eq(ObservationInfo.DELETED, false)); criteria.createCriteria(ObservationInfo.PROCEDURE) .add(Restrictions.eq(Procedure.IDENTIFIER, procedureIdentifier)); LOGGER.debug("QUERY ObservationDAO.getObservationIdentifiers(procedureIdentifier): {}", HibernateHelper.getSqlString(criteria)); return criteria.list(); }
From source file:org.n52.sos.ds.hibernate.dao.OfferingDAO.java
License:Open Source License
/** * Get offering identifiers for procedure identifier * * @param procedureIdentifier/* ww w. j a v a 2 s . co m*/ * Procedure identifier * @param session * Hibernate session * @return Offering identifiers * @throws OwsExceptionReport */ @SuppressWarnings("unchecked") public List<String> getOfferingIdentifiersForProcedure(final String procedureIdentifier, final Session session) throws OwsExceptionReport { final boolean flag = HibernateHelper.isEntitySupported(ObservationConstellation.class); Criteria c = null; if (flag) { c = session.createCriteria(Offering.class); c.add(Subqueries.propertyIn(Offering.ID, getDetachedCriteriaOfferingForProcedureFromObservationConstellation(procedureIdentifier, session))); c.setProjection(Projections.distinct(Projections.property(Offering.IDENTIFIER))); } else { AbstractObservationDAO observationDAO = DaoFactory.getInstance().getObservationDAO(); c = observationDAO.getDefaultObservationInfoCriteria(session); c.createCriteria(AbstractObservation.OFFERINGS) .setProjection(Projections.distinct(Projections.property(Offering.IDENTIFIER))); if (observationDAO instanceof SeriesObservationDAO) { Criteria seriesCriteria = c.createCriteria(SeriesObservationInfo.SERIES); seriesCriteria.createCriteria(Series.PROCEDURE) .add(Restrictions.eq(Procedure.IDENTIFIER, procedureIdentifier)); } else { c.createCriteria(AbstractObservation.PROCEDURE) .add(Restrictions.eq(Procedure.IDENTIFIER, procedureIdentifier)); } } LOGGER.debug( "QUERY getOfferingIdentifiersForProcedure(procedureIdentifier) using ObservationContellation entitiy ({}): {}", flag, HibernateHelper.getSqlString(c)); return c.list(); }