Example usage for org.hibernate.criterion DetachedCriteria add

List of usage examples for org.hibernate.criterion DetachedCriteria add

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria add.

Prototype

public DetachedCriteria add(Criterion criterion) 

Source Link

Document

Add a restriction

Usage

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

License:Open Source License

/**
 * API to get the batch class plugin configuration details by plugin config Id.
 * // w  w w .j  ava2 s . c  om
 * @param pluginConfigId {@link Long}
 * @return List<{@link BatchClassPluginConfig}>
 */
@Override
public List<BatchClassPluginConfig> getBatchClassPluginConfigurationForPluginConfigId(Long pluginConfigId) {
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq(PLUGIN_CONFIG_ID, pluginConfigId));
    return find(criteria);
}

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

License:Open Source License

/**
 * API to get Batch class plugin for plugin id.
 * @param pluginId Long//from  www . j  a  v a 2 s  .com
 * @return List<BatchClassPlugin>
 */
@Override
public List<BatchClassPlugin> getBatchClassPluginForPluginId(Long pluginId) {
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq(BATCH_CLASS_PLUGIN_PLUGIN, pluginId.longValue()));
    return find(criteria);
}

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

License:Open Source License

/**
 * API to get the profiles for a batch class.
 * //w  ww.jav a 2 s. c o  m
 * @param batchClassId String
 * @return List<BatchClassScannerConfiguration>
 */
@Override
public List<BatchClassScannerConfiguration> getProfilesByBatchClass(String batchClassId) {
    LOG.info("Batch Class id:" + batchClassId);
    DetachedCriteria criteria = criteria();
    criteria.createAlias("batchClass", "batchClass", JoinFragment.INNER_JOIN);
    criteria.add(Restrictions.eq("batchClass.identifier", batchClassId));
    criteria.add(Restrictions.isNull("parent"));
    return find(criteria);
}

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

License:Open Source License

/**
 * API to get all the properties for a profile.
 * /*from w w  w.jav  a2 s.  c o  m*/
 * @param profileId String
 * @return BatchClassScannerConfiguration
 */
@Override
public BatchClassScannerConfiguration getProfileProperties(String profileId) {
    LOG.info("Profile Id:" + profileId);
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq("id", Long.valueOf(profileId)));
    return findSingle(criteria);
}

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

License:Open Source License

/**
 * An API to fetch all batch instance by batch class.
 * //from w  w  w .j a va2  s .  c  om
 * @param batchClass BatchClass BatchClass
 * @return List<BatchInstance>
 */
@Override
public List<BatchInstance> getBatchInstByBatchClass(BatchClass batchClass) {
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq(BATCH_CLASS, batchClass));
    return find(criteria);
}

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

License:Open Source License

/**
 * An API to fetch all batch instance by batch name or id.
 * /*from w w  w.j  av a2 s. c  o m*/
 * @param searchString String
 * @param userRoles Set<String>
 * @return List<BatchInstance>
 */
@Override
public List<BatchInstance> getBatchInstancesByBatchNameOrId(String searchString, Set<String> userRoles) {
    DetachedCriteria criteria = criteria();

    List<BatchInstance> batchInstances = new ArrayList<BatchInstance>();

    Set<String> batchClassIdentifiers = batchClassGroupsDao.getBatchClassIdentifierForUserRoles(userRoles);

    String searchStringLocal = searchString.replaceAll(DataAccessConstant.PERCENTAGE, REPLACEMENT_STRING);
    Criterion nameLikeCriteria = Restrictions.like(BATCH_NAME,
            DataAccessConstant.PERCENTAGE + searchStringLocal + DataAccessConstant.PERCENTAGE);
    Criterion idLikeCriteria = Restrictions.like(BATCH_INSTANCE_IDENTIFIER,
            DataAccessConstant.PERCENTAGE + searchStringLocal + DataAccessConstant.PERCENTAGE);

    LogicalExpression searchCriteria = Restrictions.or(nameLikeCriteria, idLikeCriteria);
    criteria.add(searchCriteria);
    if (batchClassIdentifiers != null && batchClassIdentifiers.size() > 0) {
        criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
        criteria.add(Restrictions.in(BATCH_CLASS_IDENTIFIER, batchClassIdentifiers));
        batchInstances = find(criteria);
    }
    return batchInstances;
}

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

License:Open Source License

/**
 * An API to fetch batch instance for specified identifier.
 * /*  www. j av  a  2 s .  c  o m*/
 * @param identifier String
 * @return BatchInstance
 */
@Override
public BatchInstance getBatchInstancesForIdentifier(String identifier) {

    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq("identifier", identifier));
    return findSingle(criteria);

}

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

License:Open Source License

/**
 * An API to fetch all batch instance by review user name.
 * // w  ww.j a va  2  s . com
 * @param reviewUserName String
 * @return List<BatchInstance>
 */
@Override
public List<BatchInstance> getBatchInstByReviewUserName(String reviewUserName) {
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq(REVIEW_USER_NAME, reviewUserName));
    return find(criteria);
}

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

License:Open Source License

/**
 * An API to fetch all batch instance by validation user name.
 * //from  www.  j  a  va 2s .co  m
 * @param validationUserName String
 * @return List<BatchInstance>
 */
@Override
public List<BatchInstance> getBatchInstByValidationUserName(String validationUserName) {
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq(VALIDATION_USER_NAME, validationUserName));
    return find(criteria);
}

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

License:Open Source License

/**
 * An API to fetch count of the batch instance table for batch instance status and batch priority. API will return those batch
 * instance having access by the user roles on the basis of ephesoft user.
 * //from   w w  w .  j  a va 2  s .  c om
 * @param batchName {@link String}
 * @param batchInstanceStatus {@link BatchInstanceStatus}
 * @param userName {@link String}
 * @param priority {@link BatchPriority}
 * @param userRoles Set<{@link String}>
 * @param ephesoftUser {@link EphesoftUser}
 * @return int, count of the batch instance present for the batch instance status.
 */
@Override
public int getCount(String batchName, BatchInstanceStatus batchInstanceStatus, String userName,
        BatchPriority batchPriority, Set<String> userRoles, EphesoftUser ephesoftUser) {
    int count = 0;
    DetachedCriteria criteria = criteria();
    if (batchName != null && !batchName.isEmpty()) {
        String batchNameLocal = batchName.replaceAll(DataAccessConstant.PERCENTAGE, REPLACEMENT_STRING);
        Criterion nameLikeCriteria = Restrictions.like(BATCH_NAME,
                DataAccessConstant.PERCENTAGE + batchNameLocal + DataAccessConstant.PERCENTAGE);
        Criterion idLikeCriteria = Restrictions.like(BATCH_INSTANCE_IDENTIFIER,
                DataAccessConstant.PERCENTAGE + batchNameLocal + DataAccessConstant.PERCENTAGE);
        LogicalExpression searchCriteria = Restrictions.or(nameLikeCriteria, idLikeCriteria);
        criteria.add(searchCriteria);
    } else if (null != batchPriority) {
        Disjunction disjunction = Restrictions.disjunction();
        Integer lowValue = batchPriority.getLowerLimit();
        Integer upperValue = batchPriority.getUpperLimit();
        disjunction.add(Restrictions.between(PRIORITY, lowValue, upperValue));
        criteria.add(disjunction);
    }
    Set<String> batchClassIdentifiers = batchClassGroupsDao.getBatchClassIdentifierForUserRoles(userRoles);

    if (EphesoftUser.NORMAL_USER.equals(ephesoftUser)) {
        Set<String> batchInstanceIdentifiers = batchInstanceGroupsDao
                .getBatchInstanceIdentifierForUserRoles(userRoles);

        if ((null != batchClassIdentifiers && batchClassIdentifiers.size() > 0)
                || (null != batchInstanceIdentifiers && batchInstanceIdentifiers.size() > 0)) {
            criteria.add(Restrictions.eq(STATUS, batchInstanceStatus));
            criteria.add(Restrictions.eq(IS_REMOTE, false));
            criteria.add(Restrictions.or(Restrictions.isNull(CURRENT_USER),
                    Restrictions.eq(CURRENT_USER, userName)));
            final Disjunction disjunction = Restrictions.disjunction();
            if (null != batchClassIdentifiers && batchClassIdentifiers.size() > 0) {
                criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
                disjunction.add(Restrictions.in(BATCH_CLASS_IDENTIFIER, batchClassIdentifiers));
            }
            if (null != batchInstanceIdentifiers && batchInstanceIdentifiers.size() > 0) {
                disjunction.add(Restrictions.in(BATCH_INSTANCE_IDENTIFIER, batchInstanceIdentifiers));
            }
            criteria.add(disjunction);
            count = count(criteria);

        } else {
            if (null != batchClassIdentifiers && batchClassIdentifiers.size() > 0) {
                criteria.add(Restrictions.eq(STATUS, batchInstanceStatus));
                criteria.add(Restrictions.eq(IS_REMOTE, false));
                criteria.add(Restrictions.or(Restrictions.isNull(CURRENT_USER),
                        Restrictions.eq(CURRENT_USER, userName)));
                criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
                criteria.add(Restrictions.in(BATCH_CLASS_IDENTIFIER, batchClassIdentifiers));
                count = count(criteria);
            }
        }
    }
    return count;

}