Example usage for org.hibernate.criterion Projections distinct

List of usage examples for org.hibernate.criterion Projections distinct

Introduction

In this page you can find the example usage for org.hibernate.criterion Projections distinct.

Prototype

public static Projection distinct(Projection projection) 

Source Link

Document

Create a distinct projection from a projection.

Usage

From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java

License:Open Source License

@Deprecated
@SuppressWarnings("unchecked")
public static List<String> getFeatureOfInterestTypes(Session session) {
    return session.createCriteria(FeatureOfInterestType.class)
            .add(Restrictions.ne(FeatureOfInterestType.FEATURE_OF_INTEREST_TYPE, OGCConstants.UNKNOWN))
            .setProjection(/*  w ww .  j  a v a  2s  .co m*/
                    Projections.distinct(Projections.property(FeatureOfInterestType.FEATURE_OF_INTEREST_TYPE)))
            .list();
}

From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java

License:Open Source License

@Deprecated
@SuppressWarnings("unchecked")
public static List<String> getFeatureOfInterestTypesForFeatureOfInterest(
        Collection<String> featureOfInterestIDs, Session session) {
    return session.createCriteria(FeatureOfInterest.class)
            .add(Restrictions.in(FeatureOfInterest.IDENTIFIER, featureOfInterestIDs))
            .createCriteria(FeatureOfInterest.FEATURE_OF_INTEREST_TYPE)
            .setProjection(//w ww . j a v  a2  s .  co  m
                    Projections.distinct(Projections.property(FeatureOfInterestType.FEATURE_OF_INTEREST_TYPE)))
            .list();
}

From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java

License:Open Source License

@Deprecated
@SuppressWarnings("unchecked")
public static List<String> getObservablePropertyIdentifiersForProcedure(String procedureID, 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.PROCEDURE).add(Restrictions.eq(Procedure.IDENTIFIER, procedureID));
    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> getOfferingIdentifiersForProcedure(String procedureID, Session session) {
    Criteria c = session.createCriteria(Observation.class).add(Restrictions.eq(Observation.DELETED, false));
    c.createCriteria(Observation.OFFERINGS)
            .setProjection(Projections.distinct(Projections.property(Offering.IDENTIFIER)));
    c.createCriteria(Observation.PROCEDURE).add(Restrictions.eq(Procedure.IDENTIFIER, procedureID));
    return c.list();
}

From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java

License:Open Source License

@Deprecated
@SuppressWarnings("unchecked")
public static Collection<String> getOfferingIdentifiersForObservableProperty(String observablePropertyID,
        Session session) {/*from w  w  w .j a v a 2  s  .c om*/
    Criteria c = session.createCriteria(Observation.class).add(Restrictions.eq(Observation.DELETED, false));
    c.createCriteria(Observation.OFFERINGS)
            .setProjection(Projections.distinct(Projections.property(Offering.IDENTIFIER)));
    c.createCriteria(Observation.OBSERVABLE_PROPERTY)
            .add(Restrictions.eq(ObservableProperty.IDENTIFIER, observablePropertyID));
    return c.list();
}

From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java

License:Open Source License

@Deprecated
@SuppressWarnings("unchecked")
public static Collection<String> getProcedureIdentifiersForObservableProperty(String observablePropertyID,
        Session session) {/*w ww  .j  av  a  2  s .c o m*/
    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.OBSERVABLE_PROPERTY)
            .add(Restrictions.eq(ObservableProperty.IDENTIFIER, observablePropertyID));
    return c.list();
}

From source file:org.n52.sos.ds.hibernate.util.TemporalRestrictionTest.java

License:Open Source License

@SuppressWarnings("unchecked")
private Set<Identifier> filter(TimePrimitiveFieldDescriptor d, TemporalRestriction r, Time time,
        Session session) throws OwsExceptionReport {
    List<String> list = session.createCriteria(getObservationClass(session)).add(r.get(d, time))
            .setProjection(Projections.distinct(Projections.property(AbstractObservation.IDENTIFIER))).list();
    Set<Identifier> s = EnumSet.noneOf(Identifier.class);
    for (String id : list) {
        s.add(valueOf(id));/* www.ja va  2s.  c  om*/
    }
    return s;
}

From source file:org.onebusaway.gtfs_realtime.archiver.service.VehiclePositionDaoImpl.java

License:Apache License

@Override
public List<String> getAllVehicleIds() {

    // select distinct vehicleId from VehiclePositionModel

    Projection prop = Projections.distinct(Projections.property("vehicleId"));

    DetachedCriteria criteria = DetachedCriteria.forClass(VehiclePositionModel.class).setProjection(prop);

    return _template.findByCriteria(criteria);

}

From source file:org.openhie.openempi.blocking.basicblockinghp.dao.hibernate.BlockingDaoHibernate.java

License:Open Source License

@SuppressWarnings({ "unchecked", "rawtypes" })
public List<String> getBlockingKeyValues(final List<String> fields) {
    return (List<String>) getHibernateTemplate().execute(new HibernateCallback() {
        public Object doInHibernate(Session session) throws HibernateException, SQLException {
            List<String> values = new java.util.ArrayList<String>();
            ProjectionList projectionList = Projections.projectionList();
            for (String field : fields) {
                projectionList.add(Projections.property(field), field);
            }/*w  ww  . ja va2s . co  m*/
            org.hibernate.Criteria criteria = session.createCriteria(Person.class, "person_")
                    .setProjection(Projections.distinct(projectionList));
            for (String field : fields) {
                criteria.add(Expression.isNotNull("person_." + field));
            }
            log.debug("Blocking criteria query: " + criteria.toString());
            List list = (List<Object[]>) criteria.list();
            if (list.size() == 0) {
                return values;
            }
            // Query returns either a list of Object or a list of arrays of objects depending on
            // whether one or more than one blocking fields are used.
            if (!(list.get(0) instanceof Object[])) {
                List<Object> theValues = (List<Object>) list;
                for (Object value : theValues) {
                    values.add(value.toString());
                }
                return values;
            }
            List<Object[]> objectArrayValues = (List<Object[]>) list;
            for (Object[] row : objectArrayValues) {
                StringBuffer sb = new StringBuffer();
                for (int i = 0; i < row.length; i++) {
                    sb.append(row[i].toString().trim());
                }
                values.add(sb.toString());
            }
            return values;
        }
    });
}

From source file:org.openhie.openempi.blocking.basicblockinghp.dao.hibernate.BlockingDaoHibernate.java

License:Open Source License

@SuppressWarnings({ "unchecked", "rawtypes" })
public List<List<NameValuePair>> getDistinctValues(final List<String> fields) {
    return (List<List<NameValuePair>>) getHibernateTemplate().execute(new HibernateCallback() {
        public Object doInHibernate(Session session) throws HibernateException, SQLException {
            ProjectionList projectionList = Projections.projectionList();
            for (String field : fields) {
                projectionList.add(Projections.property(field), field);
            }// w  ww.ja v  a  2  s.  c  om
            org.hibernate.Criteria criteria = session.createCriteria(Person.class, "person_")
                    .setProjection(Projections.distinct(projectionList));
            for (String field : fields) {
                criteria.add(Expression.isNotNull("person_." + field));
            }
            log.debug("Blocking criteria query: " + criteria.toString());
            List list = (List<Object[]>) criteria.list();
            List<List<NameValuePair>> pairs = new ArrayList<List<NameValuePair>>(list.size());
            if (list.size() == 0) {
                return pairs;
            }
            // Query returns either a list of Object or a list of arrays of objects depending on
            // whether one or more than one blocking fields are used.
            if (!(list.get(0) instanceof Object[])) {
                List<Object> theValues = (List<Object>) list;
                for (Object value : theValues) {
                    List<NameValuePair> distinctRowValues = new ArrayList<NameValuePair>(1);
                    distinctRowValues.add(new NameValuePair(fields.get(0), value));
                    pairs.add(distinctRowValues);
                }
                return pairs;
            }
            List<Object[]> objectArrayValues = (List<Object[]>) list;
            for (Object[] row : objectArrayValues) {
                List<NameValuePair> distinctRowValues = new ArrayList<NameValuePair>(row.length);
                for (int i = 0; i < row.length; i++) {
                    NameValuePair pair = new NameValuePair(fields.get(i), row[i]);
                    distinctRowValues.add(pair);
                }
                pairs.add(distinctRowValues);
            }
            return pairs;
        }
    });
}