Example usage for org.hibernate.criterion Restrictions or

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

Introduction

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

Prototype

public static LogicalExpression or(Criterion lhs, Criterion rhs) 

Source Link

Document

Return the disjuction of two expressions

Usage

From source file:com.denimgroup.threadfix.data.dao.hibernate.VulnerabilitySearchCriteriaConstructor.java

License:Mozilla Public License

private void addTeamsAndApplications() {
    List<Integer> appIds = list(), teamIds = list();

    if (parameters.getTeams() != null && !parameters.getTeams().isEmpty()) {
        for (Organization organization : parameters.getTeams()) {
            if (organization.getId() != null) {
                teamIds.add(organization.getId());
            }//from  w  w w .jav  a2s  .  c om
        }
    }

    if (parameters.getApplications() != null && !parameters.getApplications().isEmpty()) {
        for (Application application : parameters.getApplications()) {
            if (application.getId() != null) {
                appIds.add(application.getId());
            }
        }
    }

    if (appIds.isEmpty() || teamIds.isEmpty()) {
        if (appIds.isEmpty()) {
            criteria.add(Restrictions.eq("applicationAlias.active", true));
            LOG.debug("No application IDs added to the criteria.");
        } else {
            criteria.add(Restrictions.in("application.id", appIds));
            LOG.debug("Added applications with IDs " + appIds);
        }

        if (teamIds.isEmpty()) {
            criteria.add(Restrictions.eq("team.active", true));
            LOG.debug("No team IDs added to the criteria.");
        } else {
            criteria.add(Restrictions.in("team.id", teamIds));
            LOG.debug("Added teams with IDs " + teamIds);
        }
    } else {

        // Make sure to OR things together if both application and team IDs are present. This ensures that
        // if a user has permission to see one team and one application from a different team, all of the
        // vulnerabilities will show up.
        criteria.add(Restrictions.or(Restrictions.in("application.id", appIds),
                Restrictions.in("team.id", teamIds)));

        LOG.debug("Added applications with IDs " + appIds);
        LOG.debug("Added teams with IDs " + teamIds);
    }
}

From source file:com.duroty.application.admin.manager.AdminManager.java

License:Open Source License

/**
 * DOCUMENT ME!/*  w  w w.  j a  v  a2s.com*/
 *
 * @param hsession DOCUMENT ME!
 * @param repositoryName DOCUMENT ME!
 * @param token DOCUMENT ME!
 *
 * @return DOCUMENT ME!
 *
 * @throws Exception DOCUMENT ME!
 */
public SearchUsersObj suggestUsers(Session hsession, String token, int page, int byPage) throws Exception {
    SearchUsersObj searchUsersObj = new SearchUsersObj();
    Vector users = new Vector();

    try {
        Criteria crit = hsession.createCriteria(Users.class);
        crit.add(Restrictions.or(Restrictions.ilike("useName", token, MatchMode.ANYWHERE),
                Restrictions.ilike("useEmail", token, MatchMode.ANYWHERE)));
        searchUsersObj.setHits(crit.list().size());

        crit = hsession.createCriteria(Users.class);
        crit.add(Restrictions.or(Restrictions.ilike("useName", token, MatchMode.ANYWHERE),
                Restrictions.ilike("useEmail", token, MatchMode.ANYWHERE)));
        crit.setFirstResult(page * byPage);
        crit.setMaxResults(byPage);
        crit.addOrder(Order.asc("useName"));

        ScrollableResults scroll = crit.scroll();

        while (scroll.next()) {
            Users user = (Users) scroll.get(0);

            UserObj obj = new UserObj();

            obj.setActive(user.isUseActive());
            obj.setEmail(user.getUseEmail());

            Iterator it = user.getMailPreferenceses().iterator();
            MailPreferences mailPreferences = (MailPreferences) it.next();

            obj.setHtmlMessages(mailPreferences.isMaprHtmlMessage());
            obj.setIdint(user.getUseIdint());
            obj.setLanguage(user.getUseLanguage());
            obj.setMessagesByPage(mailPreferences.getMaprMessagesByPage());
            obj.setName(user.getUseName());
            obj.setPassword(user.getUsePassword());
            obj.setQuotaSize(mailPreferences.getMaprQuotaSize());
            obj.setRegisterDate(user.getUseRegisterDate());

            Integer[] roles = new Integer[user.getUserRoles().size()];

            if (roles.length > 0) {
                it = user.getUserRoles().iterator();

                int i = 0;

                while (it.hasNext()) {
                    UserRole userRole = (UserRole) it.next();
                    roles[i] = new Integer(userRole.getId().getRoles().getRolIdint());
                    i++;
                }
            }

            obj.setRoles(roles);

            obj.setSignature(mailPreferences.getMaprSignature());

            if (mailPreferences.getMaprSpamTolerance() == 100) {
                obj.setSpamTolerance(true);
            } else {
                obj.setSpamTolerance(false);
            }

            obj.setUsername(user.getUseUsername());
            obj.setVacationBody(mailPreferences.getMaprVacationBody());
            obj.setVacationSubject(mailPreferences.getMaprVacationSubject());
            obj.setVactionActive(mailPreferences.isMaprVacationActive());

            int usedQuotaSize = getUsedQuotaSize(hsession, user);
            usedQuotaSize /= 1024;

            if (usedQuotaSize > 1024) {
                usedQuotaSize /= 1024;
                obj.setUsedQuota(usedQuotaSize + " MB");
            } else {
                obj.setUsedQuota(((usedQuotaSize > 0) ? (usedQuotaSize + "") : "<1") + " kB");
            }

            users.addElement(obj);
        }

        searchUsersObj.setUsers(users);

        return searchUsersObj;
    } finally {
        GeneralOperations.closeHibernateSession(hsession);
    }
}

From source file:com.duroty.application.mail.manager.PreferencesManager.java

License:Open Source License

/**
 * DOCUMENT ME!/*from  w  w  w . j  a  va2s. c o m*/
 *
 * @param hsession DOCUMENT ME!
 * @param token DOCUMENT ME!
 *
 * @return DOCUMENT ME!
 *
 * @throws ManagerException DOCUMENT ME!
 */
public SearchContactsObj searchContacts(Session hsession, String repositoryName, String token, int page,
        int byPage, int order, String extra) throws Exception {
    SearchContactsObj sobj = new SearchContactsObj();
    Vector contacts = new Vector();

    try {
        Criteria crit = hsession.createCriteria(Contact.class);
        crit.add(Restrictions.or(Restrictions.ilike("conName", token, MatchMode.ANYWHERE),
                Restrictions.ilike("conEmail", token, MatchMode.ANYWHERE)));
        crit.add(Restrictions.eq("users", getUser(hsession, repositoryName)));
        crit.add(Restrictions.isNotNull("conSentDate"));
        crit.add(Restrictions.isNotNull("conReceivedDate"));

        int hits = crit.list().size();

        sobj.setHits(hits);

        crit = hsession.createCriteria(Contact.class);
        crit.add(Restrictions.or(Restrictions.ilike("conName", token, MatchMode.ANYWHERE),
                Restrictions.ilike("conEmail", token, MatchMode.ANYWHERE)));
        crit.add(Restrictions.eq("users", getUser(hsession, repositoryName)));
        crit.add(Restrictions.isNotNull("conSentDate"));
        crit.add(Restrictions.isNotNull("conReceivedDate"));

        switch (order) {
        case ORDER_BY_EMAIL:
            crit.addOrder(Order.asc("conEmail"));

            break;

        case ORDER_BY_FREQUENCY_SENT:
            crit.addOrder(Order.asc("conSentDate"));

            break;

        case ORDER_BY_FREQUENCY_RECEIVED:
            crit.addOrder(Order.asc("conReceivedDate"));

            break;

        default:
            crit.addOrder(Order.asc("conSentDate"));

            break;
        }

        if (byPage > 0) {
            crit.setFirstResult(page * byPage);
            crit.setMaxResults(byPage);
        }

        ScrollableResults scroll = crit.scroll();

        while (scroll.next()) {
            Contact contact = (Contact) scroll.get(0);

            ContactObj obj = new ContactObj();
            obj.setIdint(contact.getConIdint());
            obj.setName(contact.getConName());
            obj.setEmail(contact.getConEmail());

            if (!StringUtils.isBlank(contact.getConDescription())) {
                obj.setDescription(contact.getConDescription().replaceAll("\n", "\\\\n")
                        .replaceAll("\r", "\\\\r").replaceAll("'", "''"));
            }

            contacts.addElement(obj);
        }

        sobj.setContacts(contacts);

        return sobj;
    } finally {
        GeneralOperations.closeHibernateSession(hsession);
    }
}

From source file:com.duroty.application.mail.manager.PreferencesManager.java

License:Open Source License

/**
 * DOCUMENT ME!/*from w ww .  j av  a2  s.  c o  m*/
 *
 * @param hsession DOCUMENT ME!
 * @param token DOCUMENT ME!
 *
 * @return DOCUMENT ME!
 *
 * @throws ManagerException DOCUMENT ME!
 */
public SearchGroupsObj searchGroups(Session hsession, String repositoryName, String token, int page, int byPage,
        int order, String extra) throws Exception {
    SearchGroupsObj sobj = new SearchGroupsObj();
    Vector groups = new Vector();

    try {
        Criteria crit = hsession.createCriteria(ContactList.class);
        crit.add(Restrictions.or(Restrictions.ilike("coliName", token, MatchMode.ANYWHERE),
                Restrictions.ilike("coliName", token, MatchMode.ANYWHERE)));
        crit.add(Restrictions.eq("users", getUser(hsession, repositoryName)));

        int hits = crit.list().size();

        sobj.setHits(hits);

        crit = hsession.createCriteria(ContactList.class);
        crit.add(Restrictions.or(Restrictions.ilike("coliName", token, MatchMode.ANYWHERE),
                Restrictions.ilike("coliName", token, MatchMode.ANYWHERE)));
        crit.add(Restrictions.eq("users", getUser(hsession, repositoryName)));
        crit.addOrder(Order.asc("coliName"));

        if (byPage > 0) {
            crit.setFirstResult(page * byPage);
            crit.setMaxResults(byPage);
        }

        ScrollableResults scroll = crit.scroll();

        while (scroll.next()) {
            ContactList contactList = (ContactList) scroll.get(0);

            ContactListObj obj = new ContactListObj();
            obj.setIdint(contactList.getColiIdint());
            obj.setName(contactList.getColiName());

            Set set = contactList.getConColis();

            StringBuffer emails = new StringBuffer();

            if (set != null) {
                Iterator it = set.iterator();

                while (it.hasNext()) {
                    ConColi conColi = (ConColi) it.next();
                    Contact contact = conColi.getId().getContact();

                    if (emails.length() > 0) {
                        emails.append(", ");
                    }

                    String name = "";

                    if (!StringUtils.isBlank(contact.getConName())) {
                        name = contact.getConName() + " ";
                    }

                    emails.append(name + "<" + contact.getConEmail() + ">");
                }

                if (emails.length() > 0) {
                    obj.setEmails(emails.toString() + ", ");
                }
            }

            groups.addElement(obj);
        }

        sobj.setGroups(groups);

        return sobj;
    } finally {
        GeneralOperations.closeHibernateSession(hsession);
    }
}

From source file:com.duroty.application.mail.manager.PreferencesManager.java

License:Open Source License

/**
 * DOCUMENT ME!/*  w  w w  .  j a  v a2 s.  co  m*/
 *
 * @param hsession DOCUMENT ME!
 * @param token DOCUMENT ME!
 *
 * @return DOCUMENT ME!
 *
 * @throws ManagerException DOCUMENT ME!
 */
public Vector suggestContacts(Session hsession, String repositoryName, String token) throws Exception {
    Vector contacts = new Vector();

    try {
        Criteria crit = hsession.createCriteria(ContactList.class);
        crit.add(Restrictions.ilike("coliName", token, MatchMode.ANYWHERE));
        crit.add(Restrictions.eq("users", getUser(hsession, repositoryName)));
        crit.addOrder(Order.asc("coliName"));

        ScrollableResults scroll = crit.scroll();

        while (scroll.next()) {
            ContactList contactList = (ContactList) scroll.get(0);

            ContactObj obj = new ContactObj();
            obj.setIdint(contactList.getColiIdint());
            obj.setName(contactList.getColiName());
            obj.setEmail("GROUP");

            contacts.addElement(obj);
        }

        crit = hsession.createCriteria(Contact.class);
        crit.add(Restrictions.or(Restrictions.ilike("conName", token, MatchMode.ANYWHERE),
                Restrictions.ilike("conEmail", token, MatchMode.ANYWHERE)));
        crit.add(Restrictions.isNotNull("conSentDate"));
        crit.add(Restrictions.isNotNull("conReceivedDate"));
        crit.add(Restrictions.eq("users", getUser(hsession, repositoryName)));

        crit.add(Restrictions.eq("users", getUser(hsession, repositoryName)));
        crit.addOrder(Order.desc("conCount"));

        scroll = crit.scroll();

        while (scroll.next()) {
            Contact contact = (Contact) scroll.get(0);

            ContactObj obj = new ContactObj();
            obj.setIdint(contact.getConIdint());
            obj.setName(contact.getConName());
            obj.setEmail(contact.getConEmail());

            contacts.addElement(obj);
        }

        return contacts;
    } finally {
        GeneralOperations.closeHibernateSession(hsession);
    }
}

From source file:com.enonic.cms.store.dao.UserEntityDao.java

License:Open Source License

public List<UserEntity> findByQuery(final UserStoreKey userStoreKey, final String queryStr,
        final String orderBy, final boolean orderAscending) {

    return (List<UserEntity>) getHibernateTemplate().execute(new HibernateCallback() {

        public Object doInHibernate(Session session) throws HibernateException, SQLException {

            Criteria crit = session.createCriteria(UserEntity.class).setCacheable(true);
            crit.add(Restrictions.eq("deleted", 0));
            crit.add(Restrictions.ne("type", UserType.ADMINISTRATOR.getKey()));
            if (userStoreKey != null) {
                crit.add(Restrictions.eq("userStore.key", userStoreKey.toInt()));
            }//from   w w w  . java 2  s. c o m

            if (queryStr != null && queryStr.length() > 0) {
                crit.add(Restrictions.or(
                        Restrictions.or(Restrictions.ilike("name", queryStr, MatchMode.ANYWHERE),
                                Restrictions.ilike("displayName", queryStr, MatchMode.ANYWHERE)),
                        Restrictions.ilike("email", queryStr, MatchMode.ANYWHERE)));

            }

            if (orderBy != null) {
                if (orderAscending) {
                    crit.addOrder(Order.asc(orderBy).ignoreCase());
                } else {
                    crit.addOrder(Order.desc(orderBy).ignoreCase());
                }
            }

            return crit.list();
        }
    });
}

From source file:com.ephesoft.dcma.da.dao.BatchClassEmailConfigDaoImpl.java

License:Open Source License

/**
 * An api to get all the batch class email configs.
 * //  w  w  w .  j  a v a 2 s  . co  m
 * @return List<BatchClassEmailConfiguration>
 */
@Override
public List<BatchClassEmailConfiguration> getAllEmailConfigs() {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
    criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false)));
    return find(criteria);
}

From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassCmisConfigDaoImpl.java

License:Open Source License

/**
 * An api to get all the batch class cmis configs.
 * /*from   w ww .ja v  a  2 s. c  o m*/
 * @return List<BatchClassCmisConfiguration>
 */
@Override
public List<BatchClassCmisConfiguration> getAllCmisConfigs() {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
    criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false)));
    return find(criteria);
}

From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDaoImpl.java

License:Open Source License

/**
 * An api to fetch BatchClass by batch Class name.
 * /*w w w  .j ava 2 s .  co  m*/
 * @param batchClassName {@link String}
 * @return {@link BatchClass}
 */
@Override
public BatchClass getBatchClassbyName(final String batchClassName) {
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq(NAME, batchClassName));
    criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false)));
    return this.findSingle(criteria);
}

From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDaoImpl.java

License:Open Source License

/**
 * An api to fetch BatchClass by batch Class processName.
 * /*from ww  w  .  j  a  v  a 2  s .  c  o m*/
 * @param processName {@link String}
 * @return {@link BatchClass}
 */
@Override
public BatchClass getBatchClassbyProcessName(final String processName) {
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq(PROCESS_NAME, processName));
    criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false)));
    return this.findSingle(criteria);
}