Example usage for org.hibernate.criterion Projections property

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

Introduction

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

Prototype

public static PropertyProjection property(String propertyName) 

Source Link

Document

A property value projection

Usage

From source file:es.emergya.bbdd.dao.PatrullaHome.java

License:Open Source License

@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true, rollbackFor = Throwable.class)
public List<String> getAllNames() {
    List<String> icons = new ArrayList<String>(0);
    try {//from w  w  w .  ja va 2s.  co  m
        Session currentSession = getSession();
        currentSession.clear();
        icons = (List<String>) currentSession.createCriteria(Patrulla.class)
                .setProjection(Projections.property("nombre")).addOrder(Order.asc("nombre"))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
    } catch (Throwable t) {
        log.error(t, t);
    }
    return icons;
}

From source file:es.emergya.bbdd.dao.RecursoHome.java

License:Open Source License

/**
 * Devuelve todos los recursos que tienen posiciones en HistoricoGPS ms
 * antiguas que lmite.//from w w  w.j  a v  a2s.  com
 * 
 * @param limite
 * @return
 */
@SuppressWarnings("unchecked")
@Transactional(readOnly = true, rollbackFor = Throwable.class, propagation = Propagation.REQUIRES_NEW)
public List<Recurso> getTodas(Calendar limite) {
    List<Recurso> res = new ArrayList<Recurso>();
    try {
        Session currentSession = getSession();
        currentSession.clear();

        DetachedCriteria dc = DetachedCriteria.forClass(HistoricoGPS.class)
                .setProjection(Projections.property("recurso"))
                .add(Restrictions.le("marcaTemporal", limite.getTime()))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

        final Criteria query = currentSession.createCriteria(Recurso.class)
                .add(Subqueries.propertyIn("identificador", dc)).addOrder(Order.asc("identificador"));

        if (log.isDebugEnabled())
            log.debug(query);

        res = query.list();

        // Para evitar LazyInicializationException accedemos a
        // todas las flotas de los recursos devueltos ya que en
        // los lugares en los que se usa esta funcin es necerasio
        // tambin la flota.
        for (Recurso uniqueResult : res) {
            if (uniqueResult != null) {
                if (uniqueResult.getFlotas() != null) {
                    uniqueResult.getFlotas().getId();
                }
            }
        }
    } catch (Throwable t) {
        log.error("Sacando los recursos para generar los gpx", t);
    }

    return res;
}

From source file:es.emergya.bbdd.dao.RolHome.java

License:Open Source License

@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true, rollbackFor = Throwable.class)
public List<String> getAllString() {
    Session currentSession = getSession();
    currentSession.clear();//from ww w .  j a va  2 s.c om
    Criteria criteria = currentSession.createCriteria(Rol.class)
            .setProjection(Projections.distinct(Projections.property("nombre"))).addOrder(Order.asc("nombre"))
            .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    return criteria.list();
}

From source file:es.emergya.bbdd.dao.RoutingHome.java

License:Open Source License

/**
 * Devuelve la lista de num calles que encajan con el patrn
 * /*from   w  w  w . j av a 2s  .  co m*/
 * @param pattern
 * @param num
 * @return list of streets
 */
@SuppressWarnings("unchecked")
@Transactional(readOnly = true, rollbackFor = Throwable.class)
public List<String> find(final String pattern, final Integer num) {
    List<String> lista = new ArrayList<String>();
    try {
        lista = getSession().createCriteria(Routing.class)
                .setProjection(Projections.distinct(Projections.property("name"))).setMaxResults(num)
                .add(Restrictions.ilike("name", pattern)).addOrder(Order.asc("name")).list();

    } catch (Exception e) {
        log.error("Error al buscar las calles :" + pattern, e);
    }

    return lista;
}

From source file:es.emergya.bbdd.dao.RoutingHome.java

License:Open Source License

/**
 * Devuelve null si hay algn error./*from www .ja  va  2 s  .  c om*/
 * 
 * @param origen
 * @param destino
 * @return
 */
@SuppressWarnings("unchecked")
@Transactional(readOnly = true, rollbackFor = Throwable.class)
public MultiLineString calculateRoute(final Point origen, final Point destino, final funcion f) {
    log.trace("calculateRoute(" + origen + ", " + destino + ", " + f + ")");
    MultiLineString resultado = null;
    try {
        Long origin = getVertex(origen, false);
        Long goal = getVertex(destino, true);
        List<Long> ids = new ArrayList<Long>(0);

        if (origin != null && goal != null)
            switch (f) {
            case SIMPLE:
                ids = getSimpleGid(origin, goal);
                break;
            case SHOOTING_STAR:
                ids = shortest_path_shooting_star(origin, goal);
                break;
            }

        if (ids.size() > 0) {

            Session currentSession = getSession();
            final Criteria criteria = currentSession.createCriteria(Routing.class)
                    .add(Restrictions.in("id", ids)).setProjection(Projections.property("geometria"));
            log.trace(criteria);
            List<Object> lineas = criteria.list();
            List<LineString> lineStrings = new LinkedList<LineString>();

            for (Object m : lineas) {
                if (m instanceof MultiLineString)
                    for (int i = 0; i < ((MultiLineString) m).getNumGeometries(); i++)
                        lineStrings.add((LineString) ((MultiLineString) m).getGeometryN(i));
                else if (m instanceof LineString)
                    lineStrings.add((LineString) m);
                else
                    log.error("Devuelto alto extrao: " + m);
            }

            resultado = new MultiLineString(lineStrings.toArray(new LineString[0]), new GeometryFactory());

            resultado.setSRID(4326);

            if (log.isTraceEnabled())
                log.trace("Resultado: " + resultado);
        }
    } catch (Throwable t) {
        log.error("Error al calcular la ruta", t);
        resultado = null;
    }

    return resultado;
}

From source file:es.sm2.openppm.core.dao.ProjectActivityDAO.java

License:Open Source License

/**
 * List not assigned activities to seller
 * /*ww w.j av a  2s  .  co  m*/
 * @param seller
 * @param project
 * @param order
 * @return
 */
@SuppressWarnings("unchecked")
public List<Object[]> consNoAssignedActivities(Seller seller, Project project, Order... order) {

    Criteria usedCrit = getSession().createCriteria(getPersistentClass())
            .setProjection(Projections.property(Projectactivity.IDACTIVITY))
            .add(Restrictions.eq(Projectactivity.PROJECT, project));

    usedCrit.createCriteria(Projectactivity.ACTIVITYSELLERS)
            .add(Restrictions.eq(Activityseller.SELLER, seller));

    List<Projectactivity> lista = usedCrit.list();

    Criteria crit = getSession().createCriteria(getPersistentClass())
            .setProjection(Projections.projectionList().add(Projections.property(Projectactivity.IDACTIVITY))
                    .add(Projections.property(Projectactivity.ACTIVITYNAME)))
            .add(Restrictions.eq(Projectactivity.PROJECT, project));

    crit.createCriteria(Projectactivity.WBSNODE).add(Restrictions.eq(Wbsnode.ISCONTROLACCOUNT, true));

    if (!lista.isEmpty()) {
        crit.add(Restrictions.not(Restrictions.in(Projectactivity.IDACTIVITY, lista)));
    }

    for (Order o : order) {
        crit.addOrder(o);
    }

    return crit.list();
}

From source file:es.sm2.openppm.core.dao.ProjectassociationDAO.java

License:Open Source License

/**
 * Find child for update dates//from ww w  . j av a2s  .c  om
 * @param proj
 * @return
 */
@SuppressWarnings("unchecked")
public List<Project> findChilds(Project proj) {

    Criteria crit = getSession().createCriteria(getPersistentClass());
    crit.setProjection(Projections.property(Projectassociation.PROJECTBYLEAD));

    crit.add(Restrictions.eq(Projectassociation.PROJECTBYDEPENDENT, proj));
    crit.add(Restrictions.eq(Projectassociation.UPDATEDATES, true));

    crit.createCriteria(Projectassociation.PROJECTBYLEAD)
            .add(Restrictions.eq(Project.STATUS, Constants.STATUS_INITIATING));

    return crit.list();
}

From source file:es.sm2.openppm.core.dao.ProjectassociationDAO.java

License:Open Source License

/**
 * Find parents for update dates of child
 * @param proj//  w ww  .  j a va2s.com
 * @return
 */
@SuppressWarnings("unchecked")
public List<Project> findParents(Project proj) {

    Criteria crit = getSession().createCriteria(getPersistentClass());
    crit.setProjection(Projections.property(Projectassociation.PROJECTBYDEPENDENT));

    crit.add(Restrictions.eq(Projectassociation.PROJECTBYLEAD, proj));
    crit.add(Restrictions.eq(Projectassociation.UPDATEDATES, true));

    crit.createCriteria(Projectassociation.PROJECTBYDEPENDENT);

    return crit.list();
}

From source file:es.sm2.openppm.core.dao.ProjectDAO.java

License:Open Source License

/**
 * Consult list of projects by seller//from  w  ww  .  ja v a 2 s  .co  m
 * 
 * @param seller
 * @return
 */
@SuppressWarnings("unchecked")
public List<String> findBySeller(Seller seller) {

    Criteria crit = getSession().createCriteria(getPersistentClass());

    crit.setProjection(Projections.property(Project.PROJECTNAME));

    crit.createCriteria(Project.PROJECTACTIVITIES).createCriteria(Projectactivity.ACTIVITYSELLERS)
            .add(Restrictions.eq(Activityseller.SELLER, seller));

    crit.addOrder(Order.asc(Project.PROJECTNAME));

    return crit.list();
}

From source file:eu.cloud4soa.relational.persistence.BreachRepository.java

License:Apache License

public List<Breach> retrieveAllForOffering(String offeringId) {
    DetachedCriteria pass_criteria = DetachedCriteria.forClass(Paas.class)
            .add(Restrictions.eq("url", offeringId));

    DetachedCriteria acc_criteria = DetachedCriteria.forClass(Account.class)
            .add(Property.forName("paas").in(pass_criteria));

    DetachedCriteria app_criteria = DetachedCriteria.forClass(ApplicationInstance.class)
            .add(Property.forName("account").in(acc_criteria)).setProjection(Projections.property("id"));

    try {//from ww  w. j a v a 2  s.  c  o m
        return (List<Breach>) getSession().createCriteria(Breach.class)
                .add(Subqueries.eq("applicationInstanceUriId", app_criteria)).list();
    } catch (Exception e) {
        return new ArrayList<Breach>();
    }
}