Example usage for org.hibernate.criterion DetachedCriteria createAlias

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

Introduction

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

Prototype

public DetachedCriteria createAlias(String associationPath, String alias) 

Source Link

Document

Creates an association path alias within this DetachedCriteria.

Usage

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

License:Open Source License

/**
 *  An api to fetch BatchClassCloudConfig by batch class identifier.
 * /*from   w ww .j  a  v a2s  .  co m*/
 * @param batchClassIdentifier {@link String}
 * @return {@link BatchClassCloudConfig}
 */
@Override
public BatchClassCloudConfig getBatchClassCloudConfigByBatchClassIdentifier(String batchClassIdentifier) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
    criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier));
    return findSingle(criteria);
}

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

License:Open Source License

/**
 * An api to fetch all BatchClassCmisConfiguration by batch class identifier.
 * /*w  w w.j av a2  s. c  o m*/
 * @param batchClassIdentifier {@link String}
 * @return List<BatchClassCmisConfiguration>
 */
@Override
public List<BatchClassCmisConfiguration> getCmisConfigByBatchClassIdentifier(
        final String batchClassIdentifier) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
    criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier));
    return find(criteria);
}

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

License:Open Source License

/**
 * An api to fetch all BatchClassCmisConfiguration by batch class identifier starting at firstIndex and maxResults is the total number of records.
 * //  w ww.  jav a2s  .c  om
 * @param batchClassIdentifier String
 * @param firstIndex int
 * @param maxResults int
 * @return List<BatchClassCmisConfiguration>
 */
@Override
public List<BatchClassCmisConfiguration> getCmisConfigByBatchClassIdentifier(final String batchClassIdentifier,
        final int firstIndex, final int maxResults) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
    criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier));
    return find(criteria, firstIndex, maxResults);
}

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.
 * /*w  w w  .  j ava  2  s. co 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

/**
 * API to get the list of Batch Classes specifying startindex, no of results and sorting if any.
 * //w  ww  .  ja  v a2s . c  o m
 * @param firstResult int
 * @param maxResults int 
 * @param order List<Order>
 * @param userRoles Set<String>
 * @return List of batch class.
 */
@Override
public List<BatchClass> getBatchClassList(final int firstResult, final int maxResults, final List<Order> order,
        final Set<String> userRoles) {
    EphesoftCriteria criteria = criteria();
    List<BatchClass> batchClassList = null;
    if (userRoles == null) {
        batchClassList = new ArrayList<BatchClass>(0);
    } else {
        List<String> roleList = new ArrayList<String>();
        for (String userRole : userRoles) {
            if (null == userRole || userRole.isEmpty()) {
                continue;
            }
            roleList.add(userRole);
        }
        DetachedCriteria detachedCriteria = criteria();
        detachedCriteria.createAlias(ASSIGNED_GROUPS, ASSIGNED_GROUPS);
        detachedCriteria.add(Restrictions.in(ASSIGNED_GROUPS_NAME, roleList));
        detachedCriteria.setProjection(Projections.distinct(Projections.property(BATCH_ID)));
        criteria.add(Subqueries.propertyIn(BATCH_ID, detachedCriteria));
        criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false)));
        batchClassList = find(criteria, firstResult, maxResults, order.toArray(new Order[order.size()]));
    }
    return batchClassList;
}

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

License:Open Source License

/**
 * This API will fetch all the batch classes of current user role.
 * //from  w  ww  .  j  ava 2  s  . co  m
 * @param userRoles Set<String>
 * @return List<BatchClass>
 */
@Override
public List<BatchClass> getAllBatchClassesByUserRoles(final Set<String> userRoles) {
    DetachedCriteria criteria = criteria();
    List<BatchClass> batchClassList = null;
    if (userRoles == null) {
        batchClassList = new ArrayList<BatchClass>();
    } else {
        List<String> roleList = new ArrayList<String>();
        for (String userRole : userRoles) {
            if (null == userRole || userRole.isEmpty()) {
                continue;
            }
            roleList.add(userRole);
        }
        criteria.createAlias(ASSIGNED_GROUPS, ASSIGNED_GROUPS);
        criteria.add(Restrictions.in(ASSIGNED_GROUPS_NAME, roleList));
        criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false)));
        criteria.addOrder(org.hibernate.criterion.Order.asc(BATCH_ID));
        criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
        batchClassList = find(criteria);
    }

    return batchClassList;
}

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

License:Open Source License

/**
 * This API will fetch the size of batchclass.
 * /*from   w  ww.  j a v a2s .c o  m*/
 * @param userRoles Set<String>
 * @return batchClass size
 */
@Override
public int getAllBatchClassCountExcludeDeleted(Set<String> userRoles) {
    DetachedCriteria criteria = criteria();
    if (userRoles != null && !userRoles.isEmpty()) {
        List<String> roleList = new ArrayList<String>();
        for (String userRole : userRoles) {
            if (null == userRole || userRole.isEmpty()) {
                continue;
            }
            roleList.add(userRole);
        }
        criteria.createAlias(ASSIGNED_GROUPS, ASSIGNED_GROUPS);
        criteria.add(Restrictions.in(ASSIGNED_GROUPS_NAME, roleList));
    }
    criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false)));
    return count(criteria);
}

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

License:Open Source License

/**
 * API to the batch class with respect to the given batch class id and the roles provided.
 * //from ww w  .j ava2 s .  c om
 * @param userRoles {@link Set<{@link String}>}
 * @param batchClassID {@link String}
 * @return {@link BatchClass}
 */
@Override
public BatchClass getBatchClassByUserRoles(final Set<String> userRoles, String batchClassID) {
    DetachedCriteria criteria = criteria();
    List<BatchClass> batchClassList = null;
    BatchClass batchClass = null;
    if (userRoles == null) {
        batchClassList = new ArrayList<BatchClass>();
    } else {
        List<String> roleList = new ArrayList<String>();
        for (String userRole : userRoles) {
            if (null == userRole || userRole.isEmpty()) {
                continue;
            }
            roleList.add(userRole);
        }
        criteria.createAlias(ASSIGNED_GROUPS, ASSIGNED_GROUPS);
        criteria.add(Restrictions.in(ASSIGNED_GROUPS_NAME, roleList));
        criteria.add(Restrictions.eq(IDENTIFIER, batchClassID));
        criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false)));
        criteria.addOrder(org.hibernate.criterion.Order.asc(BATCH_ID));
        criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
        batchClassList = find(criteria);
        if (batchClassList != null && !batchClassList.isEmpty()) {
            batchClass = batchClassList.get(0);
        }
    }

    return batchClass;
}

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

License:Open Source License

/**
 * To get all Dynamic Plugin Properties for Batch instance.
 * /*from  w w  w . j av  a  2 s . c  o  m*/
 * @param batchClassIdentifier String
 * @return List<BatchClassDynamicPluginConfig>
 */
@Override
public List<BatchClassDynamicPluginConfig> getAllDynamicPluginPropertiesForBatchInstance(
        String batchInstanceIdentifier) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS_PLUGIN, BATCH_CLASS_PLUGIN);
    criteria.createAlias(BATCH_CLASS_PLUGIN_BATCH_CLASS_MODULE, BATCH_CLASS_MODULE);
    criteria.createAlias("batchClassModule.batchClass", BATCH_CLASS);

    DetachedCriteria subQuery = criteria(BatchInstance.class);
    subQuery.add(Restrictions.eq("identifier", batchInstanceIdentifier));
    subQuery.setProjection(Projections.property("batchClass.id"));

    criteria.add(Subqueries.propertyEq("batchClass.id", subQuery));

    return find(criteria);
}

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

License:Open Source License

/**
 * API for getting the user roles for a batch class.
 * @param userRoles Set<String>/*from  w  ww  .ja v a2s . c  om*/
 * @param batchClassIdentifier
 * @return Set<String>
 */
@Override
public Set<String> getRolesForBatchClass(String batchClassIdentifier) {
    Set<String> userGroups = new HashSet<String>();
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
    criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier));
    List<BatchClassGroups> batchClassGroups = find(criteria);
    for (BatchClassGroups batchClassGroup : batchClassGroups) {
        userGroups.add(batchClassGroup.getGroupName());
    }
    return userGroups;
}