Example usage for org.hibernate.criterion DetachedCriteria setProjection

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

Introduction

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

Prototype

public DetachedCriteria setProjection(Projection projection) 

Source Link

Document

Set the projection to use.

Usage

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

License:Open Source License

/**
 * An API to fetch all Field types by document type name.
 * //from  w  ww .jav a 2  s  . c  o  m
 * @param docTypeName String
 * @param batchInstanceIdentifier String
 * @return List<FieldType>
 */
@Override
public List<FieldType> getFdTypeAndRegexValidationByDocTypeName(String docTypeName,
        String batchInstanceIdentifier) {

    LOG.info("batchInstanceID ID  : " + batchInstanceIdentifier);
    DetachedCriteria criteria = criteria();
    criteria.createAlias(DOC_TYPE, DOC_TYPE, JoinFragment.INNER_JOIN);
    criteria.add(Restrictions.eq(DOC_TYPE_NAME, docTypeName));
    criteria.createAlias(DOC_TYPE_BATCH_CLASS, BATCH_CLASS1, JoinFragment.INNER_JOIN);

    criteria.setFetchMode(REGEX_VALIDATION, FetchMode.JOIN);
    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

    DetachedCriteria subQuery = criteria(BatchInstance.class);
    subQuery.add(Restrictions.eq(IDENTIFIER, batchInstanceIdentifier));
    subQuery.createAlias(BATCH_CLASS, BATCH_CLASS2, JoinFragment.INNER_JOIN);
    subQuery.setProjection(Projections.property(BATCH_CLASS2_IDENTIFIER));
    criteria.add(Subqueries.propertyEq(BATCH_CLASS1_IDENTIFIER, subQuery));
    criteria.addOrder(org.hibernate.criterion.Order.asc(FIELD_ORDER_NUMBER));

    return find(criteria);

}

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

License:Open Source License

/**
 * API to get all Module names.//from   ww w . ja  va2s.com
 * 
 * @return {@link List}<{@link String}>
 */
@Override
public List<String> getModuleNames() {
    LOGGER.info("Retrieving list of all module names in ascending order.");
    DetachedCriteria criteria = criteria();
    criteria.setProjection(Projections.property(MODULE_NAME));
    criteria.addOrder(Order.asc(MODULE_NAME));
    return find(criteria);
}

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

License:Open Source License

/**
 * An API to fetch all Page types by batchInstanceID.
 * //  w  w  w . jav  a  2  s.c  om
 * @param batchInstanceIdentifier String
 * @return List<PageType>
 */
@Override
public List<PageType> getPageTypesByBatchInstanceID(String batchInstanceIdentifier) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(DOC_TYPE, DOC_TYPE, JoinFragment.INNER_JOIN);
    criteria.createAlias(DOC_TYPE_BATCH_CLASS, BATCH_CLASS1, JoinFragment.INNER_JOIN);
    DetachedCriteria subQuery = criteria(BatchInstance.class);
    subQuery.add(Restrictions.eq(IDENTIFIER, batchInstanceIdentifier));
    subQuery.createAlias(BATCH_CLASS, BATCH_CLASS2, JoinFragment.INNER_JOIN);
    subQuery.setProjection(Projections.property(BATCH_CLASS2_IDENTIFIER));

    criteria.add(Subqueries.propertyEq(BATCH_CLASS1_IDENTIFIER, subQuery));

    return find(criteria);
}

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

License:Open Source License

/**
 * An API to fetch all Page types by batchClassID.
 * //ww w . j  a  v  a2 s  .  c  om
 * @param batchClassID String
 * @return List<PageType>
 */
@Override
public List<PageType> getPageTypesByBatchClassID(String batchClassID) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(DOC_TYPE, DOC_TYPE, JoinFragment.INNER_JOIN);
    criteria.createAlias(DOC_TYPE_BATCH_CLASS, BATCH_CLASS1, JoinFragment.INNER_JOIN);
    DetachedCriteria subQuery = criteria(BatchClass.class);
    subQuery.add(Restrictions.eq(IDENTIFIER, batchClassID));
    subQuery.setProjection(Projections.property(IDENTIFIER));
    criteria.add(Subqueries.propertyEq(BATCH_CLASS1_IDENTIFIER, subQuery));
    return find(criteria);
}

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   w  w  w  .j  a  v  a 2  s  .  c o 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.ephesoft.dcma.da.dao.hibernate.PageTypeDaoImpl.java

License:Open Source License

/**
 * An API to fetch page type by page type name.
 * //from w  ww. java2  s. c  o m
 * @param name String
 * @param batchInstanceIdentifier String
 * @return List<PageType>
 */
@Override
public List<PageType> getPageTypeByName(String name, String batchInstanceIdentifier) {
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq(NAME, name));
    if (null != batchInstanceIdentifier) {
        criteria.createAlias(DOC_TYPE, DOC_TYPE, JoinFragment.INNER_JOIN);
        criteria.createAlias(DOC_TYPE_BATCH_CLASS, BATCH_CLASS1, JoinFragment.INNER_JOIN);
        DetachedCriteria subQuery = criteria(BatchInstance.class);
        subQuery.add(Restrictions.eq(IDENTIFIER, batchInstanceIdentifier));
        subQuery.createAlias(BATCH_CLASS, BATCH_CLASS2, JoinFragment.INNER_JOIN);
        subQuery.setProjection(Projections.property(BATCH_CLASS2_IDENTIFIER));
        criteria.add(Subqueries.propertyEq(BATCH_CLASS1_IDENTIFIER, subQuery));
    }
    return find(criteria);
}

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

License:Open Source License

/**
 * API to get plugins.//from  w  w  w  .  j  av a 2s . c o m
 * 
 * @param moduleId Long
 * @param startResult int
 * @param maxResult int
 * @return List<Plugin>
 */
@Override
public List<Plugin> getPlugins(Long moduleId, int startResult, int maxResult) {
    DetachedCriteria criteria = criteria(BatchClassPlugin.class);
    criteria.createAlias(BATCH_CLASS_MODULE, BATCH_CLASS_MODULE, JoinFragment.INNER_JOIN);
    criteria.createAlias(BATCH_CLASS_MODULE_MODULE, MODULE, JoinFragment.INNER_JOIN);
    criteria.add(Restrictions.eq(MODULE_ID, moduleId));
    criteria.setProjection(Projections.property(PLUGIN));
    return find(criteria, startResult, maxResult);
}

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

License:Open Source License

/**
 * API to get all plugin names.//from w w w  . jav a  2 s. co m
 * 
 * @return List<String>
 */
@Override
public List<String> getAllPluginsNames() {
    LOG.info("Getting names of all the plugins.");
    DetachedCriteria criteria = criteria();
    criteria.setProjection(Projections.property(PLUGIN_NAME));
    return find(criteria);
}

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

License:Open Source License

@Override
public Set<String> getAllGroups() {
    LOGGER.debug("Fetching all the group names in database");
    Set<String> groupNameSet = null;
    final DetachedCriteria criteria = this.criteria();
    if (null != criteria) {
        criteria.setProjection(Projections.property(GROUP_NAME));
        final List<String> groupNameList = this.find(criteria);
        if (null != groupNameList && !groupNameList.isEmpty()) {
            groupNameSet = new HashSet<String>(groupNameList);
        }//ww w. j ava 2  s.  c  o m
    }
    LOGGER.debug("Group Name set is: ", groupNameSet);
    return groupNameSet;
}

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

License:Open Source License

@Override
public Set<String> getAllSuperAdminGroups() {
    LOGGER.debug("Fetching all super admin groups in database.");
    Set<String> superAdminSet = null;
    final DetachedCriteria criteria = this.criteria();
    if (null != criteria) {
        criteria.setProjection(Projections.property(GROUP_NAME));
        criteria.add(Restrictions.eq(IS_SUPER_ADMIN, true));
        final List<String> superAdminList = this.find(criteria);
        if (null != superAdminList && !superAdminList.isEmpty()) {
            superAdminSet = new HashSet<String>(superAdminList);
        }/* ww w .  j  a  v a 2s  . com*/
    }
    LOGGER.debug("Super Admin Set is: ", superAdminSet);
    return superAdminSet;
}