Example usage for org.hibernate.criterion Restrictions isNull

List of usage examples for org.hibernate.criterion Restrictions isNull

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions isNull.

Prototype

public static Criterion isNull(String propertyName) 

Source Link

Document

Apply an "is null" constraint to the named property

Usage

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

License:Open Source License

public Ktek_formatquestionnaire getQuestionnaireAssessmentConfiguration(int idquestionnaire) {
    Ktek_formatquestionnaire instance = null;

    PersistentSession session = null;/*from w ww.  ja  va 2  s .co m*/
    DAOFactory lDAOFactory = null;
    Ktek_formatquestionnaireDAO instanceDAO = null;
    Ktek_formatquestionnaireCriteria objKtek_formatquestionnaireCriteria = null;
    Ktek_questionnaireCriteria objKtek_fk_questionnaireCriteria = null;
    long nowInMillis = 0;

    try {
        nowInMillis = Utils.getCalendarGMT().getTimeInMillis();

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

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

        objKtek_formatquestionnaireCriteria = new Ktek_formatquestionnaireCriteria();
        objKtek_fk_questionnaireCriteria = objKtek_formatquestionnaireCriteria
                .createKtek_fk_questionnaireCriteria();
        objKtek_fk_questionnaireCriteria.ktek_pk_idquestionnaire.eq(idquestionnaire);
        objKtek_fk_questionnaireCriteria.isdeleted.eq((short) 0);
        objKtek_fk_questionnaireCriteria.datevalidfrom.lt(nowInMillis);
        objKtek_fk_questionnaireCriteria.add(Restrictions.or(Restrictions.isNull("datevalidto"),
                Restrictions.gt("datevalidto", nowInMillis)));

        instance = instanceDAO.loadKtek_formatquestionnaireByCriteria(objKtek_formatquestionnaireCriteria);

        session.close();

        if (instance != null) {
            log.debug("getQuestionnaireAssesmentConfiguration is not null ");
        } else {
            log.debug("getQuestionnaireAssesmentConfiguration is null ");
        }

    } catch (Exception e) {
        log.error("getQuestionnaireAssesmentConfiguration Exception " + e.getMessage());
        e.printStackTrace();
        try {
            if (session != null)
                session.close();
        } catch (PersistentException e1) {
            e1.printStackTrace();
        }
    }
    return instance;
}

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

License:Open Source License

public Ktek_questionnairesection[] getQuestionnaireAssessmentSectionList(int idquestionnaire) {
    Ktek_questionnairesection[] instanceArray = null;

    PersistentSession session = null;/*from   w  ww  .  j a v  a2  s  . com*/
    DAOFactory lDAOFactory = null;
    Ktek_questionnairesectionDAO instanceDAO = null;
    Ktek_questionnairesectionCriteria objKtek_questionnairesectionCriteria = null;
    Ktek_qsection_questionnaireCriteria objKtek_qsection_questionnaireCriteria = null;
    Ktek_questionnaireCriteria objKtek_fk_idquestionnaireCriteria = null;
    long nowInMillis = 0;

    try {
        nowInMillis = Utils.getCalendarGMT().getTimeInMillis();

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

        lDAOFactory = es.tekniker.framework.ktek.questionnaire.DAOFactory.getDAOFactory();
        instanceDAO = lDAOFactory.getKtek_questionnairesectionDAO();
        objKtek_questionnairesectionCriteria = new Ktek_questionnairesectionCriteria();
        objKtek_qsection_questionnaireCriteria = objKtek_questionnairesectionCriteria
                .createKtek_qsection_questionnaireCriteria();
        objKtek_qsection_questionnaireCriteria.ktek_fk_idquestionnaire_ktek_pk_idquestionnaire
                .eq(idquestionnaire);

        objKtek_fk_idquestionnaireCriteria = objKtek_qsection_questionnaireCriteria
                .createKtek_fk_idquestionnaireCriteria();
        objKtek_fk_idquestionnaireCriteria.ktek_pk_idquestionnaire.eq(idquestionnaire);
        objKtek_fk_idquestionnaireCriteria.isdeleted.eq((short) 0);
        objKtek_fk_idquestionnaireCriteria.datevalidfrom.lt(nowInMillis);

        objKtek_fk_idquestionnaireCriteria.add(Restrictions.or(Restrictions.isNull("datevalidto"),
                Restrictions.gt("datevalidto", nowInMillis)));

        instanceArray = instanceDAO
                .listKtek_questionnairesectionByCriteria(objKtek_questionnairesectionCriteria);

        session.close();

        if (instanceArray != null) {
            log.debug("getQuestionnaireAssesmentSectionList is not null ");
        } else {
            log.debug("getQuestionnaireAssesmentSectionList is null ");
        }

    } catch (Exception e) {
        log.error("getQuestionnaireAssesmentSectionList Exception " + e.getMessage());
        e.printStackTrace();
        try {
            if (session != null)
                session.close();
        } catch (PersistentException e1) {
            e1.printStackTrace();
        }
    }
    return instanceArray;
}

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

License:Open Source License

public Ktek_questionnaire getQuestionnaire(int idquestionnaire) {
    Ktek_questionnaire instance = null;/*from  www  . j  av a 2 s .  c o m*/
    DAOFactory lDAOFactory = null;
    PersistentSession session = null;
    Ktek_questionnaireDAO instanceDAO = null;
    Ktek_questionnaireCriteria objKtek_questionnaireCriteria = null;
    long nowInMillis = 0;
    try {
        nowInMillis = Utils.getCalendarGMT().getTimeInMillis();
        session = es.tekniker.framework.ktek.questionnaire.KTEKPersistentManager.instance().getSession();

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

        objKtek_questionnaireCriteria = new Ktek_questionnaireCriteria();
        objKtek_questionnaireCriteria.ktek_pk_idquestionnaire.eq(idquestionnaire);
        objKtek_questionnaireCriteria.isdeleted.eq((short) 0);
        objKtek_questionnaireCriteria.datevalidfrom.lt(nowInMillis);

        objKtek_questionnaireCriteria.add(Restrictions.or(Restrictions.isNull("datevalidto"),
                Restrictions.gt("datevalidto", nowInMillis)));

        instance = instanceDAO.loadKtek_questionnaireByCriteria(objKtek_questionnaireCriteria);

        if (instance != null)
            log.debug("getQuestionnaire instance is not null");
        else
            log.info("getQuestionnaire instance is null for idquestionnaire " + idquestionnaire);

        session.close();

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

    return instance;
}

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

License:Open Source License

public Ktek_questionnaire getQuestionnaire(PersistentSession session, int idquestionnaire) throws Exception {
    Ktek_questionnaire instance = null;// www.j a  va 2s  . c o m
    DAOFactory lDAOFactory = null;
    Ktek_questionnaireDAO instanceDAO = null;
    Ktek_questionnaireCriteria objKtek_questionnaireCriteria = null;
    long nowInMillis = 0;
    try {
        nowInMillis = Utils.getCalendarGMT().getTimeInMillis();

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

        objKtek_questionnaireCriteria = new Ktek_questionnaireCriteria();
        objKtek_questionnaireCriteria.ktek_pk_idquestionnaire.eq(idquestionnaire);
        objKtek_questionnaireCriteria.isdeleted.eq((short) 0);
        objKtek_questionnaireCriteria.datevalidfrom.lt(nowInMillis);

        objKtek_questionnaireCriteria.add(Restrictions.or(Restrictions.isNull("datevalidto"),
                Restrictions.gt("datevalidto", nowInMillis)));

        instance = instanceDAO.loadKtek_questionnaireByCriteria(objKtek_questionnaireCriteria);

        if (instance != null)
            log.debug("getQuestionnaire instance is not null");
        else
            log.info("getQuestionnaire instance is null for idquestionnaire " + idquestionnaire);

    } catch (Exception e) {
        log.error("getQuestionnaire Exception " + e.getMessage());
        e.printStackTrace();
        throw e;
    }

    return instance;
}

From source file:es.ua.datos.cad.CAD.java

public List<CategoryTransp> getMainCategoriesTransp(String lan) {

    List<CategoryTransp> listCategories = new ArrayList<CategoryTransp>();

    Transaction tx = null;/* w  w  w  .  j  ava  2s  . c  o  m*/
    //Session session = null;
    //session = sessionFactory.openSession();
    this.session = sessionFactory.getCurrentSession();

    try {

        tx = session.beginTransaction();

        Criteria criteria = session.createCriteria(CategoryTransp.class);
        criteria.addOrder(Order.asc("priority"));
        criteria.add(Restrictions.isNull("idHigherCategory"));

        listCategories = criteria.list();

        tx.commit();

        List<CategoryTransp> listCategoriesTrad = new ArrayList<CategoryTransp>();
        List<String> fieldsCategory = Arrays.asList("NAME_CATEGORY_TRANSP", "DESCRIPTION");
        int idLang = 0;

        if (lan.equals("es")) {
            idLang = 0;
            listCategoriesTrad = listCategories;
        } else if (lan.equals("va")) {
            idLang = 1;
            for (CategoryTransp cat : listCategories)
                listCategoriesTrad
                        .add((CategoryTransp) getTranslation(cat, idLang, "CATEGORIES_TRANSP", fieldsCategory));
        } else if (lan.equals("en")) {
            idLang = 2;
            for (CategoryTransp cat : listCategories)
                listCategoriesTrad
                        .add((CategoryTransp) getTranslation(cat, idLang, "CATEGORIES_TRANSP", fieldsCategory));
        }

    } catch (HibernateException e) {
        if (tx != null)
            tx.rollback();
        e.printStackTrace();

    } finally {
        //session.close(); 
        //System.out.println("SESSION CLOSE === getResourcesTranspByIDDataset");
    }

    return listCategories;

}

From source file:eu.interedition.text.Name.java

License:Apache License

public static Set<Name> get(Session session, Set<Name> names) {
    final Set<Name> result = Sets.newHashSet();
    if (names.isEmpty()) {
        return result;
    }/*from   ww w  .ja v  a  2s  . c  om*/

    final Set<Name> toFind = Sets.newHashSet(names);
    final Disjunction or = Restrictions.disjunction();
    for (Name name : toFind) {
        final Conjunction and = Restrictions.conjunction();
        and.add(Restrictions.eq("localName", name.getLocalName()));

        final URI ns = name.getNamespace();
        and.add(ns == null ? Restrictions.isNull("namespaceURI")
                : Restrictions.eq("namespaceURI", ns.toString()));

        or.add(and);
    }

    for (Name name : SQL.iterate(session.createCriteria(Name.class).add(or), Name.class)) {
        toFind.remove(name);
        result.add(name);
    }
    for (Name name : toFind) {
        result.add((Name) session.merge(name));
    }
    return result;
}

From source file:eu.interedition.text.query.AnnotationNameCriterion.java

License:Apache License

@Override
Criterion restrict() {//from  www.  j a  va  2 s . c  o  m
    final URI namespace = name.getNamespace();
    return Restrictions.and(Restrictions.eq("name.localName", name.getLocalName()),
            (namespace == null ? Restrictions.isNull("name.namespaceURI")
                    : Restrictions.eq("name.namespaceURI", namespace.toString())));
}

From source file:eu.jangos.manager.controller.AccountService.java

License:Apache License

/**
 * Provides access to the list of all accounts matching the parameters.
 *
 * The DateFilter works the same way: - NONE does not apply any filter. -
 * BEFORE & AFTER uses only the "From" date as filter. - BETWEEN uses both
 * "From" & "To" dates as filters./*from w  w  w .j  ava 2s .co  m*/
 *
 * @param name The name of the accounts to be found. Can contain %.
 * @param createdFilter The filter type for the creation date.
 * @param createdFrom The first creation date filter.
 * @param createdTo The second creation date filter.
 * @param loginFilter The filter type for the login date.
 * @param loginFrom The first login date filter.
 * @param loginTo The second login date filter.
 * @param locked The filter type for the lock value.
 * @param banned The filter type for the ban value.
 * @param online The filter type for the online value.
 * @param locale The locale on which this search must filter.
 * @param realm The locale on which this search must filter.
 * @return A List of Accounts matching the criterias.
 */
public List<Account> getAllAccounts(String name, DateType createdFilter, Date createdFrom, Date createdTo,
        DateType loginFilter, Date loginFrom, Date loginTo, BooleanType locked, BooleanType banned,
        BooleanType online, Locale locale, Realm realm) {

    boolean error = false;
    String message = "You must enter the following parameters:\n";

    // Checking name input.
    if (name == null || name.isEmpty()) {
        logger.error("The parameter name is null or empty");
        message += "- A name\n";
        error = true;
    }

    // Checking dates input.
    if ((createdFilter != DateType.NONE && createdFrom == null)
            || (createdFilter == DateType.BETWEEN && createdTo == null)
            || (loginFilter != DateType.NONE && loginFrom == null)
            || (loginFilter == DateType.BETWEEN && loginTo == null)) {
        logger.error("A date filter has been requested while the date values are incorrect");
        message += "- Valid dates when selecting a date filter\n";
        error = true;
    }

    if (error) {
        throw new IllegalArgumentException(message);
    }

    try (Session session = HibernateUtil.getSessionFactory().openSession()) {
        Criteria query = session.createCriteria(Account.class, "acc");

        query.setFetchMode("locale", FetchMode.JOIN);
        query.setFetchMode("realm", FetchMode.JOIN);

        query.add(Restrictions.like("name", name));

        // This ban check is generating 2 SQL queries while, in SQL, you could do it in one.
        // Limitations of the criteria API.
        switch (banned) {
        case TRUE:
            // First, we get the list of IDs for the accounts that are banned.
            Criteria getBannedQuery = session.createCriteria(Account.class)
                    .setProjection(Projections.distinct(Projections.property("id")))
                    .createCriteria("bannedaccountsForFkBannedaccount", "ban", JoinType.LEFT_OUTER_JOIN)
                    .add(Restrictions.eq("ban.active", true));

            // Then we add these IDs to the query.
            query.add(Restrictions.in("id", getBannedQuery.list()));
            break;
        case FALSE:
            // First, we get the list of ID for the accounts that are not banned.
            Criteria getNotBanQuery = session.createCriteria(Account.class)
                    .setProjection(Projections.distinct(Projections.property("id")))
                    .createCriteria("bannedaccountsForFkBannedaccount", "ban", JoinType.LEFT_OUTER_JOIN)
                    .add(Restrictions.or(Restrictions.eq("ban.active", false),
                            Restrictions.isNull("ban.active")));

            // Then we add these IDs to the query.
            query.add(Restrictions.in("id", getNotBanQuery.list()));
            break;
        }

        // We add the realm restrictions, if it applies.
        if (!realm.getName().equals("ALL")) {
            query.add(Restrictions.eq("realm", realm));
        }

        // We add the locale restrictions, if it applies.
        if (!locale.getLocale().equals("ALL")) {
            query.add(Restrictions.eq("locale", locale));
        }

        query = Utils.applyDateFilter(query, "creation", createdFilter, createdFrom, createdTo);
        query = Utils.applyDateFilter(query, "lastlogin", loginFilter, loginFrom, loginTo);
        query = Utils.applyBooleanFilter(query, "locked", locked);
        query = Utils.applyBooleanFilter(query, "online", online);

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

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

License:Apache License

/**
 * Returns the list of characters for a given account.
 *
 * @param account The account for which the list of characters must be
 * retrieved./*from  ww  w  .  jav a  2 s  . com*/
 * @return The list of characters for this account or an empty list.
 */
public List<Characters> getCharactersForAccount(Account account) {
    if (account == null) {
        logger.debug("Account parameter is empty, exiting.");
        return null;
    }

    try (Session session = HibernateUtil.getCharSession().openSession()) {
        return session.createCriteria(Characters.class).add(
                Restrictions.and(Restrictions.isNull("deleted"), Restrictions.eq("fkAccount", account.getId())))
                .list();
    } catch (HibernateException he) {
        logger.error("No result associated to the account: " + account.getId());
        return null;
    }
}

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

License:Apache License

/**
 * Return the number of characters for this account.
 *
 * @param account The account for which the number of characters needs to be
 * retrieved./*w  w w.  ja  v  a2 s. c  om*/
 * @return The number of characters for this account.
 */
public long getNumberOfCharacters(Account account) {
    if (account == null) {
        logger.debug("Account parameter is empty, exiting.");
        return 0;
    }

    try (Session session = HibernateUtil.getCharSession().openSession()) {
        return (long) session.createCriteria(Characters.class)
                .add(Restrictions.and(Restrictions.isNull("deleted"),
                        Restrictions.eq("fkAccount", account.getId())))
                .setProjection(Projections.rowCount()).uniqueResult();
    } catch (HibernateException he) {
        logger.error("No result associated to the account: " + account.getId());
        return 0;
    }
}