Example usage for org.hibernate.criterion Projections projectionList

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

Introduction

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

Prototype

public static ProjectionList projectionList() 

Source Link

Document

Create a new projection list.

Usage

From source file:es.tekniker.framework.ktek.questionnaire.mng.db.QuestionnaireManagerDB.java

License:Open Source License

public Ktek_questionnaire[] getQuestionnaires4TypeMonitoringActivityPlanned(short typeMonitoringActivity,
        String codUser, String codtelecareprogram, short status) {
    Ktek_questionnaire[] arrayInstance = null;
    DAOFactory lDAOFactory = null;//from w ww.  ja  v  a  2  s  . com
    Ktek_questionnaireDAO instanceDAO = null;
    Ktek_questionnaireCriteria objKtek_questionnaireCriteria = null;
    long nowInMillis = 0, todayStartInMillis = 0, todayEndInMillis = 0;
    PersistentSession session = null;
    Ktek_userquestionnaire_planningCriteria objKtek_userquestionnaire_planningCriteria = null;

    try {
        int hours, minutes, seconds;
        nowInMillis = Utils.getCalendarGMT().getTimeInMillis();

        hours = 0;
        minutes = 0;
        seconds = 0;
        todayStartInMillis = Utils.getTimeinMillis4TimeGMT(hours, minutes, seconds);

        hours = 23;
        minutes = 59;
        seconds = 59;
        todayEndInMillis = Utils.getTimeinMillis4TimeGMT(hours, minutes, seconds);

        session = es.tekniker.framework.ktek.questionnaire.KTEKPersistentManager.instance().getSession();
        session.beginTransaction();

        lDAOFactory = es.tekniker.framework.ktek.questionnaire.DAOFactory.getDAOFactory();
        instanceDAO = lDAOFactory.getKtek_questionnaireDAO();

        objKtek_questionnaireCriteria = new Ktek_questionnaireCriteria();
        objKtek_questionnaireCriteria.typemonitoringactivity.eq(typeMonitoringActivity);
        objKtek_questionnaireCriteria.isdeleted.eq((short) 0);
        objKtek_questionnaireCriteria.datevalidfrom.lt(nowInMillis);

        objKtek_userquestionnaire_planningCriteria = objKtek_questionnaireCriteria
                .createKtek_userquestionnaire_planningCriteria();
        objKtek_userquestionnaire_planningCriteria.coduser.eq(codUser);
        objKtek_userquestionnaire_planningCriteria.codtelecareprogram.eq(codtelecareprogram);
        objKtek_userquestionnaire_planningCriteria.statusquestionnaire.eq(status);
        objKtek_userquestionnaire_planningCriteria.plannedfrom.le(nowInMillis);
        objKtek_userquestionnaire_planningCriteria.plannedto.ge(nowInMillis);

        objKtek_questionnaireCriteria
                .setProjection(Projections.projectionList()
                        .add(Projections.groupProperty("ktek_pk_idquestionnaire"), "ktek_pk_idquestionnaire"))
                .setResultTransformer(Transformers.aliasToBean(Ktek_questionnaire.class));

        arrayInstance = instanceDAO.listKtek_questionnaireByCriteria(objKtek_questionnaireCriteria);

        log.error("nowInMillis " + nowInMillis);

        if (arrayInstance != null)
            log.debug(
                    "getQuestionnaires4TypeMonitoringActivityPlanned instance is not null Before Filter unique values "
                            + arrayInstance.length);
        else
            log.info(
                    "getQuestionnaires4TypeMonitoringActivityPlanned instance is null for typeMonitoringActivity "
                            + typeMonitoringActivity);

        if (arrayInstance.length > 0) {
            Integer[] arrayIds = new Integer[arrayInstance.length];
            for (int i = 0; i < arrayInstance.length; i++) {
                arrayIds[i] = arrayInstance[i].getKtek_pk_idquestionnaire();
            }

            objKtek_questionnaireCriteria = new Ktek_questionnaireCriteria();
            objKtek_questionnaireCriteria.ktek_pk_idquestionnaire.in(arrayIds);
            arrayInstance = instanceDAO.listKtek_questionnaireByCriteria(objKtek_questionnaireCriteria);
        }

        session.close();

    } catch (PersistentException e) {
        log.error("getQuestionnaires4TypeMonitoringActivityPlanned Exception " + e.getMessage());
        e.printStackTrace();
        try {
            if (session != null)
                session.close();
        } catch (PersistentException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    }

    return arrayInstance;
}

From source file:eu.jangos.realm.controller.characters.ItemInstanceService.java

License:Apache License

/**
 * Return only the necessary fields of the equipment of the character in parameter for the CharEnum packet.
 *
 * @param character/* w  w  w. j av a 2  s  . co  m*/
 * @return A List of arrays of Object with the following structure: [slot,entry] where slot is the slot 
 * into which this item is located and entry is the ID of the item_template.
 */
public List getEquipmentCharEnum(Characters character) {
    logger.debug("getEquipment " + character.getName());

    try (Session session = HibernateUtil.getCharSession().openSession()) {
        ProjectionList proList = Projections.projectionList();
        proList.add(Projections.property("slot"), "slot");
        proList.add(Projections.property("fkObjectEntry"), "entry");

        return session.createCriteria(ItemInstance.class).setProjection(proList)
                .add(Restrictions.and(Restrictions.eq("characters.guid", character.getGuid()),
                        Restrictions.eq("itemStorageType.id", ItemStorageEnum.EQUIPPED.getValue())))
                .addOrder(Order.asc("slot")).list();
    } catch (HibernateException he) {
        logger.debug("There was an error querying the database.");
        return null;
    }
}

From source file:eu.jangos.realm.controller.world.ItemService.java

License:Apache License

/**
 * Return the item which has the given ID.
 * @param id The id of the item to be found.
 * @return The corresponding item or null if the item is not found.
 *//* w  w w. j  a v a  2 s .c  om*/
public Object[] getItemByIDCharEnum(int id) {
    logger.debug("Loading information for the item with the id " + id);

    try (Session session = HibernateUtil.getWorldSession().openSession()) {
        ProjectionList proList = Projections.projectionList();
        proList.add(Projections.property("displayid"), "displayid");
        proList.add(Projections.property("ivt.id"), "id");

        return (Object[]) session.createCriteria(Item.class).createAlias("inventorytype", "ivt")
                .setProjection(proList).add(Restrictions.eq("entry", id)).uniqueResult();

    } catch (HibernateException he) {
        logger.debug("There was an error connecting to the database.");
        return null;
    }
}

From source file:eu.optimis.common.trec.db.ip.TrecIP2SPDAO.java

License:Apache License

@SuppressWarnings("unchecked")
public List<SpInfo> getDistinctSpIDs() throws Exception {
    Session session = null;// w ww .j  ava 2  s.c om
    List<SpInfo> results = null;
    SessionFactory sf = HibernateUtil.getSessionFactory();
    try {
        session = sf.openSession();
        Transaction tx = session.beginTransaction();
        tx.begin();
        // Search by IP Name
        Criteria criteria = session.createCriteria(IpToSp.class);
        criteria.setProjection(
                Projections.distinct(Projections.projectionList().add(Projections.property("spInfo"))));
        //         criteria.setMaxResults(MAX_RESULTS);
        results = (List<SpInfo>) criteria.list();
        tx.commit();
        return results;
    } catch (Exception e) {
        logger.error("ERROR " + e.getMessage());
        throw new Exception(e.toString());
    }
}

From source file:eu.optimis.common.trec.db.ip.TrecSP2IPDAO.java

License:Apache License

@SuppressWarnings("unchecked")
public List<IpInfo> getDistinctIpIDs() throws Exception {
    Session session = null;//from  w  w  w  .ja v a2 s  . c o m
    List<IpInfo> results = null;
    SessionFactory sf = HibernateUtil.getSessionFactory();
    try {
        session = sf.openSession();
        Transaction tx = session.beginTransaction();
        tx.begin();
        // Search by IP Name
        Criteria criteria = session.createCriteria(SpToIp.class);
        criteria.setProjection(
                Projections.distinct(Projections.projectionList().add(Projections.property("ipInfo"))));
        results = (List<IpInfo>) criteria.list();
        tx.commit();
        return results;
    } catch (Exception e) {
        logger.error("ERROR " + e.getMessage());
        throw new Exception(e.toString());
    }
}

From source file:eu.optimis.common.trec.db.sp.TrecSP2IPDAO.java

License:Apache License

@SuppressWarnings("unchecked")
public List<IpInfo> getDistinctIpIDs() throws Exception {
    Session session = null;//from www  .  j a v a 2s. c  o m
    List<IpInfo> results = null;
    SessionFactory sf = HibernateUtil.getSessionFactory();
    try {
        session = sf.openSession();
        Transaction tx = session.beginTransaction();
        tx.begin();
        // Search by IP Name
        Criteria criteria = session.createCriteria(SpToIp.class);
        criteria.setProjection(
                Projections.distinct(Projections.projectionList().add(Projections.property("ipInfo"))));
        //         criteria.setMaxResults(MAX_RESULTS);
        results = (List<IpInfo>) criteria.list();
        tx.commit();
        return results;
    } catch (Exception e) {
        logger.error("ERROR " + e.getMessage());
        throw new Exception(e.toString());
    }
}

From source file:fr.insalyon.creatis.vip.application.server.dao.hibernate.SimulationStatsData.java

License:Open Source License

@Override
public List<String> getBySimulationID(List<String> simulationID) throws DAOException {
    //System.out.println("Calling SimulationStatsData: getBySimuID");
    List<String> result = new ArrayList<String>();
    try {//from   ww w .ja v  a 2s . com
        Session session = sessionFactory.openSession();
        session.beginTransaction();
        Criteria criteria = session.createCriteria(Stats.class);

        // 'workflowID' is the variable in the class Stats
        //criteria.add(Restrictions.eq("workflowID", simulationID));
        criteria.add(Restrictions.in("workflowID", simulationID));
        //criteria.addOrder(Order.desc("workflowID"));

        ProjectionList p = Projections.projectionList();
        //p.add(Projections.sum("completed"));
        p.add(Projections.alias(Projections.sum("completed"), "sumCompleted"));
        p.add(Projections.alias(Projections.sum("completedWaitingTime"), "sumCompletedWaitingTime"));
        p.add(Projections.alias(Projections.sum("completedExecutionTime"), "sumCompletedExecutionTime"));
        p.add(Projections.alias(Projections.sum("completedInputTime"), "sumCompletedInputTime"));
        p.add(Projections.alias(Projections.sum("completedOutputTime"), "sumCompletedOutputTime"));
        p.add(Projections.sum("cancelled"));
        p.add(Projections.sum("cancelledWaitingTime"));
        p.add(Projections.sum("cancelledExecutionTime"));
        p.add(Projections.sum("cancelledInputTime"));
        p.add(Projections.sum("cancelledOutputTime"));
        p.add(Projections.sum("failedApplication"));
        p.add(Projections.sum("failedApplicationWaitingTime"));
        p.add(Projections.sum("failedApplicationExecutionTime"));
        p.add(Projections.sum("failedApplicationInputTime"));
        p.add(Projections.sum("failedApplicationOutputTime"));
        p.add(Projections.sum("failedInput"));
        p.add(Projections.sum("failedInputWaitingTime"));
        p.add(Projections.sum("failedInputExecutionTime"));
        p.add(Projections.sum("failedInputInputTime"));
        p.add(Projections.sum("failedInputOutputTime"));
        p.add(Projections.sum("failedOutput"));
        p.add(Projections.sum("failedOutputWaitingTime"));
        p.add(Projections.sum("failedOutputExecutionTime"));
        p.add(Projections.sum("failedOutputInputTime"));
        p.add(Projections.sum("failedOutputOutputTime"));
        p.add(Projections.sum("failedStalled"));
        p.add(Projections.sum("failedStalledWaitingTime"));
        p.add(Projections.sum("failedStalledExecutionTime"));
        p.add(Projections.sum("failedStalledInputTime"));
        p.add(Projections.sum("failedStalledOutputTime"));

        criteria.setProjection(p);
        List l = criteria.list();
        session.getTransaction().commit();
        session.close();

        Iterator it = l.iterator();
        while (it.hasNext()) {
            Object ob[] = (Object[]) it.next();
            /*
            for (int i = 0; i < ob.length; i++) {
            System.out.println("Object " + i + " is " + ob[i]);
            if (ob[i] != null) {
            result.add(String.valueOf(ob[i]));
            }
            }
             * 
             */
            if (ob.length >= 30) {
                result.add("Completed Jobs##" + String.valueOf(ob[0]) + "");
                result.add("CompletedJobs WaitingTime##" + String.valueOf(ob[1]) + "");
                result.add("CompletedJobs ExecutionTime##" + String.valueOf(ob[2]) + "");
                result.add("CompletedJobs InputTime##" + String.valueOf(ob[3]) + "");
                result.add("CompletedJobs OutputTime##" + String.valueOf(ob[4]) + "");
                result.add("Cancelled Jobs##" + String.valueOf(ob[5]) + "");
                result.add("CancelledJobs WaitingTime##" + String.valueOf(ob[6]) + "");
                result.add("CancelledJobs ExecutionTime##" + String.valueOf(ob[7]) + "");
                result.add("CancelledJobs InputTime##" + String.valueOf(ob[8]) + "");
                result.add("CancelledJobs OutputTime##" + String.valueOf(ob[9]) + "");
                result.add("failedApplication Jobs##" + String.valueOf(ob[10]) + "");
                result.add("failedApplicationJobs WaitingTime##" + String.valueOf(ob[11]) + "");
                result.add("failedApplicationJobs ExecutionTime##" + String.valueOf(ob[12]) + "");
                result.add("failedApplicationJobs InputTime##" + String.valueOf(ob[13]) + "");
                result.add("failedApplicationJobs OutputTime##" + String.valueOf(ob[14]) + "");
                result.add("failedInput Jobs##" + String.valueOf(ob[15]) + "");
                result.add("failedInputJobs WaitingTime##" + String.valueOf(ob[16]) + "");
                result.add("failedInputJobs ExecutionTime##" + String.valueOf(ob[17]) + "");
                result.add("failedInputJobs InputTime##" + String.valueOf(ob[18]) + "");
                result.add("failedInputJobs OutputTime##" + String.valueOf(ob[19]) + "");
                result.add("failedInput Jobs##" + String.valueOf(ob[15]) + "");
                result.add("failedInputJobs WaitingTime##" + String.valueOf(ob[16]) + "");
                result.add("failedInputJobs ExecutionTime##" + String.valueOf(ob[17]) + "");
                result.add("failedInputJpbs InputTime##" + String.valueOf(ob[18]) + "");
                result.add("failedInputJobs OutputTime##" + String.valueOf(ob[19]) + "");
                result.add("failedOutput Jobs##" + String.valueOf(ob[20]) + "");
                result.add("failedOutputJobs WaitingTime##" + String.valueOf(ob[21]) + "");
                result.add("failedOutputJobs ExecutionTime##" + String.valueOf(ob[22]) + "");
                result.add("failedOutputJobs InputTime##" + String.valueOf(ob[23]) + "");
                result.add("failedOutputJobs OutputTime##" + String.valueOf(ob[24]) + "");
                result.add("failedStalled Jobs##" + String.valueOf(ob[25]) + "");
                result.add("failedStalledJobs WaitingTime##" + String.valueOf(ob[26]) + "");
                result.add("failedStalledJobs ExecutionTime##" + String.valueOf(ob[27]) + "");
                result.add("failedStalledJobs InputTime##" + String.valueOf(ob[28]) + "");
                result.add("failedStalledJobs OutputTime##" + String.valueOf(ob[29]) + "");
            } else {
                throw new DAOException("getBySimulationID: Not enough data");
            }

        }

        return result;
    } catch (HibernateException ex) {
        throw new DAOException(ex);

    }

}

From source file:fr.insalyon.creatis.vip.application.server.dao.hibernate.SimulationStatsData.java

License:Open Source License

@Override
public List<String> getWorkflowsPerUser(List<String> workflowsId) throws WorkflowsDBDAOException {
    List<String> result = new ArrayList<String>();
    try {/*from  w w  w  .j a  v a 2s .  c om*/
        Session session = sessionFactory.openSession();
        session.beginTransaction();
        Criteria criteria = session.createCriteria(Workflow.class);
        criteria.add(Restrictions.in("id", workflowsId));

        ProjectionList p = Projections.projectionList();
        p.add(Projections.groupProperty("username"));
        p.add(Projections.property("username"));
        p.add(Projections.alias(Projections.count("status"), "nbWfls"));

        //p.add(Projections.count("status"));
        criteria.setProjection(p);
        criteria.addOrder(Order.desc("nbWfls"));
        List l = criteria.list();
        session.getTransaction().commit();
        session.close();

        Iterator it = l.iterator();
        while (it.hasNext()) {
            Object ob[] = (Object[]) it.next();
            if (ob[0] != null && ob[1] != null) {
                result.add(String.valueOf(ob[0]) + "##" + String.valueOf(ob[2]));
            }
        }

        return result;
    } catch (HibernateException ex) {
        throw new WorkflowsDBDAOException(ex);
    }
}

From source file:fr.insalyon.creatis.vip.application.server.dao.hibernate.SimulationStatsData.java

License:Open Source License

@Override
public List<String> getApplications(List<String> workflowsId) throws WorkflowsDBDAOException {
    List<String> result = new ArrayList<String>();
    try {//from w w w  . j  av  a2s .c  om
        Session session = sessionFactory.openSession();
        session.beginTransaction();
        Criteria criteria = session.createCriteria(Workflow.class);
        criteria.add(Restrictions.in("id", workflowsId));

        ProjectionList p = Projections.projectionList();
        p.add(Projections.groupProperty("application"));
        p.add(Projections.property("application"));
        p.add(Projections.alias(Projections.count("status"), "nbWfls"));
        criteria.setProjection(p);
        criteria.setProjection(p);
        criteria.addOrder(Order.desc("nbWfls"));
        List l = criteria.list();

        session.getTransaction().commit();
        session.close();

        Iterator it = l.iterator();
        while (it.hasNext()) {
            Object ob[] = (Object[]) it.next();
            if (ob[0] != null && ob[1] != null) {
                result.add(String.valueOf(ob[0]) + "##" + String.valueOf(ob[2]));
            }

        }
        return result;
    } catch (HibernateException ex) {
        throw new WorkflowsDBDAOException(ex);
    }
    //System.out.println("getApplications, first result is " + result.get(0).toString());
}

From source file:fr.mcc.ginco.dao.hibernate.AssociativeRelationshipDAO.java

License:CeCILL license

@Override
public List<String> getAssociatedConcepts(ThesaurusConcept concept) {

    DetachedCriteria d1 = DetachedCriteria.forClass(AssociativeRelationship.class, "ar1");
    d1.setProjection(Projections.projectionList().add(Projections.property("ar1.identifier.concept2")));
    d1.add(Restrictions.eq("identifier.concept1", concept.getIdentifier()));

    DetachedCriteria d2 = DetachedCriteria.forClass(AssociativeRelationship.class, "ar2");
    d2.setProjection(Projections.projectionList().add(Projections.property("ar2.identifier.concept1")));
    d2.add(Restrictions.eq("identifier.concept2", concept.getIdentifier()));

    Criteria criteria = getCurrentSession().createCriteria(ThesaurusConcept.class, "tc")
            .add(Restrictions.or(Subqueries.propertyIn("tc.identifier", d1),
                    Subqueries.propertyIn("tc.identifier", d2)))
            .setProjection(Projections.property("tc.identifier"));

    return criteria.list();
}