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

License:Open Source License

/**
 * API to get all the UNC folders on the basis of excluding the deleted batch class.
 * /*w  w w. j av  a2 s. com*/
 * @param isExcludeDeleted {@link Boolean}
 * @return {@link List}<{@link String}>
 */
@Override
public List<String> getAllUNCList(boolean isExcludeDeleted) {
    DetachedCriteria criteria = criteria();
    if (isExcludeDeleted) {
        criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false)));
    }
    criteria.setProjection(Projections.property(UNC_FOLDER));
    return this.find(criteria);
}

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  2s.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.BatchClassModuleDaoImpl.java

License:Open Source License

/**
 * API to fetch List of modules corresponding to a batch class.
 * //from  w  ww.java  2s .  com
 * @param batchClassId
 * @return List<Module>
 */
@Override
public List<Module> getBatchClassModule(String batchClassIdentifier) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
    criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier));
    criteria.setProjection(Projections.property(MODULE));
    return find(criteria);
}

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

License:Open Source License

/**
 * API to fetch Modules starting from firstIndex and as many results as MaxResults from a batch class.
 * /*from   w w w  . ja  v a  2s .c  o m*/
 * @param batchClassId
 * @param firstIndex
 * @param maxResults
 * @return List<Module>
 */
@Override
public List<Module> getModules(String batchClassIdentifier, int firstIndex, int maxResults) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS);
    criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier));
    criteria.setProjection(Projections.property(MODULE));
    criteria.addOrder(Order.asc("orderNumber"));
    return find(criteria, firstIndex, maxResults);
}

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

License:Open Source License

/**
 * API to get plugin properties for Batch.
 * // w  w  w  . j a  v  a 2s .  c o m
 * @param batchInstanceIdentifier {@link String}
 * @param pluginName {@link String}
 * @return List<BatchClassPluginConfig> 
 */
@Override
public List<BatchClassPluginConfig> getPluginPropertiesForBatch(String batchInstanceIdentifier,
        String pluginName) {

    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS_PLUGIN, BATCH_CLASS_PLUGIN, JoinFragment.INNER_JOIN);
    criteria.createAlias(BATCH_CLASS_PLUGIN_BATCH_CLASS_MODULE, BATCH_CLASS_MODULE, JoinFragment.INNER_JOIN);
    criteria.createAlias(BATCH_CLASS_PLUGIN_BATCH_CLASS_MODULE_BATCH_CLASS, BATCH_CLASS,
            JoinFragment.INNER_JOIN);
    criteria.createAlias(BATCH_CLASS_PLUGIN_PLUGIN, PLUGIN, JoinFragment.INNER_JOIN);
    criteria.add(Restrictions.eq(PLUGIN_PLUGIN_NAME, pluginName));
    DetachedCriteria subQuery = criteria(BatchInstance.class);
    subQuery.add(Restrictions.eq("identifier", batchInstanceIdentifier));
    subQuery.createAlias(BATCH_CLASS, "batchClass1", JoinFragment.INNER_JOIN);
    subQuery.setProjection(Projections.property("batchClass1.identifier"));
    criteria.add(Subqueries.propertyEq(BATCH_CLASS_IDENTIFIER, subQuery));
    return find(criteria);

}

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

License:Open Source License

/**
 * API to get all plugin properties for Batch instance.
 * /*  w  w w .j a  va  2 s  .c o  m*/
 * @param batchInstanceIdentifier {@link String}
 * @return List<BatchClassPluginConfig> 
 */
@Override
public List<BatchClassPluginConfig> getAllPluginPropertiesForBatchInstance(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.DocumentTypeDaoImpl.java

License:Open Source License

/**
 * An API to fetch all DocumentType by batch instance id.
 * //from ww  w . jav a  2  s.c o  m
 * @param batchInstanceIdentifier String
 * @return List<DocumentType>
 */
@Override
public List<DocumentType> getDocTypeByBatchInstanceIdentifier(String batchInstanceIdentifier) {
    LOG.info("batchInstanceID : " + batchInstanceIdentifier);
    DetachedCriteria criteria = criteria();
    DetachedCriteria subQuery = criteria(BatchInstance.class);
    subQuery.add(Restrictions.eq(DataAccessConstant.IDENTIFIER, batchInstanceIdentifier));
    subQuery.setProjection(Projections.property(DataAccessConstant.BATCH_CLASS_ID));
    criteria.add(Subqueries.propertyIn(DataAccessConstant.BATCH_CLASS_ID, subQuery));
    return find(criteria);
}

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  w w  . j av  a  2s . c  o  m*/
 * @param docTypeName String
 * @param batchInstanceIdentifierIdentifier String
 * @return List<FieldType>
 */
@Override
public List<FieldType> getFdTypeByDocTypeNameForBatchInstance(String docTypeName,
        String batchInstanceIdentifier) {

    LOG.info("batchInstanceID  : " + 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);
    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.FieldTypeDaoImpl.java

License:Open Source License

/**
 * An API to get field type for a batch for a particular document.
 *  //ww w  . ja v  a2s.com
 * @param fieldTypeName String
 * @param docTypeName String
 * @param batchInstanceIdentifier String
 * @return FieldType
 */
@Override
public FieldType getFieldType(String fieldTypeName, String docTypeName, String batchInstanceIdentifier) {

    LOG.info("batchInstanceID  : " + batchInstanceIdentifier);
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq(NAME, fieldTypeName));
    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);
    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 findSingle(criteria);

}

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.
 * // ww w. java  2 s .  c  o m
 * @param docTypeName String
 * @param batchInstanceIdentifier String
 * @param isKVExtraction boolean
 * @return List<FieldType>
 */
@Override
public List<FieldType> getFdTypeByDocumentTypeName(String docTypeName, String batchInstanceIdentifier,
        boolean isKVExtraction) {
    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);

    if (isKVExtraction) {
        criteria.setFetchMode("kvExtraction", 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);
}