Example usage for org.hibernate.criterion DetachedCriteria addOrder

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

Introduction

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

Prototype

public DetachedCriteria addOrder(Order order) 

Source Link

Document

Adds an ordering

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  www . ja v  a  2  s . co  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

/**
 * This API fetches all the batch instances on the basis of batch status list passed.
 * //  w  w  w  . j a  v  a  2 s .  c o m
 * @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.FieldTypeDaoImpl.java

License:Open Source License

/**
 * An API to fetch all Field types by document type name.
 * /* w  ww.  j a  v a 2  s. co  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 fetch all Field types by document type.
 * /*w  w w .  j a  va  2s  .  co  m*/
 * @param documentType DocumentType
 * @return List<FieldType>
 */
@Override
public List<FieldType> getFdTypeByDocumentType(DocumentType documentType) {
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq(DOC_TYPE, documentType));
    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 fetch all Field types by document type name.
 * /*from www  .j  a  v a  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);
}

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  ava2 s .c  om*/
 * @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.FieldTypeDaoImpl.java

License:Open Source License

/**
 * An API to fetch all Field types by document type name for a batch class.
 * //from   w  ww  . j  av a2  s  .  com
 * @param docTypeName String
 * @param batchClassIdentifier String
 * @return List<FieldType>
 */
@Override
public List<FieldType> getFdTypeByDocumentTypeNameForBatchClass(String docTypeName,
        String batchClassIdentifier) {
    LOG.info("batchClassID ID  : " + batchClassIdentifier);
    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.add(Restrictions.eq(BATCH_CLASS1_IDENTIFIER, batchClassIdentifier));
    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./* w w w  . jav a2 s .c  o m*/
 * 
 * @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 batch class id, document type names and Page type names corresponding to each other.
 * /*w w w .j a v  a 2s.  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.mail.dao.hibernate.EmailQueueDaoImpl.java

License:Open Source License

@Override
public List<EmailData> findReadyToSend(final int fetchMaxCount) {
    final DetachedCriteria criteria = criteria();
    criteria.addOrder(Order.asc("creationDate"));
    return find(criteria, -1, fetchMaxCount);
}