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

@Deprecated
public DetachedCriteria createAlias(String associationPath, String alias, int joinType) 

Source Link

Document

Deprecated!

Usage

From source file:com.cimmyt.model.dao.impl.LabStudyDAOImpl.java

License:Apache License

@Override
protected void buildCriteria(DetachedCriteria criteria, LabStudy filter, Integer id) {
    criteria.createAlias("studytemplateid", "tmplate", CriteriaSpecification.LEFT_JOIN)
            .createAlias("status", "st", CriteriaSpecification.LEFT_JOIN)
            .createAlias("project", "proj", CriteriaSpecification.LEFT_JOIN)
            .createAlias("investigatorid", "invest", CriteriaSpecification.LEFT_JOIN);

    if (filter != null && filter.getLabstudyid() != null) {
        criteria.add(Restrictions.eq("labstudyid", filter.getLabstudyid()));
    }//from w  ww  .java2 s .c  o  m

    if (idstRol != null) {
        switch (idstRol) {
        case ConstantsDNA.ROLE_RESEARCHER:
        case ConstantsDNA.ROLE_RESEARCHER_ASSISTENT:
        case ConstantsDNA.ROLE_ASSISTENT:
            if (filter != null && filter.getInvestigatorid() != null) {
                criteria.add(Restrictions.eq("investigatorid.investigatorid", filter.getInvestigatorid()));
            }
            if (id != null) {
                if (id.intValue() > 0)
                    criteria.add(Restrictions.eq("investigatorid.investigatorid", id));
            }
            break;
        }
    } else {
        if (filter != null && filter.getInvestigatorid() != null) {
            criteria.add(Restrictions.eq("investigatorid.investigatorid", filter.getInvestigatorid()));
        }
    }

    if (filter != null && StrUtils.notEmpty(filter.getTitle())) {
        criteria.add(Restrictions.like("title", "%" + filter.getTitle() + "%"));
    }

    if (filter != null && StrUtils.notEmpty(filter.getPrefix())) {
        criteria.add(Restrictions.like("prefix", filter.getPrefix(), MatchMode.ANYWHERE));
    }

    criteria.addOrder(Order.desc("labstudyid"));
}

From source file:com.cimmyt.model.dao.impl.LabStudyDAOImpl.java

License:Apache License

private void addCriteria(DetachedCriteria criteria, List<DsSearchParam> params,
        boolean useSampleDetailFilters) {
    boolean hasAND = false;
    boolean hasOR = false;

    List<DsSearchParam> paramList = new ArrayList<DsSearchParam>(params);

    criteria.createAlias("project", VALUE_PROJECT)
            .createAlias("investigatorid", "investigator", CriteriaSpecification.LEFT_JOIN)
            .createAlias("season", "season", CriteriaSpecification.LEFT_JOIN)
            .createAlias("location", "location", CriteriaSpecification.LEFT_JOIN);

    if (useSampleDetailFilters)
        criteria.createAlias("sampleDetailCollection", VALUE_SAMPLE, CriteriaSpecification.INNER_JOIN);

    //separates 'OR' from other operators, to use in disjunction
    List<DsSearchParam> orParams = new ArrayList<DsSearchParam>();
    for (DsSearchParam p : paramList) {
        if (p.getOperator().equals(TypeCondition.OR)) {
            orParams.add(p);/*from  w  w w.  j a  v  a 2  s  . c om*/
        }
    }
    paramList.removeAll(orParams);

    String qualifiedParam = null;
    Conjunction conjunction = Restrictions.conjunction();

    for (DsSearchParam param : paramList) {
        hasAND = true;

        qualifiedParam = param.getQualifier();
        DataType dataType = OperatorImp.getType(param.getElement(), param.getQualifier());
        Operator condition = OperatorImp.valueOf(param.getCondition());

        addDynamicCriterion(conjunction, condition, dataType, qualifiedParam, param.getValue());
    }

    Disjunction disjunction = Restrictions.disjunction();
    for (DsSearchParam param : orParams) {
        hasOR = true;

        qualifiedParam = param.getQualifier();
        DataType dataType = OperatorImp.getType(param.getElement(), param.getQualifier());
        Operator condition = OperatorImp.valueOf(param.getCondition());

        addDynamicCriterion(disjunction, condition, dataType, qualifiedParam, param.getValue());
    }

    if (hasAND) {
        if (hasOR) {
            criteria.add(Restrictions.or(conjunction, disjunction));
        } else {
            criteria.add(conjunction);
        }
    } else if (hasOR) {
        criteria.add(disjunction);
    }
}

From source file:com.cimmyt.model.dao.impl.SampleDetailDAOImpl.java

License:Apache License

/**
 * add parameters for project, study and sample
 * *///from   w w w. j  a va2 s  . c om
private void addCriteria(DetachedCriteria criteria, List<DsSearchParam> params) {
    boolean hasAND = false;
    boolean hasOR = false;

    List<DsSearchParam> paramList = new ArrayList<DsSearchParam>(params);

    criteria.createAlias("labstudyid", Constants.VALUE_STUDY)
            .createAlias("study.project", Constants.VALUE_PROJECT)
            .createAlias("locationid", "location", CriteriaSpecification.LEFT_JOIN)
            .createAlias("seasonid", "season", CriteriaSpecification.LEFT_JOIN)
            .createAlias("study.investigatorid", "investigator", CriteriaSpecification.LEFT_JOIN);

    //separates 'OR' from other operators, to use in disjunction
    List<DsSearchParam> orParams = new ArrayList<DsSearchParam>();
    for (DsSearchParam p : paramList) {

        if (p.getOperator().equals(TypeCondition.OR)) {
            orParams.add(p);
        }
    }
    paramList.removeAll(orParams);

    String qualifiedParam = null;
    Conjunction conjunction = Restrictions.conjunction();

    for (DsSearchParam param : paramList) {
        hasAND = true;

        qualifiedParam = param.getQualifier();
        DataType dataType = OperatorImp.getType(param.getElement(), param.getQualifier());
        Operator condition = OperatorImp.valueOf(param.getCondition());
        addDynamicCriterion(conjunction, condition, dataType, qualifiedParam, param.getValue());

    }

    Disjunction disjunction = Restrictions.disjunction();
    for (DsSearchParam param : orParams) {
        hasOR = true;

        qualifiedParam = param.getQualifier();
        DataType dataType = OperatorImp.getType(param.getElement(), param.getQualifier());
        Operator condition = OperatorImp.valueOf(param.getCondition());

        addDynamicCriterion(disjunction, condition, dataType, qualifiedParam, param.getValue());

    }

    if (hasAND) {
        if (hasOR) {
            criteria.add(Restrictions.or(conjunction, disjunction));
        } else {
            criteria.add(conjunction);
        }
    } else if (hasOR) {
        criteria.add(disjunction);
    }
}

From source file:com.ephesoft.dcma.da.dao.BatchClassEmailConfigDaoImpl.java

License:Open Source License

/**
 * An api to fetch all Email configurations by batch class id.
 * /* ww w  .  j  a v a 2s.  c o  m*/
 * @param batchClassId String
 * @return List<BatchClassEmailConfiguration>
 */
@Override
public List<BatchClassEmailConfiguration> getEmailConfigByBatchClassIdentifier(
        final String batchClassIdentifier) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS, JoinFragment.INNER_JOIN);
    criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier));
    return find(criteria);
}

From source file:com.ephesoft.dcma.da.dao.BatchClassEmailConfigDaoImpl.java

License:Open Source License

/**
 * An api to fetch all DocumentType by batch class id starting at firstIndex and maxResults is the total number of records.
 * /* w w w .  ja v a2 s. c  o m*/
 * @param batchClassIdentifier String
 * @param firstIndex int
 * @param maxResults int
 * @return List<BatchClassEmailConfiguration>
 */
@Override
public List<BatchClassEmailConfiguration> getEmailConfigByBatchClassIdentifier(
        final String batchClassIdentifier, final int firstIndex, final int maxResults) {
    DetachedCriteria criteria = criteria();
    criteria.createAlias(BATCH_CLASS, BATCH_CLASS, JoinFragment.INNER_JOIN);
    criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier));
    return find(criteria, firstIndex, maxResults);
}

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

License:Open Source License

/**
 * To get Dynamic Plugin Properties for Batch Class.
 * //  w ww . j  a v  a2 s  .  co m
 * @param batchClassIdentifier String
 * @param pluginName String
 * @param pluginProperty PluginProperty
 * @return List<BatchClassDynamicPluginConfig>
 */
@Override
public List<BatchClassDynamicPluginConfig> getDynamicPluginPropertiesForBatchClass(String batchClassIdentifier,
        String pluginName, PluginProperty pluginProperty) {

    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("batchClassPlugin.batchClassModule.batchClass", BATCH_CLASS, JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.plugin", "plugin", JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.batchClassDynamicPluginConfigs", "batchClassDynamicPluginConfigs",
            JoinFragment.INNER_JOIN);
    if (pluginProperty != null) {
        criteria.add(Restrictions.eq("batchClassDynamicPluginConfigs.name", pluginProperty.getPropertyKey()));
    }
    criteria.add(Restrictions.eq("plugin.pluginName", pluginName));
    criteria.add(Restrictions.eq("batchClass.identifier", batchClassIdentifier));
    return 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 class.
 * //from w  ww. java  2 s  . co m
 * @param batchClassIdentifier String
 * @return List<BatchClassDynamicPluginConfig>
 */
@Override
public List<BatchClassDynamicPluginConfig> getAllDynamicPluginPropertiesForBatchClass(
        String batchClassIdentifier) {
    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("batchClassPlugin.batchClassModule.batchClass", BATCH_CLASS, JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.plugin", "plugin", JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.batchClassDynamicPluginConfigs", "batchClassDynamicPluginConfigs",
            JoinFragment.INNER_JOIN);
    criteria.add(Restrictions.eq("batchClass.identifier", batchClassIdentifier));
    return find(criteria);
}

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

License:Open Source License

/**
 * To get Dynamic Plugin Properties for Batch class.
 * /*  w  ww  .  j  a v a  2 s.co m*/
 * @param batchClassIdentifier String
 * @param pluginName String
 * @return List<BatchClassDynamicPluginConfig>
 */
@Override
public List<BatchClassDynamicPluginConfig> getDynamicPluginPropertiesForBatchClass(String batchClassIdentifier,
        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("batchClassPlugin.batchClassModule.batchClass", BATCH_CLASS, JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.plugin", "plugin", JoinFragment.INNER_JOIN);
    criteria.createAlias("batchClassPlugin.batchClassDynamicPluginConfigs", "batchClassDynamicPluginConfigs",
            JoinFragment.INNER_JOIN);
    criteria.add(Restrictions.eq("plugin.pluginName", pluginName));
    criteria.add(Restrictions.eq("batchClass.identifier", batchClassIdentifier));
    return find(criteria);
}

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 a2 s. 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 plugin properties for Batch class.
 * //from   www.jav  a  2  s  .c  o  m
 * @param batchClassIdentifier {@link String}
 * @param pluginName {@link String}
 * @param pluginProperty {@link PluginProperty}
 * @return List<BatchClassPluginConfig> 
 */
@Override
public List<BatchClassPluginConfig> getPluginPropertiesForBatchClass(String batchClassIdentifier,
        String pluginName, PluginProperty pluginProperty) {

    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.createAlias(BATCH_CLASS_PLUGIN_BATCH_CLASS_PLUGIN_CONFIGS, BATCH_CLASS_PLUGIN_CONFIGS,
            JoinFragment.INNER_JOIN);
    if (pluginProperty != null) {
        criteria.add(Restrictions.eq("batchClassPluginConfigs.name", pluginProperty.getPropertyKey()));
    }
    criteria.add(Restrictions.eq(PLUGIN_PLUGIN_NAME, pluginName));
    criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier));
    return find(criteria);
}