List of usage examples for org.hibernate.criterion DetachedCriteria createAlias
@Deprecated public DetachedCriteria createAlias(String associationPath, String alias, int joinType)
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); }