List of usage examples for org.hibernate.criterion Restrictions isNull
public static Criterion isNull(String propertyName)
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; } }