Example usage for org.hibernate.criterion Restrictions in

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

Introduction

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

Prototype

public static Criterion in(String propertyName, Collection values) 

Source Link

Document

Apply an "in" constraint to the named property.

Usage

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

License:Open Source License

/**
 * API to fetch all batch instance by BatchInstanceStatus for a batch class.
 * /*from  w  ww  . j  ava  2  s .  c o  m*/
 * @param statusList List<BatchInstanceStatus>
 * @param batchClass BatchClass
 * @return List<BatchInstance>
 */
@Override
public List<BatchInstance> getBatchInstByStatusAndBatchClass(List<BatchInstanceStatus> statusList,
        BatchClass batchClass) {
    List<BatchInstance> batchInstances = null;
    DetachedCriteria criteria = criteria();

    if (statusList == null) {
        batchInstances = new ArrayList<BatchInstance>();
    } else {
        criteria.add(Restrictions.in(STATUS, statusList));
        criteria.add(Restrictions.eq(BATCH_CLASS, batchClass));
        criteria.addOrder(org.hibernate.criterion.Order.asc(PRIORITY));
        criteria.addOrder(org.hibernate.criterion.Order.desc(LAST_MODIFIED));
        batchInstances = find(criteria);
    }
    return batchInstances;
}

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

License:Open Source License

/**
 * API to fetch whether the batch class has any of its batches under processing i.e. not finished.
 * /* ww  w .j  a  v  a2  s  .  co  m*/
 * @param batchClassIdentifier {@link String}
 * @return int, count of batch instances
 */
@Override
public int getAllUnFinishedBatchInstancesCount(String batchClassIdentifier) {
    EphesoftCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS, JoinFragment.INNER_JOIN);
    criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier));

    List<BatchInstanceStatus> statusList = new ArrayList<BatchInstanceStatus>();
    statusList.add(BatchInstanceStatus.NEW);
    statusList.add(BatchInstanceStatus.ERROR);
    statusList.add(BatchInstanceStatus.READY_FOR_REVIEW);
    statusList.add(BatchInstanceStatus.READY_FOR_VALIDATION);
    statusList.add(BatchInstanceStatus.RUNNING);
    statusList.add(BatchInstanceStatus.READY);
    statusList.add(BatchInstanceStatus.RESTART_IN_PROGRESS);
    statusList.add(BatchInstanceStatus.LOCKED);
    statusList.add(BatchInstanceStatus.REMOTE);
    criteria.add(Restrictions.in(STATUS, statusList));
    return count(criteria);
}

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

License:Open Source License

/**
 * This API fetches all the batch instances on the basis of batch status list passed.
 * //from w  ww .  j av  a 2s .  com
 * @param batchStatusList List<{@link BatchInstanceStatus}>
 * @return List<{@link BatchInstance}>
 */
@Override
public List<BatchInstance> getBatchInstanceByStatusListBatchClass(List<BatchInstanceStatus> batchStatusList) {
    DetachedCriteria criteria = criteria();
    if (null != batchStatusList && !batchStatusList.isEmpty()) {
        criteria.add(Restrictions.in(STATUS, batchStatusList));
        criteria.addOrder(org.hibernate.criterion.Order.asc(BATCH_CLASS_IDENTIFIER));
    }
    return find(criteria);
}

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

License:Open Source License

/**
 * API for getting the batch instance identifiers having the user roles.
 * @param userRoles Set<String>/*ww w  . ja v a2s .  com*/
 * @return Set<String>
 */
@Override
public Set<String> getBatchInstanceIdentifierForUserRoles(final Set<String> userRoles) {
    boolean isValid = true;
    if (userRoles == null || userRoles.size() == 0) {
        isValid = false;
    }
    Set<String> batchInstanceIdentifiers = null;

    if (isValid) {
        batchInstanceIdentifiers = new HashSet<String>();
        final DetachedCriteria criteria = criteria();
        final Disjunction disjunction = Restrictions.disjunction();
        disjunction.add(Restrictions.in(GROUP_NAME, userRoles));
        criteria.add(disjunction);
        final List<BatchInstanceGroups> batchInstanceGroups = find(criteria);
        for (final BatchInstanceGroups batchInstanceGroup : batchInstanceGroups) {
            batchInstanceIdentifiers.add(batchInstanceGroup.getBatchInstanceIdentifier());
        }
    }
    return batchInstanceIdentifiers;
}

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

License:Open Source License

/**
 * API for getting the batch instance identifiers except provided user roles.
 * /*from www. j  a  va 2 s  .  c o  m*/
 * @param userRoles Set<String>
 * @return Set<String>
 */
@Override
public Set<String> getBatchInstanceIdentifiersExceptUserRoles(final Set<String> userRoles) {
    Set<String> batchInstanceIdentifiers = new HashSet<String>();
    final DetachedCriteria criteria = criteria();
    final Disjunction disjunction = Restrictions.disjunction();
    disjunction.add(Restrictions.not(Restrictions.in(GROUP_NAME, userRoles)));
    criteria.add(disjunction);
    final List<BatchInstanceGroups> batchInstanceGroups = find(criteria);
    for (final BatchInstanceGroups batchInstanceGroup : batchInstanceGroups) {
        batchInstanceIdentifiers.add(batchInstanceGroup.getBatchInstanceIdentifier());
    }
    return batchInstanceIdentifiers;
}

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

License:Open Source License

/**
 * An API to fetch all batch class id, document type names and Page type names corresponding to each other.
 * /*from   www .j a  v a 2 s. co m*/
 * @param batchClassIdentifierList List<String>
 * @return List<Object[]>
 */
@Override
public List<Object[]> getDocTypeNameAndPgTypeName(List<String> batchClassIdentifierList) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(DOC_TYPE, DOC_TYPE, JoinFragment.RIGHT_OUTER_JOIN);
    criteria.createAlias(DOC_TYPE_BATCH_CLASS, BATCH_CLASS, JoinFragment.INNER_JOIN);
    criteria.add(Restrictions.in(BATCH_CLASS_IDENTIFIER, batchClassIdentifierList));
    criteria.addOrder(Order.asc(BATCH_CLASS_IDENTIFIER));
    criteria.addOrder(Order.asc(DOC_TYPE_NAME));
    criteria.setProjection(Projections.projectionList().add(Projections.property(BATCH_CLASS_IDENTIFIER))
            .add(Projections.property(DOC_TYPE_NAME)).add(Projections.property(NAME)));
    return find(criteria);
}

From source file:com.eryansky.common.orm.core.hibernate.restriction.support.InRestriction.java

License:Apache License

public Criterion buildRestriction(String propertyName, Object[] values) {
    return Restrictions.in(propertyName, values);
}

From source file:com.eryansky.common.orm.core.hibernate.restriction.support.NinRestriction.java

License:Apache License

public Criterion buildRestriction(String propertyName, Object[] values) {

    return Restrictions.not(Restrictions.in(propertyName, values));
}

From source file:com.eryansky.common.orm.core.hibernate.support.BasicHibernateDao.java

License:Apache License

/**
 * ID?./*w  w w  .j a  v a 2 s. co  m*/
 *
 * @param ids ID?
 *
 * @return List
 */
public List<T> get(Collection<ID> ids) {
    if (CollectionUtils.isEmpty(ids)) {
        return Collections.emptyList();
    }
    return createCriteria(Restrictions.in(getIdName(), ids)).list();
}

From source file:com.eryansky.common.orm.core.hibernate.support.BasicHibernateDao.java

License:Apache License

/**
 * ID?.
 *
 * @param ids ID?
 *
 * @return List
 */
public List<T> get(ID[] ids) {
    return createCriteria(Restrictions.in(getIdName(), ids)).list();
}