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.HibernateApplicationDao.java

License:Mozilla Public License

private void addFiltering(Criteria criteria, Set<Integer> teamIds, Set<Integer> appIds) {

    boolean useAppIds = appIds != null, useTeamIds = teamIds != null;

    if (teamIds != null && teamIds.isEmpty()) {
        teamIds = set(0);//  w w w .j  a  v a  2  s  . com
    }

    if (appIds != null && appIds.isEmpty()) {
        appIds = set(0);
    }

    if (!useAppIds && !useTeamIds) {
        return;
    }

    if (useAppIds && useTeamIds) {
        criteria.add(Restrictions.eq("team.active", true))
                .add(Restrictions.or(Restrictions.in("id", appIds), Restrictions.in("team.id", teamIds)));
    } else if (useAppIds) {
        criteria.add(Restrictions.in("id", appIds));
    } else {
        criteria.add(Restrictions.in("team.id", teamIds)).add(Restrictions.eq("team.active", true));
    }

}

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

License:Mozilla Public License

private Criterion disjoinRestrictions(Criterion restriction1, Criterion restriction2) {
    if (restriction1 == null) {
        return restriction2;
    } else {// w w  w  .j  av a 2  s  .  c o  m
        return Restrictions.or(restriction1, restriction2);
    }
}

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

License:Mozilla Public License

@SuppressWarnings("unchecked")
public Criteria getScanIdAndPageCriteria(Integer scanId, int page) {

    List<Integer> mappedFindingIds = (List<Integer>) sessionFactory.getCurrentSession()
            .createQuery("select finding.id from ScanRepeatFindingMap map " + "where map.scan.id = :scanId")
            .setInteger("scanId", scanId).list();

    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Finding.class)
            .add(Restrictions.eq("active", true));

    if (mappedFindingIds != null && !mappedFindingIds.isEmpty()) {
        criteria.add(//from   ww  w  .java 2  s .com
                Restrictions.or(Restrictions.eq("scan.id", scanId), Restrictions.in("id", mappedFindingIds)));
    } else {
        criteria.add(Restrictions.eq("scan.id", scanId));
    }

    return criteria.createAlias("channelSeverity", "severity").createAlias("channelVulnerability", "vuln")
            .createAlias("surfaceLocation", "surface").setFirstResult((page - 1) * Finding.NUMBER_ITEM_PER_PAGE)
            .setMaxResults(Finding.NUMBER_ITEM_PER_PAGE).addOrder(Order.desc("severity.numericValue"))
            .addOrder(Order.asc("vuln.name")).addOrder(Order.asc("surface.path"));
}

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

License:Mozilla Public License

@Override
public Tag retrieveAppTagByName(String name) {
    return (Tag) getSession().createCriteria(getClassReference()).add(Restrictions.eq("active", true))
            .add(Restrictions.eq("name", name))
            .add(Restrictions.or(Restrictions.isNull("type"), Restrictions.eq("type", TagType.APPLICATION)))
            .uniqueResult();//from  w  ww  .j a va  2  s .c  o  m
}

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

License:Mozilla Public License

@Override
public List<Tag> retrieveAllApplicationTags() {
    return getSession().createCriteria(getClassReference()).add(Restrictions.eq("active", true))
            .add(Restrictions.or(Restrictions.isNull("type"), Restrictions.eq("type", TagType.APPLICATION)))
            .addOrder(getOrder()).list();
}

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

License:Mozilla Public License

@Override
public Long countUsers(String searchString) {
    Criteria criteria = getActiveUserCriteria().setProjection(Projections.rowCount());

    if (searchString != null) {
        criteria.add(Restrictions.or(Restrictions.like("name", "%" + searchString + "%"),
                Restrictions.like("displayName", "%" + searchString + "%")));
    }// ww  w . j  ava2 s .c om

    return (Long) criteria.uniqueResult();
}

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

License:Mozilla Public License

@Override
public List<User> getSearchResults(String searchString, int number, int page) {
    return (List<User>) getSession().createCriteria(User.class).add(Restrictions.eq("active", true))
            .add(Restrictions.or(Restrictions.like("name", "%" + searchString + "%"),
                    Restrictions.like("displayName", "%" + searchString + "%")))
            .setMaxResults(number).setFirstResult((page - 1) * number).addOrder(Order.asc("name")).list();
}

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

License:Mozilla Public License

@SuppressWarnings("unchecked")
@Override/*from  ww  w.ja  v a2s .  c om*/
public List<VulnerabilityComment> retrieveRecent(int number, Set<Integer> authenticatedAppIds,
        Set<Integer> authenticatedTeamIds) {
    if ((authenticatedAppIds == null || authenticatedAppIds.isEmpty())
            && (authenticatedTeamIds == null || authenticatedTeamIds.isEmpty())) {
        return list();
    }

    Criteria baseCriteria = getVulnCriteria(number).createAlias("vulnerability.application", "app")
            .createAlias("vulnerability", "vuln").add(Restrictions.eq("app.active", true))
            .add(Restrictions.eq("vuln.active", true));

    boolean useAppIds = authenticatedAppIds != null && !authenticatedAppIds.isEmpty(),
            useTeamIds = authenticatedTeamIds != null && !authenticatedTeamIds.isEmpty();

    if (useAppIds && useTeamIds) {
        baseCriteria.createAlias("app.organization", "team")
                .add(Restrictions.or(Restrictions.in("app.id", authenticatedAppIds),
                        Restrictions.in("team.id", authenticatedTeamIds)));
    } else if (useAppIds) {
        baseCriteria.add(Restrictions.in("app.id", authenticatedAppIds));
    } else if (useTeamIds) {
        baseCriteria.createAlias("app.organization", "team")
                .add(Restrictions.in("team.id", authenticatedTeamIds));
    }

    return baseCriteria.list();
}

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

License:Mozilla Public License

private void addPermissionRestrictions() {
    if (parameters.getPermissionsList() != null && !parameters.getPermissionsList().isEmpty()) {
        criteria.createAlias("endpointPermissions", "permissionAlias");
        criteria.add(Restrictions.in("permissionAlias.name", parameters.getPermissionsList()));
    }//from  w  ww  .  j a  va 2  s .  c  o m

    if (parameters.getShowAuthenticated() || parameters.getShowUnknown()
            || parameters.getShowUnauthenticated()) {
        List<AuthenticationRequired> ordinalValues = list();

        boolean acceptNull = false;

        if (parameters.getShowAuthenticated()) {
            ordinalValues.add(AUTHENTICATED);
        }
        if (parameters.getShowUnauthenticated()) {
            ordinalValues.add(ANONYMOUS);
        }
        if (parameters.getShowUnknown()) {
            ordinalValues.add(UNKNOWN);
            acceptNull = true;
        }

        Criterion restrictions;
        if (acceptNull) {
            restrictions = Restrictions.or(Restrictions.in("authenticationRequired", ordinalValues),
                    Restrictions.isNull("authenticationRequired"));
        } else {
            restrictions = Restrictions.in("authenticationRequired", ordinalValues);
        }
        criteria.add(restrictions);
    }

}

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

License:Mozilla Public License

private void addDateRangeRestrictions() {
    if (parameters.getStartDate() != null || parameters.getEndDate() != null) {

        if (parameters.getStartDate() != null) {
            Calendar targetDate = Calendar.getInstance();
            targetDate.setTime(parameters.getStartDate());

            LOG.debug("Adding start date " + targetDate);
            criteria.add(Restrictions.gt("openTime", targetDate));
        }/*from  w w w .ja  va 2s. c o m*/

        if (parameters.getEndDate() != null) {
            Calendar targetDate = Calendar.getInstance();
            targetDate.setTime(parameters.getEndDate());

            LOG.debug("Adding end date " + targetDate);
            criteria.add(Restrictions.lt("openTime", targetDate));
        }
    }

    if (parameters.getStartCloseDate() != null || parameters.getEndCloseDate() != null) {

        if (parameters.getStartCloseDate() != null) {
            Calendar targetDate = Calendar.getInstance();
            targetDate.setTime(parameters.getStartCloseDate());

            LOG.debug("Adding start close date " + targetDate);
            criteria.add(Restrictions.or(Restrictions.eq("closeTime", null),
                    Restrictions.gt("closeTime", targetDate)));
        }

        if (parameters.getEndCloseDate() != null) {
            Calendar targetDate = Calendar.getInstance();
            targetDate.setTime(parameters.getEndCloseDate());

            LOG.debug("Adding end close date " + targetDate);
            criteria.add(Restrictions.or(Restrictions.eq("closeTime", null),
                    Restrictions.lt("closeTime", targetDate)));
        }
    }
}