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

License:Open Source License

/**
 * API to get the module configuration by key and mandatory.
 * //from w w w . jav a  2  s  .c  o m
 * @param moduleConfigKey String
 * @param isMandatory boolean
 * @return ModuleConfig
 */
@Override
public ModuleConfig getModuleConfigByKeyAndMandatory(String moduleConfigKey, boolean isMandatory) {
    LOGGER.debug(moduleConfigKey);
    LOGGER.debug(String.valueOf(isMandatory));
    DetachedCriteria criteria = criteria();
    if (moduleConfigKey != null) {
        criteria.add(Restrictions.eq(CHILD_KEY, moduleConfigKey));
    } else {
        criteria.add(Restrictions.isNull(CHILD_KEY));
    }
    criteria.add(Restrictions.eq(IS_MANDATORY, isMandatory));
    return this.findSingle(criteria);
}

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

License:Open Source License

/**
 * API to get Module by name./*from   w w w  . ja v  a  2 s .c o m*/
 * 
 * @param moduleName name of the module
 * @return Module
 */
@Override
public Module getModuleByName(String moduleName) {
    LOGGER.debug(moduleName);
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq(MODULE_NAME, moduleName));
    return this.findSingle(criteria);
}

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

License:Open Source License

/**
 * API to get Module by Id./*from  ww  w.  j av  a 2  s. c om*/
 * 
 * @param moduleId id of the module
 */
@Override
public Module getModulePropertiesForModuleId(Long moduleId) {
    LOGGER.debug("moduleId : " + moduleId);
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq(ID_STRING, moduleId));
    return this.findSingle(criteria);
}

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

License:Open Source License

/**
 * API to fetch Module Plugin for Module Id.
 * //from   w  ww .j  ava 2s .  com
 * @param moduleId String
 * @return List<ModulePlugin> 
 */
public List<ModulePlugin> getModulePluginForModuleId(String moduleId) {
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq("module_id", moduleId));
    return this.findSingle(criteria);
}

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

License:Open Source License

/**
 * An API to fetch all page types by document type.
 * /*from  ww w .  j  ava2s .  c o  m*/
 * @param documentType DocumentType
 * @return List<PageType>
 */
@Override
public List<PageType> getPageTypesByDocumentType(DocumentType documentType) {
    LOGGER.info(DOCUMENT_TYPE + documentType);
    DetachedCriteria criteria = criteria();
    criteria.add(Restrictions.eq(DOC_TYPE, documentType));
    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.
 * /*from   w w w .j  a va2 s. co  m*/
 * @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.
 * //  w ww . ja  va 2  s.  com
 * @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.
 * //w  ww  .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.
 * //  www. j a  v  a  2s.  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.PageTypeDaoImpl.java

License:Open Source License

/**
 * An API to fetch all Page types by document type name.
 * //ww  w .j a v a 2  s  . com
 * @param docTypeName String
 * @return List<PageType>
 */
@Override
public List<PageType> getPageTypeByDocTypeName(String docTypeName) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(DOC_TYPE, DOC_TYPE, JoinFragment.INNER_JOIN);
    criteria.add(Restrictions.eq(DOC_TYPE_NAME, docTypeName));
    return find(criteria);
}